We recommend using Azure Native.
azure.containerservice.KubernetesCluster
Explore with Pulumi AI
Manages a Managed Kubernetes Cluster (also known as AKS / Azure Kubernetes Service)
Note: Due to the fast-moving nature of AKS, we recommend using the latest version of the Azure Provider when using AKS.
Example Usage
This example provisions a basic Managed Kubernetes Cluster.
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",
    },
    identity: {
        type: "SystemAssigned",
    },
    tags: {
        Environment: "Production",
    },
});
export const clientCertificate = exampleKubernetesCluster.kubeConfigs.apply(kubeConfigs => kubeConfigs[0].clientCertificate);
export const kubeConfig = exampleKubernetesCluster.kubeConfigRaw;
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",
    },
    identity={
        "type": "SystemAssigned",
    },
    tags={
        "Environment": "Production",
    })
pulumi.export("clientCertificate", example_kubernetes_cluster.kube_configs[0].client_certificate)
pulumi.export("kubeConfig", example_kubernetes_cluster.kube_config_raw)
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"),
			},
			Identity: &containerservice.KubernetesClusterIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		ctx.Export("clientCertificate", exampleKubernetesCluster.KubeConfigs.ApplyT(func(kubeConfigs []containerservice.KubernetesClusterKubeConfig) (*string, error) {
			return &kubeConfigs[0].ClientCertificate, nil
		}).(pulumi.StringPtrOutput))
		ctx.Export("kubeConfig", exampleKubernetesCluster.KubeConfigRaw)
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example-resources",
        Location = "West Europe",
    });
    var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new()
    {
        Name = "example-aks1",
        Location = example.Location,
        ResourceGroupName = example.Name,
        DnsPrefix = "exampleaks1",
        DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs
        {
            Name = "default",
            NodeCount = 1,
            VmSize = "Standard_D2_v2",
        },
        Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs
        {
            Type = "SystemAssigned",
        },
        Tags = 
        {
            { "Environment", "Production" },
        },
    });
    return new Dictionary<string, object?>
    {
        ["clientCertificate"] = exampleKubernetesCluster.KubeConfigs.Apply(kubeConfigs => kubeConfigs[0].ClientCertificate),
        ["kubeConfig"] = exampleKubernetesCluster.KubeConfigRaw,
    };
});
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.KubernetesClusterIdentityArgs;
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())
            .identity(KubernetesClusterIdentityArgs.builder()
                .type("SystemAssigned")
                .build())
            .tags(Map.of("Environment", "Production"))
            .build());
        ctx.export("clientCertificate", exampleKubernetesCluster.kubeConfigs().applyValue(kubeConfigs -> kubeConfigs[0].clientCertificate()));
        ctx.export("kubeConfig", exampleKubernetesCluster.kubeConfigRaw());
    }
}
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
      identity:
        type: SystemAssigned
      tags:
        Environment: Production
outputs:
  clientCertificate: ${exampleKubernetesCluster.kubeConfigs[0].clientCertificate}
  kubeConfig: ${exampleKubernetesCluster.kubeConfigRaw}
Create KubernetesCluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new KubernetesCluster(name: string, args: KubernetesClusterArgs, opts?: CustomResourceOptions);@overload
def KubernetesCluster(resource_name: str,
                      args: KubernetesClusterArgs,
                      opts: Optional[ResourceOptions] = None)
@overload
def KubernetesCluster(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      default_node_pool: Optional[KubernetesClusterDefaultNodePoolArgs] = None,
                      resource_group_name: Optional[str] = None,
                      aci_connector_linux: Optional[KubernetesClusterAciConnectorLinuxArgs] = None,
                      api_server_access_profile: Optional[KubernetesClusterApiServerAccessProfileArgs] = None,
                      auto_scaler_profile: Optional[KubernetesClusterAutoScalerProfileArgs] = None,
                      automatic_upgrade_channel: Optional[str] = None,
                      azure_active_directory_role_based_access_control: Optional[KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs] = None,
                      azure_policy_enabled: Optional[bool] = None,
                      confidential_computing: Optional[KubernetesClusterConfidentialComputingArgs] = None,
                      cost_analysis_enabled: Optional[bool] = None,
                      disk_encryption_set_id: Optional[str] = None,
                      dns_prefix: Optional[str] = None,
                      dns_prefix_private_cluster: Optional[str] = None,
                      edge_zone: Optional[str] = None,
                      http_application_routing_enabled: Optional[bool] = None,
                      http_proxy_config: Optional[KubernetesClusterHttpProxyConfigArgs] = None,
                      identity: Optional[KubernetesClusterIdentityArgs] = None,
                      image_cleaner_enabled: Optional[bool] = None,
                      image_cleaner_interval_hours: Optional[int] = None,
                      ingress_application_gateway: Optional[KubernetesClusterIngressApplicationGatewayArgs] = None,
                      key_management_service: Optional[KubernetesClusterKeyManagementServiceArgs] = None,
                      key_vault_secrets_provider: Optional[KubernetesClusterKeyVaultSecretsProviderArgs] = None,
                      kubelet_identity: Optional[KubernetesClusterKubeletIdentityArgs] = None,
                      kubernetes_version: Optional[str] = None,
                      linux_profile: Optional[KubernetesClusterLinuxProfileArgs] = None,
                      local_account_disabled: Optional[bool] = None,
                      location: Optional[str] = None,
                      maintenance_window: Optional[KubernetesClusterMaintenanceWindowArgs] = None,
                      maintenance_window_auto_upgrade: Optional[KubernetesClusterMaintenanceWindowAutoUpgradeArgs] = None,
                      maintenance_window_node_os: Optional[KubernetesClusterMaintenanceWindowNodeOsArgs] = None,
                      microsoft_defender: Optional[KubernetesClusterMicrosoftDefenderArgs] = None,
                      monitor_metrics: Optional[KubernetesClusterMonitorMetricsArgs] = None,
                      name: Optional[str] = None,
                      network_profile: Optional[KubernetesClusterNetworkProfileArgs] = None,
                      node_os_upgrade_channel: Optional[str] = None,
                      node_resource_group: Optional[str] = None,
                      oidc_issuer_enabled: Optional[bool] = None,
                      oms_agent: Optional[KubernetesClusterOmsAgentArgs] = None,
                      open_service_mesh_enabled: Optional[bool] = None,
                      private_cluster_enabled: Optional[bool] = None,
                      private_cluster_public_fqdn_enabled: Optional[bool] = None,
                      private_dns_zone_id: Optional[str] = None,
                      role_based_access_control_enabled: Optional[bool] = None,
                      run_command_enabled: Optional[bool] = None,
                      service_mesh_profile: Optional[KubernetesClusterServiceMeshProfileArgs] = None,
                      service_principal: Optional[KubernetesClusterServicePrincipalArgs] = None,
                      sku_tier: Optional[str] = None,
                      storage_profile: Optional[KubernetesClusterStorageProfileArgs] = None,
                      support_plan: Optional[str] = None,
                      tags: Optional[Mapping[str, str]] = None,
                      upgrade_override: Optional[KubernetesClusterUpgradeOverrideArgs] = None,
                      web_app_routing: Optional[KubernetesClusterWebAppRoutingArgs] = None,
                      windows_profile: Optional[KubernetesClusterWindowsProfileArgs] = None,
                      workload_autoscaler_profile: Optional[KubernetesClusterWorkloadAutoscalerProfileArgs] = None,
                      workload_identity_enabled: Optional[bool] = None)func NewKubernetesCluster(ctx *Context, name string, args KubernetesClusterArgs, opts ...ResourceOption) (*KubernetesCluster, error)public KubernetesCluster(string name, KubernetesClusterArgs args, CustomResourceOptions? opts = null)
public KubernetesCluster(String name, KubernetesClusterArgs args)
public KubernetesCluster(String name, KubernetesClusterArgs args, CustomResourceOptions options)
type: azure:containerservice:KubernetesCluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args KubernetesClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args KubernetesClusterArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args KubernetesClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args KubernetesClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args KubernetesClusterArgs
- 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 kubernetesClusterResource = new Azure.ContainerService.KubernetesCluster("kubernetesClusterResource", new()
{
    DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs
    {
        Name = "string",
        VmSize = "string",
        OnlyCriticalAddonsEnabled = false,
        MaxCount = 0,
        HostEncryptionEnabled = false,
        HostGroupId = "string",
        AutoScalingEnabled = false,
        KubeletDiskType = "string",
        LinuxOsConfig = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolLinuxOsConfigArgs
        {
            SwapFileSizeMb = 0,
            SysctlConfig = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigArgs
            {
                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",
        },
        OrchestratorVersion = "string",
        MaxPods = 0,
        OsDiskSizeGb = 0,
        FipsEnabled = false,
        NodeCount = 0,
        NodeLabels = 
        {
            { "string", "string" },
        },
        NodeNetworkProfile = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolNodeNetworkProfileArgs
        {
            AllowedHostPorts = new[]
            {
                new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPortArgs
                {
                    PortEnd = 0,
                    PortStart = 0,
                    Protocol = "string",
                },
            },
            ApplicationSecurityGroupIds = new[]
            {
                "string",
            },
            NodePublicIpTags = 
            {
                { "string", "string" },
            },
        },
        NodePublicIpEnabled = false,
        NodePublicIpPrefixId = "string",
        KubeletConfig = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolKubeletConfigArgs
        {
            AllowedUnsafeSysctls = new[]
            {
                "string",
            },
            ContainerLogMaxLine = 0,
            ContainerLogMaxSizeMb = 0,
            CpuCfsQuotaEnabled = false,
            CpuCfsQuotaPeriod = "string",
            CpuManagerPolicy = "string",
            ImageGcHighThreshold = 0,
            ImageGcLowThreshold = 0,
            PodMaxPid = 0,
            TopologyManagerPolicy = "string",
        },
        GpuInstance = "string",
        MinCount = 0,
        OsDiskType = "string",
        OsSku = "string",
        PodSubnetId = "string",
        ProximityPlacementGroupId = "string",
        ScaleDownMode = "string",
        SnapshotId = "string",
        Tags = 
        {
            { "string", "string" },
        },
        TemporaryNameForRotation = "string",
        Type = "string",
        UltraSsdEnabled = false,
        UpgradeSettings = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs
        {
            MaxSurge = "string",
            DrainTimeoutInMinutes = 0,
            NodeSoakDurationInMinutes = 0,
        },
        CapacityReservationGroupId = "string",
        VnetSubnetId = "string",
        WorkloadRuntime = "string",
        Zones = new[]
        {
            "string",
        },
    },
    ResourceGroupName = "string",
    AciConnectorLinux = new Azure.ContainerService.Inputs.KubernetesClusterAciConnectorLinuxArgs
    {
        SubnetName = "string",
        ConnectorIdentities = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterAciConnectorLinuxConnectorIdentityArgs
            {
                ClientId = "string",
                ObjectId = "string",
                UserAssignedIdentityId = "string",
            },
        },
    },
    ApiServerAccessProfile = new Azure.ContainerService.Inputs.KubernetesClusterApiServerAccessProfileArgs
    {
        AuthorizedIpRanges = new[]
        {
            "string",
        },
    },
    AutoScalerProfile = new Azure.ContainerService.Inputs.KubernetesClusterAutoScalerProfileArgs
    {
        BalanceSimilarNodeGroups = false,
        DaemonsetEvictionForEmptyNodesEnabled = false,
        DaemonsetEvictionForOccupiedNodesEnabled = false,
        EmptyBulkDeleteMax = "string",
        Expander = "string",
        IgnoreDaemonsetsUtilizationEnabled = false,
        MaxGracefulTerminationSec = "string",
        MaxNodeProvisioningTime = "string",
        MaxUnreadyNodes = 0,
        MaxUnreadyPercentage = 0,
        NewPodScaleUpDelay = "string",
        ScaleDownDelayAfterAdd = "string",
        ScaleDownDelayAfterDelete = "string",
        ScaleDownDelayAfterFailure = "string",
        ScaleDownUnneeded = "string",
        ScaleDownUnready = "string",
        ScaleDownUtilizationThreshold = "string",
        ScanInterval = "string",
        SkipNodesWithLocalStorage = false,
        SkipNodesWithSystemPods = false,
    },
    AutomaticUpgradeChannel = "string",
    AzureActiveDirectoryRoleBasedAccessControl = new Azure.ContainerService.Inputs.KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs
    {
        AdminGroupObjectIds = new[]
        {
            "string",
        },
        AzureRbacEnabled = false,
        TenantId = "string",
    },
    AzurePolicyEnabled = false,
    ConfidentialComputing = new Azure.ContainerService.Inputs.KubernetesClusterConfidentialComputingArgs
    {
        SgxQuoteHelperEnabled = false,
    },
    CostAnalysisEnabled = false,
    DiskEncryptionSetId = "string",
    DnsPrefix = "string",
    DnsPrefixPrivateCluster = "string",
    EdgeZone = "string",
    HttpApplicationRoutingEnabled = false,
    HttpProxyConfig = new Azure.ContainerService.Inputs.KubernetesClusterHttpProxyConfigArgs
    {
        HttpProxy = "string",
        HttpsProxy = "string",
        NoProxies = new[]
        {
            "string",
        },
        TrustedCa = "string",
    },
    Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs
    {
        Type = "string",
        IdentityIds = new[]
        {
            "string",
        },
        PrincipalId = "string",
        TenantId = "string",
    },
    ImageCleanerEnabled = false,
    ImageCleanerIntervalHours = 0,
    IngressApplicationGateway = new Azure.ContainerService.Inputs.KubernetesClusterIngressApplicationGatewayArgs
    {
        EffectiveGatewayId = "string",
        GatewayId = "string",
        GatewayName = "string",
        IngressApplicationGatewayIdentities = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityArgs
            {
                ClientId = "string",
                ObjectId = "string",
                UserAssignedIdentityId = "string",
            },
        },
        SubnetCidr = "string",
        SubnetId = "string",
    },
    KeyManagementService = new Azure.ContainerService.Inputs.KubernetesClusterKeyManagementServiceArgs
    {
        KeyVaultKeyId = "string",
        KeyVaultNetworkAccess = "string",
    },
    KeyVaultSecretsProvider = new Azure.ContainerService.Inputs.KubernetesClusterKeyVaultSecretsProviderArgs
    {
        SecretIdentities = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterKeyVaultSecretsProviderSecretIdentityArgs
            {
                ClientId = "string",
                ObjectId = "string",
                UserAssignedIdentityId = "string",
            },
        },
        SecretRotationEnabled = false,
        SecretRotationInterval = "string",
    },
    KubeletIdentity = new Azure.ContainerService.Inputs.KubernetesClusterKubeletIdentityArgs
    {
        ClientId = "string",
        ObjectId = "string",
        UserAssignedIdentityId = "string",
    },
    KubernetesVersion = "string",
    LinuxProfile = new Azure.ContainerService.Inputs.KubernetesClusterLinuxProfileArgs
    {
        AdminUsername = "string",
        SshKey = new Azure.ContainerService.Inputs.KubernetesClusterLinuxProfileSshKeyArgs
        {
            KeyData = "string",
        },
    },
    LocalAccountDisabled = false,
    Location = "string",
    MaintenanceWindow = new Azure.ContainerService.Inputs.KubernetesClusterMaintenanceWindowArgs
    {
        Alloweds = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterMaintenanceWindowAllowedArgs
            {
                Day = "string",
                Hours = new[]
                {
                    0,
                },
            },
        },
        NotAlloweds = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterMaintenanceWindowNotAllowedArgs
            {
                End = "string",
                Start = "string",
            },
        },
    },
    MaintenanceWindowAutoUpgrade = new Azure.ContainerService.Inputs.KubernetesClusterMaintenanceWindowAutoUpgradeArgs
    {
        Duration = 0,
        Frequency = "string",
        Interval = 0,
        DayOfMonth = 0,
        DayOfWeek = "string",
        NotAlloweds = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowedArgs
            {
                End = "string",
                Start = "string",
            },
        },
        StartDate = "string",
        StartTime = "string",
        UtcOffset = "string",
        WeekIndex = "string",
    },
    MaintenanceWindowNodeOs = new Azure.ContainerService.Inputs.KubernetesClusterMaintenanceWindowNodeOsArgs
    {
        Duration = 0,
        Frequency = "string",
        Interval = 0,
        DayOfMonth = 0,
        DayOfWeek = "string",
        NotAlloweds = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterMaintenanceWindowNodeOsNotAllowedArgs
            {
                End = "string",
                Start = "string",
            },
        },
        StartDate = "string",
        StartTime = "string",
        UtcOffset = "string",
        WeekIndex = "string",
    },
    MicrosoftDefender = new Azure.ContainerService.Inputs.KubernetesClusterMicrosoftDefenderArgs
    {
        LogAnalyticsWorkspaceId = "string",
    },
    MonitorMetrics = new Azure.ContainerService.Inputs.KubernetesClusterMonitorMetricsArgs
    {
        AnnotationsAllowed = "string",
        LabelsAllowed = "string",
    },
    Name = "string",
    NetworkProfile = new Azure.ContainerService.Inputs.KubernetesClusterNetworkProfileArgs
    {
        NetworkPlugin = "string",
        NetworkMode = "string",
        NetworkPluginMode = "string",
        LoadBalancerSku = "string",
        NatGatewayProfile = new Azure.ContainerService.Inputs.KubernetesClusterNetworkProfileNatGatewayProfileArgs
        {
            EffectiveOutboundIps = new[]
            {
                "string",
            },
            IdleTimeoutInMinutes = 0,
            ManagedOutboundIpCount = 0,
        },
        NetworkDataPlane = "string",
        DnsServiceIp = "string",
        IpVersions = new[]
        {
            "string",
        },
        LoadBalancerProfile = new Azure.ContainerService.Inputs.KubernetesClusterNetworkProfileLoadBalancerProfileArgs
        {
            BackendPoolType = "string",
            EffectiveOutboundIps = new[]
            {
                "string",
            },
            IdleTimeoutInMinutes = 0,
            ManagedOutboundIpCount = 0,
            ManagedOutboundIpv6Count = 0,
            OutboundIpAddressIds = new[]
            {
                "string",
            },
            OutboundIpPrefixIds = new[]
            {
                "string",
            },
            OutboundPortsAllocated = 0,
        },
        NetworkPolicy = "string",
        OutboundType = "string",
        PodCidr = "string",
        PodCidrs = new[]
        {
            "string",
        },
        ServiceCidr = "string",
        ServiceCidrs = new[]
        {
            "string",
        },
    },
    NodeOsUpgradeChannel = "string",
    NodeResourceGroup = "string",
    OidcIssuerEnabled = false,
    OmsAgent = new Azure.ContainerService.Inputs.KubernetesClusterOmsAgentArgs
    {
        LogAnalyticsWorkspaceId = "string",
        MsiAuthForMonitoringEnabled = false,
        OmsAgentIdentities = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterOmsAgentOmsAgentIdentityArgs
            {
                ClientId = "string",
                ObjectId = "string",
                UserAssignedIdentityId = "string",
            },
        },
    },
    OpenServiceMeshEnabled = false,
    PrivateClusterEnabled = false,
    PrivateClusterPublicFqdnEnabled = false,
    PrivateDnsZoneId = "string",
    RoleBasedAccessControlEnabled = false,
    RunCommandEnabled = false,
    ServiceMeshProfile = new Azure.ContainerService.Inputs.KubernetesClusterServiceMeshProfileArgs
    {
        Mode = "string",
        Revisions = new[]
        {
            "string",
        },
        CertificateAuthority = new Azure.ContainerService.Inputs.KubernetesClusterServiceMeshProfileCertificateAuthorityArgs
        {
            CertChainObjectName = "string",
            CertObjectName = "string",
            KeyObjectName = "string",
            KeyVaultId = "string",
            RootCertObjectName = "string",
        },
        ExternalIngressGatewayEnabled = false,
        InternalIngressGatewayEnabled = false,
    },
    ServicePrincipal = new Azure.ContainerService.Inputs.KubernetesClusterServicePrincipalArgs
    {
        ClientId = "string",
        ClientSecret = "string",
    },
    SkuTier = "string",
    StorageProfile = new Azure.ContainerService.Inputs.KubernetesClusterStorageProfileArgs
    {
        BlobDriverEnabled = false,
        DiskDriverEnabled = false,
        FileDriverEnabled = false,
        SnapshotControllerEnabled = false,
    },
    SupportPlan = "string",
    Tags = 
    {
        { "string", "string" },
    },
    UpgradeOverride = new Azure.ContainerService.Inputs.KubernetesClusterUpgradeOverrideArgs
    {
        ForceUpgradeEnabled = false,
        EffectiveUntil = "string",
    },
    WebAppRouting = new Azure.ContainerService.Inputs.KubernetesClusterWebAppRoutingArgs
    {
        DnsZoneIds = new[]
        {
            "string",
        },
        WebAppRoutingIdentities = new[]
        {
            new Azure.ContainerService.Inputs.KubernetesClusterWebAppRoutingWebAppRoutingIdentityArgs
            {
                ClientId = "string",
                ObjectId = "string",
                UserAssignedIdentityId = "string",
            },
        },
    },
    WindowsProfile = new Azure.ContainerService.Inputs.KubernetesClusterWindowsProfileArgs
    {
        AdminPassword = "string",
        AdminUsername = "string",
        Gmsa = new Azure.ContainerService.Inputs.KubernetesClusterWindowsProfileGmsaArgs
        {
            DnsServer = "string",
            RootDomain = "string",
        },
        License = "string",
    },
    WorkloadAutoscalerProfile = new Azure.ContainerService.Inputs.KubernetesClusterWorkloadAutoscalerProfileArgs
    {
        KedaEnabled = false,
        VerticalPodAutoscalerEnabled = false,
    },
    WorkloadIdentityEnabled = false,
});
example, err := containerservice.NewKubernetesCluster(ctx, "kubernetesClusterResource", &containerservice.KubernetesClusterArgs{
	DefaultNodePool: &containerservice.KubernetesClusterDefaultNodePoolArgs{
		Name:                      pulumi.String("string"),
		VmSize:                    pulumi.String("string"),
		OnlyCriticalAddonsEnabled: pulumi.Bool(false),
		MaxCount:                  pulumi.Int(0),
		HostEncryptionEnabled:     pulumi.Bool(false),
		HostGroupId:               pulumi.String("string"),
		AutoScalingEnabled:        pulumi.Bool(false),
		KubeletDiskType:           pulumi.String("string"),
		LinuxOsConfig: &containerservice.KubernetesClusterDefaultNodePoolLinuxOsConfigArgs{
			SwapFileSizeMb: pulumi.Int(0),
			SysctlConfig: &containerservice.KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigArgs{
				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"),
		},
		OrchestratorVersion: pulumi.String("string"),
		MaxPods:             pulumi.Int(0),
		OsDiskSizeGb:        pulumi.Int(0),
		FipsEnabled:         pulumi.Bool(false),
		NodeCount:           pulumi.Int(0),
		NodeLabels: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		NodeNetworkProfile: &containerservice.KubernetesClusterDefaultNodePoolNodeNetworkProfileArgs{
			AllowedHostPorts: containerservice.KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPortArray{
				&containerservice.KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPortArgs{
					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),
		NodePublicIpPrefixId: pulumi.String("string"),
		KubeletConfig: &containerservice.KubernetesClusterDefaultNodePoolKubeletConfigArgs{
			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"),
		},
		GpuInstance:               pulumi.String("string"),
		MinCount:                  pulumi.Int(0),
		OsDiskType:                pulumi.String("string"),
		OsSku:                     pulumi.String("string"),
		PodSubnetId:               pulumi.String("string"),
		ProximityPlacementGroupId: pulumi.String("string"),
		ScaleDownMode:             pulumi.String("string"),
		SnapshotId:                pulumi.String("string"),
		Tags: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		TemporaryNameForRotation: pulumi.String("string"),
		Type:                     pulumi.String("string"),
		UltraSsdEnabled:          pulumi.Bool(false),
		UpgradeSettings: &containerservice.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs{
			MaxSurge:                  pulumi.String("string"),
			DrainTimeoutInMinutes:     pulumi.Int(0),
			NodeSoakDurationInMinutes: pulumi.Int(0),
		},
		CapacityReservationGroupId: pulumi.String("string"),
		VnetSubnetId:               pulumi.String("string"),
		WorkloadRuntime:            pulumi.String("string"),
		Zones: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	ResourceGroupName: pulumi.String("string"),
	AciConnectorLinux: &containerservice.KubernetesClusterAciConnectorLinuxArgs{
		SubnetName: pulumi.String("string"),
		ConnectorIdentities: containerservice.KubernetesClusterAciConnectorLinuxConnectorIdentityArray{
			&containerservice.KubernetesClusterAciConnectorLinuxConnectorIdentityArgs{
				ClientId:               pulumi.String("string"),
				ObjectId:               pulumi.String("string"),
				UserAssignedIdentityId: pulumi.String("string"),
			},
		},
	},
	ApiServerAccessProfile: &containerservice.KubernetesClusterApiServerAccessProfileArgs{
		AuthorizedIpRanges: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	AutoScalerProfile: &containerservice.KubernetesClusterAutoScalerProfileArgs{
		BalanceSimilarNodeGroups:                 pulumi.Bool(false),
		DaemonsetEvictionForEmptyNodesEnabled:    pulumi.Bool(false),
		DaemonsetEvictionForOccupiedNodesEnabled: pulumi.Bool(false),
		EmptyBulkDeleteMax:                       pulumi.String("string"),
		Expander:                                 pulumi.String("string"),
		IgnoreDaemonsetsUtilizationEnabled:       pulumi.Bool(false),
		MaxGracefulTerminationSec:                pulumi.String("string"),
		MaxNodeProvisioningTime:                  pulumi.String("string"),
		MaxUnreadyNodes:                          pulumi.Int(0),
		MaxUnreadyPercentage:                     pulumi.Float64(0),
		NewPodScaleUpDelay:                       pulumi.String("string"),
		ScaleDownDelayAfterAdd:                   pulumi.String("string"),
		ScaleDownDelayAfterDelete:                pulumi.String("string"),
		ScaleDownDelayAfterFailure:               pulumi.String("string"),
		ScaleDownUnneeded:                        pulumi.String("string"),
		ScaleDownUnready:                         pulumi.String("string"),
		ScaleDownUtilizationThreshold:            pulumi.String("string"),
		ScanInterval:                             pulumi.String("string"),
		SkipNodesWithLocalStorage:                pulumi.Bool(false),
		SkipNodesWithSystemPods:                  pulumi.Bool(false),
	},
	AutomaticUpgradeChannel: pulumi.String("string"),
	AzureActiveDirectoryRoleBasedAccessControl: &containerservice.KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs{
		AdminGroupObjectIds: pulumi.StringArray{
			pulumi.String("string"),
		},
		AzureRbacEnabled: pulumi.Bool(false),
		TenantId:         pulumi.String("string"),
	},
	AzurePolicyEnabled: pulumi.Bool(false),
	ConfidentialComputing: &containerservice.KubernetesClusterConfidentialComputingArgs{
		SgxQuoteHelperEnabled: pulumi.Bool(false),
	},
	CostAnalysisEnabled:           pulumi.Bool(false),
	DiskEncryptionSetId:           pulumi.String("string"),
	DnsPrefix:                     pulumi.String("string"),
	DnsPrefixPrivateCluster:       pulumi.String("string"),
	EdgeZone:                      pulumi.String("string"),
	HttpApplicationRoutingEnabled: pulumi.Bool(false),
	HttpProxyConfig: &containerservice.KubernetesClusterHttpProxyConfigArgs{
		HttpProxy:  pulumi.String("string"),
		HttpsProxy: pulumi.String("string"),
		NoProxies: pulumi.StringArray{
			pulumi.String("string"),
		},
		TrustedCa: pulumi.String("string"),
	},
	Identity: &containerservice.KubernetesClusterIdentityArgs{
		Type: pulumi.String("string"),
		IdentityIds: pulumi.StringArray{
			pulumi.String("string"),
		},
		PrincipalId: pulumi.String("string"),
		TenantId:    pulumi.String("string"),
	},
	ImageCleanerEnabled:       pulumi.Bool(false),
	ImageCleanerIntervalHours: pulumi.Int(0),
	IngressApplicationGateway: &containerservice.KubernetesClusterIngressApplicationGatewayArgs{
		EffectiveGatewayId: pulumi.String("string"),
		GatewayId:          pulumi.String("string"),
		GatewayName:        pulumi.String("string"),
		IngressApplicationGatewayIdentities: containerservice.KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityArray{
			&containerservice.KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityArgs{
				ClientId:               pulumi.String("string"),
				ObjectId:               pulumi.String("string"),
				UserAssignedIdentityId: pulumi.String("string"),
			},
		},
		SubnetCidr: pulumi.String("string"),
		SubnetId:   pulumi.String("string"),
	},
	KeyManagementService: &containerservice.KubernetesClusterKeyManagementServiceArgs{
		KeyVaultKeyId:         pulumi.String("string"),
		KeyVaultNetworkAccess: pulumi.String("string"),
	},
	KeyVaultSecretsProvider: &containerservice.KubernetesClusterKeyVaultSecretsProviderArgs{
		SecretIdentities: containerservice.KubernetesClusterKeyVaultSecretsProviderSecretIdentityArray{
			&containerservice.KubernetesClusterKeyVaultSecretsProviderSecretIdentityArgs{
				ClientId:               pulumi.String("string"),
				ObjectId:               pulumi.String("string"),
				UserAssignedIdentityId: pulumi.String("string"),
			},
		},
		SecretRotationEnabled:  pulumi.Bool(false),
		SecretRotationInterval: pulumi.String("string"),
	},
	KubeletIdentity: &containerservice.KubernetesClusterKubeletIdentityArgs{
		ClientId:               pulumi.String("string"),
		ObjectId:               pulumi.String("string"),
		UserAssignedIdentityId: pulumi.String("string"),
	},
	KubernetesVersion: pulumi.String("string"),
	LinuxProfile: &containerservice.KubernetesClusterLinuxProfileArgs{
		AdminUsername: pulumi.String("string"),
		SshKey: &containerservice.KubernetesClusterLinuxProfileSshKeyArgs{
			KeyData: pulumi.String("string"),
		},
	},
	LocalAccountDisabled: pulumi.Bool(false),
	Location:             pulumi.String("string"),
	MaintenanceWindow: &containerservice.KubernetesClusterMaintenanceWindowArgs{
		Alloweds: containerservice.KubernetesClusterMaintenanceWindowAllowedArray{
			&containerservice.KubernetesClusterMaintenanceWindowAllowedArgs{
				Day: pulumi.String("string"),
				Hours: pulumi.IntArray{
					pulumi.Int(0),
				},
			},
		},
		NotAlloweds: containerservice.KubernetesClusterMaintenanceWindowNotAllowedArray{
			&containerservice.KubernetesClusterMaintenanceWindowNotAllowedArgs{
				End:   pulumi.String("string"),
				Start: pulumi.String("string"),
			},
		},
	},
	MaintenanceWindowAutoUpgrade: &containerservice.KubernetesClusterMaintenanceWindowAutoUpgradeArgs{
		Duration:   pulumi.Int(0),
		Frequency:  pulumi.String("string"),
		Interval:   pulumi.Int(0),
		DayOfMonth: pulumi.Int(0),
		DayOfWeek:  pulumi.String("string"),
		NotAlloweds: containerservice.KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowedArray{
			&containerservice.KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowedArgs{
				End:   pulumi.String("string"),
				Start: pulumi.String("string"),
			},
		},
		StartDate: pulumi.String("string"),
		StartTime: pulumi.String("string"),
		UtcOffset: pulumi.String("string"),
		WeekIndex: pulumi.String("string"),
	},
	MaintenanceWindowNodeOs: &containerservice.KubernetesClusterMaintenanceWindowNodeOsArgs{
		Duration:   pulumi.Int(0),
		Frequency:  pulumi.String("string"),
		Interval:   pulumi.Int(0),
		DayOfMonth: pulumi.Int(0),
		DayOfWeek:  pulumi.String("string"),
		NotAlloweds: containerservice.KubernetesClusterMaintenanceWindowNodeOsNotAllowedArray{
			&containerservice.KubernetesClusterMaintenanceWindowNodeOsNotAllowedArgs{
				End:   pulumi.String("string"),
				Start: pulumi.String("string"),
			},
		},
		StartDate: pulumi.String("string"),
		StartTime: pulumi.String("string"),
		UtcOffset: pulumi.String("string"),
		WeekIndex: pulumi.String("string"),
	},
	MicrosoftDefender: &containerservice.KubernetesClusterMicrosoftDefenderArgs{
		LogAnalyticsWorkspaceId: pulumi.String("string"),
	},
	MonitorMetrics: &containerservice.KubernetesClusterMonitorMetricsArgs{
		AnnotationsAllowed: pulumi.String("string"),
		LabelsAllowed:      pulumi.String("string"),
	},
	Name: pulumi.String("string"),
	NetworkProfile: &containerservice.KubernetesClusterNetworkProfileArgs{
		NetworkPlugin:     pulumi.String("string"),
		NetworkMode:       pulumi.String("string"),
		NetworkPluginMode: pulumi.String("string"),
		LoadBalancerSku:   pulumi.String("string"),
		NatGatewayProfile: &containerservice.KubernetesClusterNetworkProfileNatGatewayProfileArgs{
			EffectiveOutboundIps: pulumi.StringArray{
				pulumi.String("string"),
			},
			IdleTimeoutInMinutes:   pulumi.Int(0),
			ManagedOutboundIpCount: pulumi.Int(0),
		},
		NetworkDataPlane: pulumi.String("string"),
		DnsServiceIp:     pulumi.String("string"),
		IpVersions: pulumi.StringArray{
			pulumi.String("string"),
		},
		LoadBalancerProfile: &containerservice.KubernetesClusterNetworkProfileLoadBalancerProfileArgs{
			BackendPoolType: pulumi.String("string"),
			EffectiveOutboundIps: pulumi.StringArray{
				pulumi.String("string"),
			},
			IdleTimeoutInMinutes:     pulumi.Int(0),
			ManagedOutboundIpCount:   pulumi.Int(0),
			ManagedOutboundIpv6Count: pulumi.Int(0),
			OutboundIpAddressIds: pulumi.StringArray{
				pulumi.String("string"),
			},
			OutboundIpPrefixIds: pulumi.StringArray{
				pulumi.String("string"),
			},
			OutboundPortsAllocated: pulumi.Int(0),
		},
		NetworkPolicy: pulumi.String("string"),
		OutboundType:  pulumi.String("string"),
		PodCidr:       pulumi.String("string"),
		PodCidrs: pulumi.StringArray{
			pulumi.String("string"),
		},
		ServiceCidr: pulumi.String("string"),
		ServiceCidrs: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	NodeOsUpgradeChannel: pulumi.String("string"),
	NodeResourceGroup:    pulumi.String("string"),
	OidcIssuerEnabled:    pulumi.Bool(false),
	OmsAgent: &containerservice.KubernetesClusterOmsAgentArgs{
		LogAnalyticsWorkspaceId:     pulumi.String("string"),
		MsiAuthForMonitoringEnabled: pulumi.Bool(false),
		OmsAgentIdentities: containerservice.KubernetesClusterOmsAgentOmsAgentIdentityArray{
			&containerservice.KubernetesClusterOmsAgentOmsAgentIdentityArgs{
				ClientId:               pulumi.String("string"),
				ObjectId:               pulumi.String("string"),
				UserAssignedIdentityId: pulumi.String("string"),
			},
		},
	},
	OpenServiceMeshEnabled:          pulumi.Bool(false),
	PrivateClusterEnabled:           pulumi.Bool(false),
	PrivateClusterPublicFqdnEnabled: pulumi.Bool(false),
	PrivateDnsZoneId:                pulumi.String("string"),
	RoleBasedAccessControlEnabled:   pulumi.Bool(false),
	RunCommandEnabled:               pulumi.Bool(false),
	ServiceMeshProfile: &containerservice.KubernetesClusterServiceMeshProfileArgs{
		Mode: pulumi.String("string"),
		Revisions: pulumi.StringArray{
			pulumi.String("string"),
		},
		CertificateAuthority: &containerservice.KubernetesClusterServiceMeshProfileCertificateAuthorityArgs{
			CertChainObjectName: pulumi.String("string"),
			CertObjectName:      pulumi.String("string"),
			KeyObjectName:       pulumi.String("string"),
			KeyVaultId:          pulumi.String("string"),
			RootCertObjectName:  pulumi.String("string"),
		},
		ExternalIngressGatewayEnabled: pulumi.Bool(false),
		InternalIngressGatewayEnabled: pulumi.Bool(false),
	},
	ServicePrincipal: &containerservice.KubernetesClusterServicePrincipalArgs{
		ClientId:     pulumi.String("string"),
		ClientSecret: pulumi.String("string"),
	},
	SkuTier: pulumi.String("string"),
	StorageProfile: &containerservice.KubernetesClusterStorageProfileArgs{
		BlobDriverEnabled:         pulumi.Bool(false),
		DiskDriverEnabled:         pulumi.Bool(false),
		FileDriverEnabled:         pulumi.Bool(false),
		SnapshotControllerEnabled: pulumi.Bool(false),
	},
	SupportPlan: pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	UpgradeOverride: &containerservice.KubernetesClusterUpgradeOverrideArgs{
		ForceUpgradeEnabled: pulumi.Bool(false),
		EffectiveUntil:      pulumi.String("string"),
	},
	WebAppRouting: &containerservice.KubernetesClusterWebAppRoutingArgs{
		DnsZoneIds: pulumi.StringArray{
			pulumi.String("string"),
		},
		WebAppRoutingIdentities: containerservice.KubernetesClusterWebAppRoutingWebAppRoutingIdentityArray{
			&containerservice.KubernetesClusterWebAppRoutingWebAppRoutingIdentityArgs{
				ClientId:               pulumi.String("string"),
				ObjectId:               pulumi.String("string"),
				UserAssignedIdentityId: pulumi.String("string"),
			},
		},
	},
	WindowsProfile: &containerservice.KubernetesClusterWindowsProfileArgs{
		AdminPassword: pulumi.String("string"),
		AdminUsername: pulumi.String("string"),
		Gmsa: &containerservice.KubernetesClusterWindowsProfileGmsaArgs{
			DnsServer:  pulumi.String("string"),
			RootDomain: pulumi.String("string"),
		},
		License: pulumi.String("string"),
	},
	WorkloadAutoscalerProfile: &containerservice.KubernetesClusterWorkloadAutoscalerProfileArgs{
		KedaEnabled:                  pulumi.Bool(false),
		VerticalPodAutoscalerEnabled: pulumi.Bool(false),
	},
	WorkloadIdentityEnabled: pulumi.Bool(false),
})
var kubernetesClusterResource = new KubernetesCluster("kubernetesClusterResource", KubernetesClusterArgs.builder()
    .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()
        .name("string")
        .vmSize("string")
        .onlyCriticalAddonsEnabled(false)
        .maxCount(0)
        .hostEncryptionEnabled(false)
        .hostGroupId("string")
        .autoScalingEnabled(false)
        .kubeletDiskType("string")
        .linuxOsConfig(KubernetesClusterDefaultNodePoolLinuxOsConfigArgs.builder()
            .swapFileSizeMb(0)
            .sysctlConfig(KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigArgs.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())
        .orchestratorVersion("string")
        .maxPods(0)
        .osDiskSizeGb(0)
        .fipsEnabled(false)
        .nodeCount(0)
        .nodeLabels(Map.of("string", "string"))
        .nodeNetworkProfile(KubernetesClusterDefaultNodePoolNodeNetworkProfileArgs.builder()
            .allowedHostPorts(KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPortArgs.builder()
                .portEnd(0)
                .portStart(0)
                .protocol("string")
                .build())
            .applicationSecurityGroupIds("string")
            .nodePublicIpTags(Map.of("string", "string"))
            .build())
        .nodePublicIpEnabled(false)
        .nodePublicIpPrefixId("string")
        .kubeletConfig(KubernetesClusterDefaultNodePoolKubeletConfigArgs.builder()
            .allowedUnsafeSysctls("string")
            .containerLogMaxLine(0)
            .containerLogMaxSizeMb(0)
            .cpuCfsQuotaEnabled(false)
            .cpuCfsQuotaPeriod("string")
            .cpuManagerPolicy("string")
            .imageGcHighThreshold(0)
            .imageGcLowThreshold(0)
            .podMaxPid(0)
            .topologyManagerPolicy("string")
            .build())
        .gpuInstance("string")
        .minCount(0)
        .osDiskType("string")
        .osSku("string")
        .podSubnetId("string")
        .proximityPlacementGroupId("string")
        .scaleDownMode("string")
        .snapshotId("string")
        .tags(Map.of("string", "string"))
        .temporaryNameForRotation("string")
        .type("string")
        .ultraSsdEnabled(false)
        .upgradeSettings(KubernetesClusterDefaultNodePoolUpgradeSettingsArgs.builder()
            .maxSurge("string")
            .drainTimeoutInMinutes(0)
            .nodeSoakDurationInMinutes(0)
            .build())
        .capacityReservationGroupId("string")
        .vnetSubnetId("string")
        .workloadRuntime("string")
        .zones("string")
        .build())
    .resourceGroupName("string")
    .aciConnectorLinux(KubernetesClusterAciConnectorLinuxArgs.builder()
        .subnetName("string")
        .connectorIdentities(KubernetesClusterAciConnectorLinuxConnectorIdentityArgs.builder()
            .clientId("string")
            .objectId("string")
            .userAssignedIdentityId("string")
            .build())
        .build())
    .apiServerAccessProfile(KubernetesClusterApiServerAccessProfileArgs.builder()
        .authorizedIpRanges("string")
        .build())
    .autoScalerProfile(KubernetesClusterAutoScalerProfileArgs.builder()
        .balanceSimilarNodeGroups(false)
        .daemonsetEvictionForEmptyNodesEnabled(false)
        .daemonsetEvictionForOccupiedNodesEnabled(false)
        .emptyBulkDeleteMax("string")
        .expander("string")
        .ignoreDaemonsetsUtilizationEnabled(false)
        .maxGracefulTerminationSec("string")
        .maxNodeProvisioningTime("string")
        .maxUnreadyNodes(0)
        .maxUnreadyPercentage(0)
        .newPodScaleUpDelay("string")
        .scaleDownDelayAfterAdd("string")
        .scaleDownDelayAfterDelete("string")
        .scaleDownDelayAfterFailure("string")
        .scaleDownUnneeded("string")
        .scaleDownUnready("string")
        .scaleDownUtilizationThreshold("string")
        .scanInterval("string")
        .skipNodesWithLocalStorage(false)
        .skipNodesWithSystemPods(false)
        .build())
    .automaticUpgradeChannel("string")
    .azureActiveDirectoryRoleBasedAccessControl(KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs.builder()
        .adminGroupObjectIds("string")
        .azureRbacEnabled(false)
        .tenantId("string")
        .build())
    .azurePolicyEnabled(false)
    .confidentialComputing(KubernetesClusterConfidentialComputingArgs.builder()
        .sgxQuoteHelperEnabled(false)
        .build())
    .costAnalysisEnabled(false)
    .diskEncryptionSetId("string")
    .dnsPrefix("string")
    .dnsPrefixPrivateCluster("string")
    .edgeZone("string")
    .httpApplicationRoutingEnabled(false)
    .httpProxyConfig(KubernetesClusterHttpProxyConfigArgs.builder()
        .httpProxy("string")
        .httpsProxy("string")
        .noProxies("string")
        .trustedCa("string")
        .build())
    .identity(KubernetesClusterIdentityArgs.builder()
        .type("string")
        .identityIds("string")
        .principalId("string")
        .tenantId("string")
        .build())
    .imageCleanerEnabled(false)
    .imageCleanerIntervalHours(0)
    .ingressApplicationGateway(KubernetesClusterIngressApplicationGatewayArgs.builder()
        .effectiveGatewayId("string")
        .gatewayId("string")
        .gatewayName("string")
        .ingressApplicationGatewayIdentities(KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityArgs.builder()
            .clientId("string")
            .objectId("string")
            .userAssignedIdentityId("string")
            .build())
        .subnetCidr("string")
        .subnetId("string")
        .build())
    .keyManagementService(KubernetesClusterKeyManagementServiceArgs.builder()
        .keyVaultKeyId("string")
        .keyVaultNetworkAccess("string")
        .build())
    .keyVaultSecretsProvider(KubernetesClusterKeyVaultSecretsProviderArgs.builder()
        .secretIdentities(KubernetesClusterKeyVaultSecretsProviderSecretIdentityArgs.builder()
            .clientId("string")
            .objectId("string")
            .userAssignedIdentityId("string")
            .build())
        .secretRotationEnabled(false)
        .secretRotationInterval("string")
        .build())
    .kubeletIdentity(KubernetesClusterKubeletIdentityArgs.builder()
        .clientId("string")
        .objectId("string")
        .userAssignedIdentityId("string")
        .build())
    .kubernetesVersion("string")
    .linuxProfile(KubernetesClusterLinuxProfileArgs.builder()
        .adminUsername("string")
        .sshKey(KubernetesClusterLinuxProfileSshKeyArgs.builder()
            .keyData("string")
            .build())
        .build())
    .localAccountDisabled(false)
    .location("string")
    .maintenanceWindow(KubernetesClusterMaintenanceWindowArgs.builder()
        .alloweds(KubernetesClusterMaintenanceWindowAllowedArgs.builder()
            .day("string")
            .hours(0)
            .build())
        .notAlloweds(KubernetesClusterMaintenanceWindowNotAllowedArgs.builder()
            .end("string")
            .start("string")
            .build())
        .build())
    .maintenanceWindowAutoUpgrade(KubernetesClusterMaintenanceWindowAutoUpgradeArgs.builder()
        .duration(0)
        .frequency("string")
        .interval(0)
        .dayOfMonth(0)
        .dayOfWeek("string")
        .notAlloweds(KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowedArgs.builder()
            .end("string")
            .start("string")
            .build())
        .startDate("string")
        .startTime("string")
        .utcOffset("string")
        .weekIndex("string")
        .build())
    .maintenanceWindowNodeOs(KubernetesClusterMaintenanceWindowNodeOsArgs.builder()
        .duration(0)
        .frequency("string")
        .interval(0)
        .dayOfMonth(0)
        .dayOfWeek("string")
        .notAlloweds(KubernetesClusterMaintenanceWindowNodeOsNotAllowedArgs.builder()
            .end("string")
            .start("string")
            .build())
        .startDate("string")
        .startTime("string")
        .utcOffset("string")
        .weekIndex("string")
        .build())
    .microsoftDefender(KubernetesClusterMicrosoftDefenderArgs.builder()
        .logAnalyticsWorkspaceId("string")
        .build())
    .monitorMetrics(KubernetesClusterMonitorMetricsArgs.builder()
        .annotationsAllowed("string")
        .labelsAllowed("string")
        .build())
    .name("string")
    .networkProfile(KubernetesClusterNetworkProfileArgs.builder()
        .networkPlugin("string")
        .networkMode("string")
        .networkPluginMode("string")
        .loadBalancerSku("string")
        .natGatewayProfile(KubernetesClusterNetworkProfileNatGatewayProfileArgs.builder()
            .effectiveOutboundIps("string")
            .idleTimeoutInMinutes(0)
            .managedOutboundIpCount(0)
            .build())
        .networkDataPlane("string")
        .dnsServiceIp("string")
        .ipVersions("string")
        .loadBalancerProfile(KubernetesClusterNetworkProfileLoadBalancerProfileArgs.builder()
            .backendPoolType("string")
            .effectiveOutboundIps("string")
            .idleTimeoutInMinutes(0)
            .managedOutboundIpCount(0)
            .managedOutboundIpv6Count(0)
            .outboundIpAddressIds("string")
            .outboundIpPrefixIds("string")
            .outboundPortsAllocated(0)
            .build())
        .networkPolicy("string")
        .outboundType("string")
        .podCidr("string")
        .podCidrs("string")
        .serviceCidr("string")
        .serviceCidrs("string")
        .build())
    .nodeOsUpgradeChannel("string")
    .nodeResourceGroup("string")
    .oidcIssuerEnabled(false)
    .omsAgent(KubernetesClusterOmsAgentArgs.builder()
        .logAnalyticsWorkspaceId("string")
        .msiAuthForMonitoringEnabled(false)
        .omsAgentIdentities(KubernetesClusterOmsAgentOmsAgentIdentityArgs.builder()
            .clientId("string")
            .objectId("string")
            .userAssignedIdentityId("string")
            .build())
        .build())
    .openServiceMeshEnabled(false)
    .privateClusterEnabled(false)
    .privateClusterPublicFqdnEnabled(false)
    .privateDnsZoneId("string")
    .roleBasedAccessControlEnabled(false)
    .runCommandEnabled(false)
    .serviceMeshProfile(KubernetesClusterServiceMeshProfileArgs.builder()
        .mode("string")
        .revisions("string")
        .certificateAuthority(KubernetesClusterServiceMeshProfileCertificateAuthorityArgs.builder()
            .certChainObjectName("string")
            .certObjectName("string")
            .keyObjectName("string")
            .keyVaultId("string")
            .rootCertObjectName("string")
            .build())
        .externalIngressGatewayEnabled(false)
        .internalIngressGatewayEnabled(false)
        .build())
    .servicePrincipal(KubernetesClusterServicePrincipalArgs.builder()
        .clientId("string")
        .clientSecret("string")
        .build())
    .skuTier("string")
    .storageProfile(KubernetesClusterStorageProfileArgs.builder()
        .blobDriverEnabled(false)
        .diskDriverEnabled(false)
        .fileDriverEnabled(false)
        .snapshotControllerEnabled(false)
        .build())
    .supportPlan("string")
    .tags(Map.of("string", "string"))
    .upgradeOverride(KubernetesClusterUpgradeOverrideArgs.builder()
        .forceUpgradeEnabled(false)
        .effectiveUntil("string")
        .build())
    .webAppRouting(KubernetesClusterWebAppRoutingArgs.builder()
        .dnsZoneIds("string")
        .webAppRoutingIdentities(KubernetesClusterWebAppRoutingWebAppRoutingIdentityArgs.builder()
            .clientId("string")
            .objectId("string")
            .userAssignedIdentityId("string")
            .build())
        .build())
    .windowsProfile(KubernetesClusterWindowsProfileArgs.builder()
        .adminPassword("string")
        .adminUsername("string")
        .gmsa(KubernetesClusterWindowsProfileGmsaArgs.builder()
            .dnsServer("string")
            .rootDomain("string")
            .build())
        .license("string")
        .build())
    .workloadAutoscalerProfile(KubernetesClusterWorkloadAutoscalerProfileArgs.builder()
        .kedaEnabled(false)
        .verticalPodAutoscalerEnabled(false)
        .build())
    .workloadIdentityEnabled(false)
    .build());
kubernetes_cluster_resource = azure.containerservice.KubernetesCluster("kubernetesClusterResource",
    default_node_pool={
        "name": "string",
        "vm_size": "string",
        "only_critical_addons_enabled": False,
        "max_count": 0,
        "host_encryption_enabled": False,
        "host_group_id": "string",
        "auto_scaling_enabled": False,
        "kubelet_disk_type": "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",
        },
        "orchestrator_version": "string",
        "max_pods": 0,
        "os_disk_size_gb": 0,
        "fips_enabled": False,
        "node_count": 0,
        "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,
        "node_public_ip_prefix_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",
        },
        "gpu_instance": "string",
        "min_count": 0,
        "os_disk_type": "string",
        "os_sku": "string",
        "pod_subnet_id": "string",
        "proximity_placement_group_id": "string",
        "scale_down_mode": "string",
        "snapshot_id": "string",
        "tags": {
            "string": "string",
        },
        "temporary_name_for_rotation": "string",
        "type": "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",
        "workload_runtime": "string",
        "zones": ["string"],
    },
    resource_group_name="string",
    aci_connector_linux={
        "subnet_name": "string",
        "connector_identities": [{
            "client_id": "string",
            "object_id": "string",
            "user_assigned_identity_id": "string",
        }],
    },
    api_server_access_profile={
        "authorized_ip_ranges": ["string"],
    },
    auto_scaler_profile={
        "balance_similar_node_groups": False,
        "daemonset_eviction_for_empty_nodes_enabled": False,
        "daemonset_eviction_for_occupied_nodes_enabled": False,
        "empty_bulk_delete_max": "string",
        "expander": "string",
        "ignore_daemonsets_utilization_enabled": False,
        "max_graceful_termination_sec": "string",
        "max_node_provisioning_time": "string",
        "max_unready_nodes": 0,
        "max_unready_percentage": 0,
        "new_pod_scale_up_delay": "string",
        "scale_down_delay_after_add": "string",
        "scale_down_delay_after_delete": "string",
        "scale_down_delay_after_failure": "string",
        "scale_down_unneeded": "string",
        "scale_down_unready": "string",
        "scale_down_utilization_threshold": "string",
        "scan_interval": "string",
        "skip_nodes_with_local_storage": False,
        "skip_nodes_with_system_pods": False,
    },
    automatic_upgrade_channel="string",
    azure_active_directory_role_based_access_control={
        "admin_group_object_ids": ["string"],
        "azure_rbac_enabled": False,
        "tenant_id": "string",
    },
    azure_policy_enabled=False,
    confidential_computing={
        "sgx_quote_helper_enabled": False,
    },
    cost_analysis_enabled=False,
    disk_encryption_set_id="string",
    dns_prefix="string",
    dns_prefix_private_cluster="string",
    edge_zone="string",
    http_application_routing_enabled=False,
    http_proxy_config={
        "http_proxy": "string",
        "https_proxy": "string",
        "no_proxies": ["string"],
        "trusted_ca": "string",
    },
    identity={
        "type": "string",
        "identity_ids": ["string"],
        "principal_id": "string",
        "tenant_id": "string",
    },
    image_cleaner_enabled=False,
    image_cleaner_interval_hours=0,
    ingress_application_gateway={
        "effective_gateway_id": "string",
        "gateway_id": "string",
        "gateway_name": "string",
        "ingress_application_gateway_identities": [{
            "client_id": "string",
            "object_id": "string",
            "user_assigned_identity_id": "string",
        }],
        "subnet_cidr": "string",
        "subnet_id": "string",
    },
    key_management_service={
        "key_vault_key_id": "string",
        "key_vault_network_access": "string",
    },
    key_vault_secrets_provider={
        "secret_identities": [{
            "client_id": "string",
            "object_id": "string",
            "user_assigned_identity_id": "string",
        }],
        "secret_rotation_enabled": False,
        "secret_rotation_interval": "string",
    },
    kubelet_identity={
        "client_id": "string",
        "object_id": "string",
        "user_assigned_identity_id": "string",
    },
    kubernetes_version="string",
    linux_profile={
        "admin_username": "string",
        "ssh_key": {
            "key_data": "string",
        },
    },
    local_account_disabled=False,
    location="string",
    maintenance_window={
        "alloweds": [{
            "day": "string",
            "hours": [0],
        }],
        "not_alloweds": [{
            "end": "string",
            "start": "string",
        }],
    },
    maintenance_window_auto_upgrade={
        "duration": 0,
        "frequency": "string",
        "interval": 0,
        "day_of_month": 0,
        "day_of_week": "string",
        "not_alloweds": [{
            "end": "string",
            "start": "string",
        }],
        "start_date": "string",
        "start_time": "string",
        "utc_offset": "string",
        "week_index": "string",
    },
    maintenance_window_node_os={
        "duration": 0,
        "frequency": "string",
        "interval": 0,
        "day_of_month": 0,
        "day_of_week": "string",
        "not_alloweds": [{
            "end": "string",
            "start": "string",
        }],
        "start_date": "string",
        "start_time": "string",
        "utc_offset": "string",
        "week_index": "string",
    },
    microsoft_defender={
        "log_analytics_workspace_id": "string",
    },
    monitor_metrics={
        "annotations_allowed": "string",
        "labels_allowed": "string",
    },
    name="string",
    network_profile={
        "network_plugin": "string",
        "network_mode": "string",
        "network_plugin_mode": "string",
        "load_balancer_sku": "string",
        "nat_gateway_profile": {
            "effective_outbound_ips": ["string"],
            "idle_timeout_in_minutes": 0,
            "managed_outbound_ip_count": 0,
        },
        "network_data_plane": "string",
        "dns_service_ip": "string",
        "ip_versions": ["string"],
        "load_balancer_profile": {
            "backend_pool_type": "string",
            "effective_outbound_ips": ["string"],
            "idle_timeout_in_minutes": 0,
            "managed_outbound_ip_count": 0,
            "managed_outbound_ipv6_count": 0,
            "outbound_ip_address_ids": ["string"],
            "outbound_ip_prefix_ids": ["string"],
            "outbound_ports_allocated": 0,
        },
        "network_policy": "string",
        "outbound_type": "string",
        "pod_cidr": "string",
        "pod_cidrs": ["string"],
        "service_cidr": "string",
        "service_cidrs": ["string"],
    },
    node_os_upgrade_channel="string",
    node_resource_group="string",
    oidc_issuer_enabled=False,
    oms_agent={
        "log_analytics_workspace_id": "string",
        "msi_auth_for_monitoring_enabled": False,
        "oms_agent_identities": [{
            "client_id": "string",
            "object_id": "string",
            "user_assigned_identity_id": "string",
        }],
    },
    open_service_mesh_enabled=False,
    private_cluster_enabled=False,
    private_cluster_public_fqdn_enabled=False,
    private_dns_zone_id="string",
    role_based_access_control_enabled=False,
    run_command_enabled=False,
    service_mesh_profile={
        "mode": "string",
        "revisions": ["string"],
        "certificate_authority": {
            "cert_chain_object_name": "string",
            "cert_object_name": "string",
            "key_object_name": "string",
            "key_vault_id": "string",
            "root_cert_object_name": "string",
        },
        "external_ingress_gateway_enabled": False,
        "internal_ingress_gateway_enabled": False,
    },
    service_principal={
        "client_id": "string",
        "client_secret": "string",
    },
    sku_tier="string",
    storage_profile={
        "blob_driver_enabled": False,
        "disk_driver_enabled": False,
        "file_driver_enabled": False,
        "snapshot_controller_enabled": False,
    },
    support_plan="string",
    tags={
        "string": "string",
    },
    upgrade_override={
        "force_upgrade_enabled": False,
        "effective_until": "string",
    },
    web_app_routing={
        "dns_zone_ids": ["string"],
        "web_app_routing_identities": [{
            "client_id": "string",
            "object_id": "string",
            "user_assigned_identity_id": "string",
        }],
    },
    windows_profile={
        "admin_password": "string",
        "admin_username": "string",
        "gmsa": {
            "dns_server": "string",
            "root_domain": "string",
        },
        "license": "string",
    },
    workload_autoscaler_profile={
        "keda_enabled": False,
        "vertical_pod_autoscaler_enabled": False,
    },
    workload_identity_enabled=False)
const kubernetesClusterResource = new azure.containerservice.KubernetesCluster("kubernetesClusterResource", {
    defaultNodePool: {
        name: "string",
        vmSize: "string",
        onlyCriticalAddonsEnabled: false,
        maxCount: 0,
        hostEncryptionEnabled: false,
        hostGroupId: "string",
        autoScalingEnabled: false,
        kubeletDiskType: "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",
        },
        orchestratorVersion: "string",
        maxPods: 0,
        osDiskSizeGb: 0,
        fipsEnabled: false,
        nodeCount: 0,
        nodeLabels: {
            string: "string",
        },
        nodeNetworkProfile: {
            allowedHostPorts: [{
                portEnd: 0,
                portStart: 0,
                protocol: "string",
            }],
            applicationSecurityGroupIds: ["string"],
            nodePublicIpTags: {
                string: "string",
            },
        },
        nodePublicIpEnabled: false,
        nodePublicIpPrefixId: "string",
        kubeletConfig: {
            allowedUnsafeSysctls: ["string"],
            containerLogMaxLine: 0,
            containerLogMaxSizeMb: 0,
            cpuCfsQuotaEnabled: false,
            cpuCfsQuotaPeriod: "string",
            cpuManagerPolicy: "string",
            imageGcHighThreshold: 0,
            imageGcLowThreshold: 0,
            podMaxPid: 0,
            topologyManagerPolicy: "string",
        },
        gpuInstance: "string",
        minCount: 0,
        osDiskType: "string",
        osSku: "string",
        podSubnetId: "string",
        proximityPlacementGroupId: "string",
        scaleDownMode: "string",
        snapshotId: "string",
        tags: {
            string: "string",
        },
        temporaryNameForRotation: "string",
        type: "string",
        ultraSsdEnabled: false,
        upgradeSettings: {
            maxSurge: "string",
            drainTimeoutInMinutes: 0,
            nodeSoakDurationInMinutes: 0,
        },
        capacityReservationGroupId: "string",
        vnetSubnetId: "string",
        workloadRuntime: "string",
        zones: ["string"],
    },
    resourceGroupName: "string",
    aciConnectorLinux: {
        subnetName: "string",
        connectorIdentities: [{
            clientId: "string",
            objectId: "string",
            userAssignedIdentityId: "string",
        }],
    },
    apiServerAccessProfile: {
        authorizedIpRanges: ["string"],
    },
    autoScalerProfile: {
        balanceSimilarNodeGroups: false,
        daemonsetEvictionForEmptyNodesEnabled: false,
        daemonsetEvictionForOccupiedNodesEnabled: false,
        emptyBulkDeleteMax: "string",
        expander: "string",
        ignoreDaemonsetsUtilizationEnabled: false,
        maxGracefulTerminationSec: "string",
        maxNodeProvisioningTime: "string",
        maxUnreadyNodes: 0,
        maxUnreadyPercentage: 0,
        newPodScaleUpDelay: "string",
        scaleDownDelayAfterAdd: "string",
        scaleDownDelayAfterDelete: "string",
        scaleDownDelayAfterFailure: "string",
        scaleDownUnneeded: "string",
        scaleDownUnready: "string",
        scaleDownUtilizationThreshold: "string",
        scanInterval: "string",
        skipNodesWithLocalStorage: false,
        skipNodesWithSystemPods: false,
    },
    automaticUpgradeChannel: "string",
    azureActiveDirectoryRoleBasedAccessControl: {
        adminGroupObjectIds: ["string"],
        azureRbacEnabled: false,
        tenantId: "string",
    },
    azurePolicyEnabled: false,
    confidentialComputing: {
        sgxQuoteHelperEnabled: false,
    },
    costAnalysisEnabled: false,
    diskEncryptionSetId: "string",
    dnsPrefix: "string",
    dnsPrefixPrivateCluster: "string",
    edgeZone: "string",
    httpApplicationRoutingEnabled: false,
    httpProxyConfig: {
        httpProxy: "string",
        httpsProxy: "string",
        noProxies: ["string"],
        trustedCa: "string",
    },
    identity: {
        type: "string",
        identityIds: ["string"],
        principalId: "string",
        tenantId: "string",
    },
    imageCleanerEnabled: false,
    imageCleanerIntervalHours: 0,
    ingressApplicationGateway: {
        effectiveGatewayId: "string",
        gatewayId: "string",
        gatewayName: "string",
        ingressApplicationGatewayIdentities: [{
            clientId: "string",
            objectId: "string",
            userAssignedIdentityId: "string",
        }],
        subnetCidr: "string",
        subnetId: "string",
    },
    keyManagementService: {
        keyVaultKeyId: "string",
        keyVaultNetworkAccess: "string",
    },
    keyVaultSecretsProvider: {
        secretIdentities: [{
            clientId: "string",
            objectId: "string",
            userAssignedIdentityId: "string",
        }],
        secretRotationEnabled: false,
        secretRotationInterval: "string",
    },
    kubeletIdentity: {
        clientId: "string",
        objectId: "string",
        userAssignedIdentityId: "string",
    },
    kubernetesVersion: "string",
    linuxProfile: {
        adminUsername: "string",
        sshKey: {
            keyData: "string",
        },
    },
    localAccountDisabled: false,
    location: "string",
    maintenanceWindow: {
        alloweds: [{
            day: "string",
            hours: [0],
        }],
        notAlloweds: [{
            end: "string",
            start: "string",
        }],
    },
    maintenanceWindowAutoUpgrade: {
        duration: 0,
        frequency: "string",
        interval: 0,
        dayOfMonth: 0,
        dayOfWeek: "string",
        notAlloweds: [{
            end: "string",
            start: "string",
        }],
        startDate: "string",
        startTime: "string",
        utcOffset: "string",
        weekIndex: "string",
    },
    maintenanceWindowNodeOs: {
        duration: 0,
        frequency: "string",
        interval: 0,
        dayOfMonth: 0,
        dayOfWeek: "string",
        notAlloweds: [{
            end: "string",
            start: "string",
        }],
        startDate: "string",
        startTime: "string",
        utcOffset: "string",
        weekIndex: "string",
    },
    microsoftDefender: {
        logAnalyticsWorkspaceId: "string",
    },
    monitorMetrics: {
        annotationsAllowed: "string",
        labelsAllowed: "string",
    },
    name: "string",
    networkProfile: {
        networkPlugin: "string",
        networkMode: "string",
        networkPluginMode: "string",
        loadBalancerSku: "string",
        natGatewayProfile: {
            effectiveOutboundIps: ["string"],
            idleTimeoutInMinutes: 0,
            managedOutboundIpCount: 0,
        },
        networkDataPlane: "string",
        dnsServiceIp: "string",
        ipVersions: ["string"],
        loadBalancerProfile: {
            backendPoolType: "string",
            effectiveOutboundIps: ["string"],
            idleTimeoutInMinutes: 0,
            managedOutboundIpCount: 0,
            managedOutboundIpv6Count: 0,
            outboundIpAddressIds: ["string"],
            outboundIpPrefixIds: ["string"],
            outboundPortsAllocated: 0,
        },
        networkPolicy: "string",
        outboundType: "string",
        podCidr: "string",
        podCidrs: ["string"],
        serviceCidr: "string",
        serviceCidrs: ["string"],
    },
    nodeOsUpgradeChannel: "string",
    nodeResourceGroup: "string",
    oidcIssuerEnabled: false,
    omsAgent: {
        logAnalyticsWorkspaceId: "string",
        msiAuthForMonitoringEnabled: false,
        omsAgentIdentities: [{
            clientId: "string",
            objectId: "string",
            userAssignedIdentityId: "string",
        }],
    },
    openServiceMeshEnabled: false,
    privateClusterEnabled: false,
    privateClusterPublicFqdnEnabled: false,
    privateDnsZoneId: "string",
    roleBasedAccessControlEnabled: false,
    runCommandEnabled: false,
    serviceMeshProfile: {
        mode: "string",
        revisions: ["string"],
        certificateAuthority: {
            certChainObjectName: "string",
            certObjectName: "string",
            keyObjectName: "string",
            keyVaultId: "string",
            rootCertObjectName: "string",
        },
        externalIngressGatewayEnabled: false,
        internalIngressGatewayEnabled: false,
    },
    servicePrincipal: {
        clientId: "string",
        clientSecret: "string",
    },
    skuTier: "string",
    storageProfile: {
        blobDriverEnabled: false,
        diskDriverEnabled: false,
        fileDriverEnabled: false,
        snapshotControllerEnabled: false,
    },
    supportPlan: "string",
    tags: {
        string: "string",
    },
    upgradeOverride: {
        forceUpgradeEnabled: false,
        effectiveUntil: "string",
    },
    webAppRouting: {
        dnsZoneIds: ["string"],
        webAppRoutingIdentities: [{
            clientId: "string",
            objectId: "string",
            userAssignedIdentityId: "string",
        }],
    },
    windowsProfile: {
        adminPassword: "string",
        adminUsername: "string",
        gmsa: {
            dnsServer: "string",
            rootDomain: "string",
        },
        license: "string",
    },
    workloadAutoscalerProfile: {
        kedaEnabled: false,
        verticalPodAutoscalerEnabled: false,
    },
    workloadIdentityEnabled: false,
});
type: azure:containerservice:KubernetesCluster
properties:
    aciConnectorLinux:
        connectorIdentities:
            - clientId: string
              objectId: string
              userAssignedIdentityId: string
        subnetName: string
    apiServerAccessProfile:
        authorizedIpRanges:
            - string
    autoScalerProfile:
        balanceSimilarNodeGroups: false
        daemonsetEvictionForEmptyNodesEnabled: false
        daemonsetEvictionForOccupiedNodesEnabled: false
        emptyBulkDeleteMax: string
        expander: string
        ignoreDaemonsetsUtilizationEnabled: false
        maxGracefulTerminationSec: string
        maxNodeProvisioningTime: string
        maxUnreadyNodes: 0
        maxUnreadyPercentage: 0
        newPodScaleUpDelay: string
        scaleDownDelayAfterAdd: string
        scaleDownDelayAfterDelete: string
        scaleDownDelayAfterFailure: string
        scaleDownUnneeded: string
        scaleDownUnready: string
        scaleDownUtilizationThreshold: string
        scanInterval: string
        skipNodesWithLocalStorage: false
        skipNodesWithSystemPods: false
    automaticUpgradeChannel: string
    azureActiveDirectoryRoleBasedAccessControl:
        adminGroupObjectIds:
            - string
        azureRbacEnabled: false
        tenantId: string
    azurePolicyEnabled: false
    confidentialComputing:
        sgxQuoteHelperEnabled: false
    costAnalysisEnabled: false
    defaultNodePool:
        autoScalingEnabled: false
        capacityReservationGroupId: 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
        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
        name: string
        nodeCount: 0
        nodeLabels:
            string: string
        nodeNetworkProfile:
            allowedHostPorts:
                - portEnd: 0
                  portStart: 0
                  protocol: string
            applicationSecurityGroupIds:
                - string
            nodePublicIpTags:
                string: string
        nodePublicIpEnabled: false
        nodePublicIpPrefixId: string
        onlyCriticalAddonsEnabled: false
        orchestratorVersion: string
        osDiskSizeGb: 0
        osDiskType: string
        osSku: string
        podSubnetId: string
        proximityPlacementGroupId: string
        scaleDownMode: string
        snapshotId: string
        tags:
            string: string
        temporaryNameForRotation: string
        type: string
        ultraSsdEnabled: false
        upgradeSettings:
            drainTimeoutInMinutes: 0
            maxSurge: string
            nodeSoakDurationInMinutes: 0
        vmSize: string
        vnetSubnetId: string
        workloadRuntime: string
        zones:
            - string
    diskEncryptionSetId: string
    dnsPrefix: string
    dnsPrefixPrivateCluster: string
    edgeZone: string
    httpApplicationRoutingEnabled: false
    httpProxyConfig:
        httpProxy: string
        httpsProxy: string
        noProxies:
            - string
        trustedCa: string
    identity:
        identityIds:
            - string
        principalId: string
        tenantId: string
        type: string
    imageCleanerEnabled: false
    imageCleanerIntervalHours: 0
    ingressApplicationGateway:
        effectiveGatewayId: string
        gatewayId: string
        gatewayName: string
        ingressApplicationGatewayIdentities:
            - clientId: string
              objectId: string
              userAssignedIdentityId: string
        subnetCidr: string
        subnetId: string
    keyManagementService:
        keyVaultKeyId: string
        keyVaultNetworkAccess: string
    keyVaultSecretsProvider:
        secretIdentities:
            - clientId: string
              objectId: string
              userAssignedIdentityId: string
        secretRotationEnabled: false
        secretRotationInterval: string
    kubeletIdentity:
        clientId: string
        objectId: string
        userAssignedIdentityId: string
    kubernetesVersion: string
    linuxProfile:
        adminUsername: string
        sshKey:
            keyData: string
    localAccountDisabled: false
    location: string
    maintenanceWindow:
        alloweds:
            - day: string
              hours:
                - 0
        notAlloweds:
            - end: string
              start: string
    maintenanceWindowAutoUpgrade:
        dayOfMonth: 0
        dayOfWeek: string
        duration: 0
        frequency: string
        interval: 0
        notAlloweds:
            - end: string
              start: string
        startDate: string
        startTime: string
        utcOffset: string
        weekIndex: string
    maintenanceWindowNodeOs:
        dayOfMonth: 0
        dayOfWeek: string
        duration: 0
        frequency: string
        interval: 0
        notAlloweds:
            - end: string
              start: string
        startDate: string
        startTime: string
        utcOffset: string
        weekIndex: string
    microsoftDefender:
        logAnalyticsWorkspaceId: string
    monitorMetrics:
        annotationsAllowed: string
        labelsAllowed: string
    name: string
    networkProfile:
        dnsServiceIp: string
        ipVersions:
            - string
        loadBalancerProfile:
            backendPoolType: string
            effectiveOutboundIps:
                - string
            idleTimeoutInMinutes: 0
            managedOutboundIpCount: 0
            managedOutboundIpv6Count: 0
            outboundIpAddressIds:
                - string
            outboundIpPrefixIds:
                - string
            outboundPortsAllocated: 0
        loadBalancerSku: string
        natGatewayProfile:
            effectiveOutboundIps:
                - string
            idleTimeoutInMinutes: 0
            managedOutboundIpCount: 0
        networkDataPlane: string
        networkMode: string
        networkPlugin: string
        networkPluginMode: string
        networkPolicy: string
        outboundType: string
        podCidr: string
        podCidrs:
            - string
        serviceCidr: string
        serviceCidrs:
            - string
    nodeOsUpgradeChannel: string
    nodeResourceGroup: string
    oidcIssuerEnabled: false
    omsAgent:
        logAnalyticsWorkspaceId: string
        msiAuthForMonitoringEnabled: false
        omsAgentIdentities:
            - clientId: string
              objectId: string
              userAssignedIdentityId: string
    openServiceMeshEnabled: false
    privateClusterEnabled: false
    privateClusterPublicFqdnEnabled: false
    privateDnsZoneId: string
    resourceGroupName: string
    roleBasedAccessControlEnabled: false
    runCommandEnabled: false
    serviceMeshProfile:
        certificateAuthority:
            certChainObjectName: string
            certObjectName: string
            keyObjectName: string
            keyVaultId: string
            rootCertObjectName: string
        externalIngressGatewayEnabled: false
        internalIngressGatewayEnabled: false
        mode: string
        revisions:
            - string
    servicePrincipal:
        clientId: string
        clientSecret: string
    skuTier: string
    storageProfile:
        blobDriverEnabled: false
        diskDriverEnabled: false
        fileDriverEnabled: false
        snapshotControllerEnabled: false
    supportPlan: string
    tags:
        string: string
    upgradeOverride:
        effectiveUntil: string
        forceUpgradeEnabled: false
    webAppRouting:
        dnsZoneIds:
            - string
        webAppRoutingIdentities:
            - clientId: string
              objectId: string
              userAssignedIdentityId: string
    windowsProfile:
        adminPassword: string
        adminUsername: string
        gmsa:
            dnsServer: string
            rootDomain: string
        license: string
    workloadAutoscalerProfile:
        kedaEnabled: false
        verticalPodAutoscalerEnabled: false
    workloadIdentityEnabled: false
KubernetesCluster 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 KubernetesCluster resource accepts the following input properties:
- DefaultNode KubernetesPool Cluster Default Node Pool 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- ResourceGroup stringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- AciConnector KubernetesLinux Cluster Aci Connector Linux 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- ApiServer KubernetesAccess Profile Cluster Api Server Access Profile 
- An api_server_access_profileblock as defined below.
- AutoScaler KubernetesProfile Cluster Auto Scaler Profile 
- A auto_scaler_profileblock as defined below.
- AutomaticUpgrade stringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- AzureActive KubernetesDirectory Role Based Access Control Cluster Azure Active Directory Role Based Access Control 
- A azure_active_directory_role_based_access_controlblock as defined below.
- AzurePolicy boolEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- ConfidentialComputing KubernetesCluster Confidential Computing 
- A confidential_computingblock as defined below. For more details please the documentation
- CostAnalysis boolEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- DiskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- DnsPrefix string
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- DnsPrefix stringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- EdgeZone string
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- HttpApplication boolRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- HttpProxy KubernetesConfig Cluster Http Proxy Config 
- A http_proxy_configblock as defined below.
- Identity
KubernetesCluster Identity 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- ImageCleaner boolEnabled 
- Specifies whether Image Cleaner is enabled.
- ImageCleaner intInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- IngressApplication KubernetesGateway Cluster Ingress Application Gateway 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- KeyManagement KubernetesService Cluster Key Management Service 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- KeyVault KubernetesSecrets Provider Cluster Key Vault Secrets Provider 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- KubeletIdentity KubernetesCluster Kubelet Identity 
- A kubelet_identityblock as defined below.
- KubernetesVersion string
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- LinuxProfile KubernetesCluster Linux Profile 
- A linux_profileblock as defined below.
- LocalAccount boolDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- Location string
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- MaintenanceWindow KubernetesCluster Maintenance Window 
- A maintenance_windowblock as defined below.
- MaintenanceWindow KubernetesAuto Upgrade Cluster Maintenance Window Auto Upgrade 
- A maintenance_window_auto_upgradeblock as defined below.
- MaintenanceWindow KubernetesNode Os Cluster Maintenance Window Node Os 
- A maintenance_window_node_osblock as defined below.
- MicrosoftDefender KubernetesCluster Microsoft Defender 
- A microsoft_defenderblock as defined below.
- MonitorMetrics KubernetesCluster Monitor Metrics 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- Name string
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- NetworkProfile KubernetesCluster Network Profile 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- NodeOs stringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- NodeResource stringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- OidcIssuer boolEnabled 
- Enable or Disable the OIDC issuer URL
- OmsAgent KubernetesCluster Oms Agent 
- A oms_agentblock as defined below.
- OpenService boolMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- PrivateCluster boolEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- PrivateCluster boolPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- PrivateDns stringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- RoleBased boolAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- RunCommand boolEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- ServiceMesh KubernetesProfile Cluster Service Mesh Profile 
- A service_mesh_profileblock as defined below.
- ServicePrincipal KubernetesCluster Service Principal 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- SkuTier string
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- StorageProfile KubernetesCluster Storage Profile 
- A storage_profileblock as defined below.
- SupportPlan string
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- Dictionary<string, string>
- A mapping of tags to assign to the resource.
- UpgradeOverride KubernetesCluster Upgrade Override 
- A upgrade_overrideblock as defined below.
- WebApp KubernetesRouting Cluster Web App Routing 
- A web_app_routingblock as defined below.
- WindowsProfile KubernetesCluster Windows Profile 
- A windows_profileblock as defined below.
- WorkloadAutoscaler KubernetesProfile Cluster Workload Autoscaler Profile 
- A workload_autoscaler_profileblock defined below.
- WorkloadIdentity boolEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- DefaultNode KubernetesPool Cluster Default Node Pool Args 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- ResourceGroup stringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- AciConnector KubernetesLinux Cluster Aci Connector Linux Args 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- ApiServer KubernetesAccess Profile Cluster Api Server Access Profile Args 
- An api_server_access_profileblock as defined below.
- AutoScaler KubernetesProfile Cluster Auto Scaler Profile Args 
- A auto_scaler_profileblock as defined below.
- AutomaticUpgrade stringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- AzureActive KubernetesDirectory Role Based Access Control Cluster Azure Active Directory Role Based Access Control Args 
- A azure_active_directory_role_based_access_controlblock as defined below.
- AzurePolicy boolEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- ConfidentialComputing KubernetesCluster Confidential Computing Args 
- A confidential_computingblock as defined below. For more details please the documentation
- CostAnalysis boolEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- DiskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- DnsPrefix string
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- DnsPrefix stringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- EdgeZone string
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- HttpApplication boolRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- HttpProxy KubernetesConfig Cluster Http Proxy Config Args 
- A http_proxy_configblock as defined below.
- Identity
KubernetesCluster Identity Args 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- ImageCleaner boolEnabled 
- Specifies whether Image Cleaner is enabled.
- ImageCleaner intInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- IngressApplication KubernetesGateway Cluster Ingress Application Gateway Args 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- KeyManagement KubernetesService Cluster Key Management Service Args 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- KeyVault KubernetesSecrets Provider Cluster Key Vault Secrets Provider Args 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- KubeletIdentity KubernetesCluster Kubelet Identity Args 
- A kubelet_identityblock as defined below.
- KubernetesVersion string
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- LinuxProfile KubernetesCluster Linux Profile Args 
- A linux_profileblock as defined below.
- LocalAccount boolDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- Location string
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- MaintenanceWindow KubernetesCluster Maintenance Window Args 
- A maintenance_windowblock as defined below.
- MaintenanceWindow KubernetesAuto Upgrade Cluster Maintenance Window Auto Upgrade Args 
- A maintenance_window_auto_upgradeblock as defined below.
- MaintenanceWindow KubernetesNode Os Cluster Maintenance Window Node Os Args 
- A maintenance_window_node_osblock as defined below.
- MicrosoftDefender KubernetesCluster Microsoft Defender Args 
- A microsoft_defenderblock as defined below.
- MonitorMetrics KubernetesCluster Monitor Metrics Args 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- Name string
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- NetworkProfile KubernetesCluster Network Profile Args 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- NodeOs stringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- NodeResource stringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- OidcIssuer boolEnabled 
- Enable or Disable the OIDC issuer URL
- OmsAgent KubernetesCluster Oms Agent Args 
- A oms_agentblock as defined below.
- OpenService boolMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- PrivateCluster boolEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- PrivateCluster boolPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- PrivateDns stringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- RoleBased boolAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- RunCommand boolEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- ServiceMesh KubernetesProfile Cluster Service Mesh Profile Args 
- A service_mesh_profileblock as defined below.
- ServicePrincipal KubernetesCluster Service Principal Args 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- SkuTier string
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- StorageProfile KubernetesCluster Storage Profile Args 
- A storage_profileblock as defined below.
- SupportPlan string
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- map[string]string
- A mapping of tags to assign to the resource.
- UpgradeOverride KubernetesCluster Upgrade Override Args 
- A upgrade_overrideblock as defined below.
- WebApp KubernetesRouting Cluster Web App Routing Args 
- A web_app_routingblock as defined below.
- WindowsProfile KubernetesCluster Windows Profile Args 
- A windows_profileblock as defined below.
- WorkloadAutoscaler KubernetesProfile Cluster Workload Autoscaler Profile Args 
- A workload_autoscaler_profileblock defined below.
- WorkloadIdentity boolEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- defaultNode KubernetesPool Cluster Default Node Pool 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- resourceGroup StringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- aciConnector KubernetesLinux Cluster Aci Connector Linux 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- apiServer KubernetesAccess Profile Cluster Api Server Access Profile 
- An api_server_access_profileblock as defined below.
- autoScaler KubernetesProfile Cluster Auto Scaler Profile 
- A auto_scaler_profileblock as defined below.
- automaticUpgrade StringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- azureActive KubernetesDirectory Role Based Access Control Cluster Azure Active Directory Role Based Access Control 
- A azure_active_directory_role_based_access_controlblock as defined below.
- azurePolicy BooleanEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- confidentialComputing KubernetesCluster Confidential Computing 
- A confidential_computingblock as defined below. For more details please the documentation
- costAnalysis BooleanEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- diskEncryption StringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- dnsPrefix String
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- dnsPrefix StringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- edgeZone String
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- httpApplication BooleanRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- httpProxy KubernetesConfig Cluster Http Proxy Config 
- A http_proxy_configblock as defined below.
- identity
KubernetesCluster Identity 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- imageCleaner BooleanEnabled 
- Specifies whether Image Cleaner is enabled.
- imageCleaner IntegerInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- ingressApplication KubernetesGateway Cluster Ingress Application Gateway 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- keyManagement KubernetesService Cluster Key Management Service 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- keyVault KubernetesSecrets Provider Cluster Key Vault Secrets Provider 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- kubeletIdentity KubernetesCluster Kubelet Identity 
- A kubelet_identityblock as defined below.
- kubernetesVersion String
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- linuxProfile KubernetesCluster Linux Profile 
- A linux_profileblock as defined below.
- localAccount BooleanDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- location String
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- maintenanceWindow KubernetesCluster Maintenance Window 
- A maintenance_windowblock as defined below.
- maintenanceWindow KubernetesAuto Upgrade Cluster Maintenance Window Auto Upgrade 
- A maintenance_window_auto_upgradeblock as defined below.
- maintenanceWindow KubernetesNode Os Cluster Maintenance Window Node Os 
- A maintenance_window_node_osblock as defined below.
- microsoftDefender KubernetesCluster Microsoft Defender 
- A microsoft_defenderblock as defined below.
- monitorMetrics KubernetesCluster Monitor Metrics 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- name String
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- networkProfile KubernetesCluster Network Profile 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- nodeOs StringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- nodeResource StringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- oidcIssuer BooleanEnabled 
- Enable or Disable the OIDC issuer URL
- omsAgent KubernetesCluster Oms Agent 
- A oms_agentblock as defined below.
- openService BooleanMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- privateCluster BooleanEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- privateCluster BooleanPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- privateDns StringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- roleBased BooleanAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- runCommand BooleanEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- serviceMesh KubernetesProfile Cluster Service Mesh Profile 
- A service_mesh_profileblock as defined below.
- servicePrincipal KubernetesCluster Service Principal 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- skuTier String
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- storageProfile KubernetesCluster Storage Profile 
- A storage_profileblock as defined below.
- supportPlan String
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- Map<String,String>
- A mapping of tags to assign to the resource.
- upgradeOverride KubernetesCluster Upgrade Override 
- A upgrade_overrideblock as defined below.
- webApp KubernetesRouting Cluster Web App Routing 
- A web_app_routingblock as defined below.
- windowsProfile KubernetesCluster Windows Profile 
- A windows_profileblock as defined below.
- workloadAutoscaler KubernetesProfile Cluster Workload Autoscaler Profile 
- A workload_autoscaler_profileblock defined below.
- workloadIdentity BooleanEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- defaultNode KubernetesPool Cluster Default Node Pool 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- resourceGroup stringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- aciConnector KubernetesLinux Cluster Aci Connector Linux 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- apiServer KubernetesAccess Profile Cluster Api Server Access Profile 
- An api_server_access_profileblock as defined below.
- autoScaler KubernetesProfile Cluster Auto Scaler Profile 
- A auto_scaler_profileblock as defined below.
- automaticUpgrade stringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- azureActive KubernetesDirectory Role Based Access Control Cluster Azure Active Directory Role Based Access Control 
- A azure_active_directory_role_based_access_controlblock as defined below.
- azurePolicy booleanEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- confidentialComputing KubernetesCluster Confidential Computing 
- A confidential_computingblock as defined below. For more details please the documentation
- costAnalysis booleanEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- diskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- dnsPrefix string
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- dnsPrefix stringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- edgeZone string
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- httpApplication booleanRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- httpProxy KubernetesConfig Cluster Http Proxy Config 
- A http_proxy_configblock as defined below.
- identity
KubernetesCluster Identity 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- imageCleaner booleanEnabled 
- Specifies whether Image Cleaner is enabled.
- imageCleaner numberInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- ingressApplication KubernetesGateway Cluster Ingress Application Gateway 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- keyManagement KubernetesService Cluster Key Management Service 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- keyVault KubernetesSecrets Provider Cluster Key Vault Secrets Provider 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- kubeletIdentity KubernetesCluster Kubelet Identity 
- A kubelet_identityblock as defined below.
- kubernetesVersion string
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- linuxProfile KubernetesCluster Linux Profile 
- A linux_profileblock as defined below.
- localAccount booleanDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- location string
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- maintenanceWindow KubernetesCluster Maintenance Window 
- A maintenance_windowblock as defined below.
- maintenanceWindow KubernetesAuto Upgrade Cluster Maintenance Window Auto Upgrade 
- A maintenance_window_auto_upgradeblock as defined below.
- maintenanceWindow KubernetesNode Os Cluster Maintenance Window Node Os 
- A maintenance_window_node_osblock as defined below.
- microsoftDefender KubernetesCluster Microsoft Defender 
- A microsoft_defenderblock as defined below.
- monitorMetrics KubernetesCluster Monitor Metrics 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- name string
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- networkProfile KubernetesCluster Network Profile 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- nodeOs stringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- nodeResource stringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- oidcIssuer booleanEnabled 
- Enable or Disable the OIDC issuer URL
- omsAgent KubernetesCluster Oms Agent 
- A oms_agentblock as defined below.
- openService booleanMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- privateCluster booleanEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- privateCluster booleanPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- privateDns stringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- roleBased booleanAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- runCommand booleanEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- serviceMesh KubernetesProfile Cluster Service Mesh Profile 
- A service_mesh_profileblock as defined below.
- servicePrincipal KubernetesCluster Service Principal 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- skuTier string
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- storageProfile KubernetesCluster Storage Profile 
- A storage_profileblock as defined below.
- supportPlan string
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- {[key: string]: string}
- A mapping of tags to assign to the resource.
- upgradeOverride KubernetesCluster Upgrade Override 
- A upgrade_overrideblock as defined below.
- webApp KubernetesRouting Cluster Web App Routing 
- A web_app_routingblock as defined below.
- windowsProfile KubernetesCluster Windows Profile 
- A windows_profileblock as defined below.
- workloadAutoscaler KubernetesProfile Cluster Workload Autoscaler Profile 
- A workload_autoscaler_profileblock defined below.
- workloadIdentity booleanEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- default_node_ Kubernetespool Cluster Default Node Pool Args 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- resource_group_ strname 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- aci_connector_ Kuberneteslinux Cluster Aci Connector Linux Args 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- api_server_ Kubernetesaccess_ profile Cluster Api Server Access Profile Args 
- An api_server_access_profileblock as defined below.
- auto_scaler_ Kubernetesprofile Cluster Auto Scaler Profile Args 
- A auto_scaler_profileblock as defined below.
- automatic_upgrade_ strchannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- azure_active_ Kubernetesdirectory_ role_ based_ access_ control Cluster Azure Active Directory Role Based Access Control Args 
- A azure_active_directory_role_based_access_controlblock as defined below.
- azure_policy_ boolenabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- confidential_computing KubernetesCluster Confidential Computing Args 
- A confidential_computingblock as defined below. For more details please the documentation
- cost_analysis_ boolenabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- disk_encryption_ strset_ id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- dns_prefix str
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- dns_prefix_ strprivate_ cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- edge_zone str
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- http_application_ boolrouting_ enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- http_proxy_ Kubernetesconfig Cluster Http Proxy Config Args 
- A http_proxy_configblock as defined below.
- identity
KubernetesCluster Identity Args 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- image_cleaner_ boolenabled 
- Specifies whether Image Cleaner is enabled.
- image_cleaner_ intinterval_ hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- ingress_application_ Kubernetesgateway Cluster Ingress Application Gateway Args 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- key_management_ Kubernetesservice Cluster Key Management Service Args 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- key_vault_ Kubernetessecrets_ provider Cluster Key Vault Secrets Provider Args 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- kubelet_identity KubernetesCluster Kubelet Identity Args 
- A kubelet_identityblock as defined below.
- kubernetes_version str
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- linux_profile KubernetesCluster Linux Profile Args 
- A linux_profileblock as defined below.
- local_account_ booldisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- location str
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- maintenance_window KubernetesCluster Maintenance Window Args 
- A maintenance_windowblock as defined below.
- maintenance_window_ Kubernetesauto_ upgrade Cluster Maintenance Window Auto Upgrade Args 
- A maintenance_window_auto_upgradeblock as defined below.
- maintenance_window_ Kubernetesnode_ os Cluster Maintenance Window Node Os Args 
- A maintenance_window_node_osblock as defined below.
- microsoft_defender KubernetesCluster Microsoft Defender Args 
- A microsoft_defenderblock as defined below.
- monitor_metrics KubernetesCluster Monitor Metrics Args 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- name str
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- network_profile KubernetesCluster Network Profile Args 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- node_os_ strupgrade_ channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- node_resource_ strgroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- oidc_issuer_ boolenabled 
- Enable or Disable the OIDC issuer URL
- oms_agent KubernetesCluster Oms Agent Args 
- A oms_agentblock as defined below.
- open_service_ boolmesh_ enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- private_cluster_ boolenabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- private_cluster_ boolpublic_ fqdn_ enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- private_dns_ strzone_ id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- role_based_ boolaccess_ control_ enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- run_command_ boolenabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- service_mesh_ Kubernetesprofile Cluster Service Mesh Profile Args 
- A service_mesh_profileblock as defined below.
- service_principal KubernetesCluster Service Principal Args 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- sku_tier str
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- storage_profile KubernetesCluster Storage Profile Args 
- A storage_profileblock as defined below.
- support_plan str
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- Mapping[str, str]
- A mapping of tags to assign to the resource.
- upgrade_override KubernetesCluster Upgrade Override Args 
- A upgrade_overrideblock as defined below.
- web_app_ Kubernetesrouting Cluster Web App Routing Args 
- A web_app_routingblock as defined below.
- windows_profile KubernetesCluster Windows Profile Args 
- A windows_profileblock as defined below.
- workload_autoscaler_ Kubernetesprofile Cluster Workload Autoscaler Profile Args 
- A workload_autoscaler_profileblock defined below.
- workload_identity_ boolenabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- defaultNode Property MapPool 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- resourceGroup StringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- aciConnector Property MapLinux 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- apiServer Property MapAccess Profile 
- An api_server_access_profileblock as defined below.
- autoScaler Property MapProfile 
- A auto_scaler_profileblock as defined below.
- automaticUpgrade StringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- azureActive Property MapDirectory Role Based Access Control 
- A azure_active_directory_role_based_access_controlblock as defined below.
- azurePolicy BooleanEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- confidentialComputing Property Map
- A confidential_computingblock as defined below. For more details please the documentation
- costAnalysis BooleanEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- diskEncryption StringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- dnsPrefix String
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- dnsPrefix StringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- edgeZone String
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- httpApplication BooleanRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- httpProxy Property MapConfig 
- A http_proxy_configblock as defined below.
- identity Property Map
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- imageCleaner BooleanEnabled 
- Specifies whether Image Cleaner is enabled.
- imageCleaner NumberInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- ingressApplication Property MapGateway 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- keyManagement Property MapService 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- keyVault Property MapSecrets Provider 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- kubeletIdentity Property Map
- A kubelet_identityblock as defined below.
- kubernetesVersion String
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- linuxProfile Property Map
- A linux_profileblock as defined below.
- localAccount BooleanDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- location String
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- maintenanceWindow Property Map
- A maintenance_windowblock as defined below.
- maintenanceWindow Property MapAuto Upgrade 
- A maintenance_window_auto_upgradeblock as defined below.
- maintenanceWindow Property MapNode Os 
- A maintenance_window_node_osblock as defined below.
- microsoftDefender Property Map
- A microsoft_defenderblock as defined below.
- monitorMetrics Property Map
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- name String
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- networkProfile Property Map
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- nodeOs StringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- nodeResource StringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- oidcIssuer BooleanEnabled 
- Enable or Disable the OIDC issuer URL
- omsAgent Property Map
- A oms_agentblock as defined below.
- openService BooleanMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- privateCluster BooleanEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- privateCluster BooleanPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- privateDns StringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- roleBased BooleanAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- runCommand BooleanEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- serviceMesh Property MapProfile 
- A service_mesh_profileblock as defined below.
- servicePrincipal Property Map
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- skuTier String
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- storageProfile Property Map
- A storage_profileblock as defined below.
- supportPlan String
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- Map<String>
- A mapping of tags to assign to the resource.
- upgradeOverride Property Map
- A upgrade_overrideblock as defined below.
- webApp Property MapRouting 
- A web_app_routingblock as defined below.
- windowsProfile Property Map
- A windows_profileblock as defined below.
- workloadAutoscaler Property MapProfile 
- A workload_autoscaler_profileblock defined below.
- workloadIdentity BooleanEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
Outputs
All input properties are implicitly available as output properties. Additionally, the KubernetesCluster resource produces the following output properties:
- CurrentKubernetes stringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- Fqdn string
- The FQDN of the Azure Kubernetes Managed Cluster.
- HttpApplication stringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- Id string
- The provider-assigned unique ID for this managed resource.
- KubeAdmin stringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- KubeAdmin List<KubernetesConfigs Cluster Kube Admin Config> 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- KubeConfig stringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- KubeConfigs List<KubernetesCluster Kube Config> 
- A kube_configblock as defined below.
- NodeResource stringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- OidcIssuer stringUrl 
- The OIDC issuer URL that is associated with the cluster.
- PortalFqdn string
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- PrivateFqdn string
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- CurrentKubernetes stringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- Fqdn string
- The FQDN of the Azure Kubernetes Managed Cluster.
- HttpApplication stringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- Id string
- The provider-assigned unique ID for this managed resource.
- KubeAdmin stringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- KubeAdmin []KubernetesConfigs Cluster Kube Admin Config 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- KubeConfig stringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- KubeConfigs []KubernetesCluster Kube Config 
- A kube_configblock as defined below.
- NodeResource stringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- OidcIssuer stringUrl 
- The OIDC issuer URL that is associated with the cluster.
- PortalFqdn string
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- PrivateFqdn string
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- currentKubernetes StringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- fqdn String
- The FQDN of the Azure Kubernetes Managed Cluster.
- httpApplication StringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- id String
- The provider-assigned unique ID for this managed resource.
- kubeAdmin StringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeAdmin List<KubernetesConfigs Cluster Kube Admin Config> 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeConfig StringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- kubeConfigs List<KubernetesCluster Kube Config> 
- A kube_configblock as defined below.
- nodeResource StringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- oidcIssuer StringUrl 
- The OIDC issuer URL that is associated with the cluster.
- portalFqdn String
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- privateFqdn String
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- currentKubernetes stringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- fqdn string
- The FQDN of the Azure Kubernetes Managed Cluster.
- httpApplication stringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- id string
- The provider-assigned unique ID for this managed resource.
- kubeAdmin stringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeAdmin KubernetesConfigs Cluster Kube Admin Config[] 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeConfig stringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- kubeConfigs KubernetesCluster Kube Config[] 
- A kube_configblock as defined below.
- nodeResource stringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- oidcIssuer stringUrl 
- The OIDC issuer URL that is associated with the cluster.
- portalFqdn string
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- privateFqdn string
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- current_kubernetes_ strversion 
- The current version running on the Azure Kubernetes Managed Cluster.
- fqdn str
- The FQDN of the Azure Kubernetes Managed Cluster.
- http_application_ strrouting_ zone_ name 
- The Zone Name of the HTTP Application Routing.
- id str
- The provider-assigned unique ID for this managed resource.
- kube_admin_ strconfig_ raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kube_admin_ Sequence[Kubernetesconfigs Cluster Kube Admin Config] 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kube_config_ strraw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- kube_configs Sequence[KubernetesCluster Kube Config] 
- A kube_configblock as defined below.
- node_resource_ strgroup_ id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- oidc_issuer_ strurl 
- The OIDC issuer URL that is associated with the cluster.
- portal_fqdn str
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- private_fqdn str
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- currentKubernetes StringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- fqdn String
- The FQDN of the Azure Kubernetes Managed Cluster.
- httpApplication StringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- id String
- The provider-assigned unique ID for this managed resource.
- kubeAdmin StringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeAdmin List<Property Map>Configs 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeConfig StringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- kubeConfigs List<Property Map>
- A kube_configblock as defined below.
- nodeResource StringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- oidcIssuer StringUrl 
- The OIDC issuer URL that is associated with the cluster.
- portalFqdn String
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- privateFqdn String
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
Look up Existing KubernetesCluster Resource
Get an existing KubernetesCluster 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?: KubernetesClusterState, opts?: CustomResourceOptions): KubernetesCluster@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        aci_connector_linux: Optional[KubernetesClusterAciConnectorLinuxArgs] = None,
        api_server_access_profile: Optional[KubernetesClusterApiServerAccessProfileArgs] = None,
        auto_scaler_profile: Optional[KubernetesClusterAutoScalerProfileArgs] = None,
        automatic_upgrade_channel: Optional[str] = None,
        azure_active_directory_role_based_access_control: Optional[KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs] = None,
        azure_policy_enabled: Optional[bool] = None,
        confidential_computing: Optional[KubernetesClusterConfidentialComputingArgs] = None,
        cost_analysis_enabled: Optional[bool] = None,
        current_kubernetes_version: Optional[str] = None,
        default_node_pool: Optional[KubernetesClusterDefaultNodePoolArgs] = None,
        disk_encryption_set_id: Optional[str] = None,
        dns_prefix: Optional[str] = None,
        dns_prefix_private_cluster: Optional[str] = None,
        edge_zone: Optional[str] = None,
        fqdn: Optional[str] = None,
        http_application_routing_enabled: Optional[bool] = None,
        http_application_routing_zone_name: Optional[str] = None,
        http_proxy_config: Optional[KubernetesClusterHttpProxyConfigArgs] = None,
        identity: Optional[KubernetesClusterIdentityArgs] = None,
        image_cleaner_enabled: Optional[bool] = None,
        image_cleaner_interval_hours: Optional[int] = None,
        ingress_application_gateway: Optional[KubernetesClusterIngressApplicationGatewayArgs] = None,
        key_management_service: Optional[KubernetesClusterKeyManagementServiceArgs] = None,
        key_vault_secrets_provider: Optional[KubernetesClusterKeyVaultSecretsProviderArgs] = None,
        kube_admin_config_raw: Optional[str] = None,
        kube_admin_configs: Optional[Sequence[KubernetesClusterKubeAdminConfigArgs]] = None,
        kube_config_raw: Optional[str] = None,
        kube_configs: Optional[Sequence[KubernetesClusterKubeConfigArgs]] = None,
        kubelet_identity: Optional[KubernetesClusterKubeletIdentityArgs] = None,
        kubernetes_version: Optional[str] = None,
        linux_profile: Optional[KubernetesClusterLinuxProfileArgs] = None,
        local_account_disabled: Optional[bool] = None,
        location: Optional[str] = None,
        maintenance_window: Optional[KubernetesClusterMaintenanceWindowArgs] = None,
        maintenance_window_auto_upgrade: Optional[KubernetesClusterMaintenanceWindowAutoUpgradeArgs] = None,
        maintenance_window_node_os: Optional[KubernetesClusterMaintenanceWindowNodeOsArgs] = None,
        microsoft_defender: Optional[KubernetesClusterMicrosoftDefenderArgs] = None,
        monitor_metrics: Optional[KubernetesClusterMonitorMetricsArgs] = None,
        name: Optional[str] = None,
        network_profile: Optional[KubernetesClusterNetworkProfileArgs] = None,
        node_os_upgrade_channel: Optional[str] = None,
        node_resource_group: Optional[str] = None,
        node_resource_group_id: Optional[str] = None,
        oidc_issuer_enabled: Optional[bool] = None,
        oidc_issuer_url: Optional[str] = None,
        oms_agent: Optional[KubernetesClusterOmsAgentArgs] = None,
        open_service_mesh_enabled: Optional[bool] = None,
        portal_fqdn: Optional[str] = None,
        private_cluster_enabled: Optional[bool] = None,
        private_cluster_public_fqdn_enabled: Optional[bool] = None,
        private_dns_zone_id: Optional[str] = None,
        private_fqdn: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        role_based_access_control_enabled: Optional[bool] = None,
        run_command_enabled: Optional[bool] = None,
        service_mesh_profile: Optional[KubernetesClusterServiceMeshProfileArgs] = None,
        service_principal: Optional[KubernetesClusterServicePrincipalArgs] = None,
        sku_tier: Optional[str] = None,
        storage_profile: Optional[KubernetesClusterStorageProfileArgs] = None,
        support_plan: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        upgrade_override: Optional[KubernetesClusterUpgradeOverrideArgs] = None,
        web_app_routing: Optional[KubernetesClusterWebAppRoutingArgs] = None,
        windows_profile: Optional[KubernetesClusterWindowsProfileArgs] = None,
        workload_autoscaler_profile: Optional[KubernetesClusterWorkloadAutoscalerProfileArgs] = None,
        workload_identity_enabled: Optional[bool] = None) -> KubernetesClusterfunc GetKubernetesCluster(ctx *Context, name string, id IDInput, state *KubernetesClusterState, opts ...ResourceOption) (*KubernetesCluster, error)public static KubernetesCluster Get(string name, Input<string> id, KubernetesClusterState? state, CustomResourceOptions? opts = null)public static KubernetesCluster get(String name, Output<String> id, KubernetesClusterState state, CustomResourceOptions options)resources:  _:    type: azure:containerservice:KubernetesCluster    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- AciConnector KubernetesLinux Cluster Aci Connector Linux 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- ApiServer KubernetesAccess Profile Cluster Api Server Access Profile 
- An api_server_access_profileblock as defined below.
- AutoScaler KubernetesProfile Cluster Auto Scaler Profile 
- A auto_scaler_profileblock as defined below.
- AutomaticUpgrade stringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- AzureActive KubernetesDirectory Role Based Access Control Cluster Azure Active Directory Role Based Access Control 
- A azure_active_directory_role_based_access_controlblock as defined below.
- AzurePolicy boolEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- ConfidentialComputing KubernetesCluster Confidential Computing 
- A confidential_computingblock as defined below. For more details please the documentation
- CostAnalysis boolEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- CurrentKubernetes stringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- DefaultNode KubernetesPool Cluster Default Node Pool 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- DiskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- DnsPrefix string
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- DnsPrefix stringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- EdgeZone string
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- Fqdn string
- The FQDN of the Azure Kubernetes Managed Cluster.
- HttpApplication boolRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- HttpApplication stringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- HttpProxy KubernetesConfig Cluster Http Proxy Config 
- A http_proxy_configblock as defined below.
- Identity
KubernetesCluster Identity 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- ImageCleaner boolEnabled 
- Specifies whether Image Cleaner is enabled.
- ImageCleaner intInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- IngressApplication KubernetesGateway Cluster Ingress Application Gateway 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- KeyManagement KubernetesService Cluster Key Management Service 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- KeyVault KubernetesSecrets Provider Cluster Key Vault Secrets Provider 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- KubeAdmin stringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- KubeAdmin List<KubernetesConfigs Cluster Kube Admin Config> 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- KubeConfig stringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- KubeConfigs List<KubernetesCluster Kube Config> 
- A kube_configblock as defined below.
- KubeletIdentity KubernetesCluster Kubelet Identity 
- A kubelet_identityblock as defined below.
- KubernetesVersion string
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- LinuxProfile KubernetesCluster Linux Profile 
- A linux_profileblock as defined below.
- LocalAccount boolDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- Location string
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- MaintenanceWindow KubernetesCluster Maintenance Window 
- A maintenance_windowblock as defined below.
- MaintenanceWindow KubernetesAuto Upgrade Cluster Maintenance Window Auto Upgrade 
- A maintenance_window_auto_upgradeblock as defined below.
- MaintenanceWindow KubernetesNode Os Cluster Maintenance Window Node Os 
- A maintenance_window_node_osblock as defined below.
- MicrosoftDefender KubernetesCluster Microsoft Defender 
- A microsoft_defenderblock as defined below.
- MonitorMetrics KubernetesCluster Monitor Metrics 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- Name string
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- NetworkProfile KubernetesCluster Network Profile 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- NodeOs stringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- NodeResource stringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- NodeResource stringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- OidcIssuer boolEnabled 
- Enable or Disable the OIDC issuer URL
- OidcIssuer stringUrl 
- The OIDC issuer URL that is associated with the cluster.
- OmsAgent KubernetesCluster Oms Agent 
- A oms_agentblock as defined below.
- OpenService boolMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- PortalFqdn string
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- PrivateCluster boolEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- PrivateCluster boolPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- PrivateDns stringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- PrivateFqdn string
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- ResourceGroup stringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- RoleBased boolAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- RunCommand boolEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- ServiceMesh KubernetesProfile Cluster Service Mesh Profile 
- A service_mesh_profileblock as defined below.
- ServicePrincipal KubernetesCluster Service Principal 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- SkuTier string
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- StorageProfile KubernetesCluster Storage Profile 
- A storage_profileblock as defined below.
- SupportPlan string
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- Dictionary<string, string>
- A mapping of tags to assign to the resource.
- UpgradeOverride KubernetesCluster Upgrade Override 
- A upgrade_overrideblock as defined below.
- WebApp KubernetesRouting Cluster Web App Routing 
- A web_app_routingblock as defined below.
- WindowsProfile KubernetesCluster Windows Profile 
- A windows_profileblock as defined below.
- WorkloadAutoscaler KubernetesProfile Cluster Workload Autoscaler Profile 
- A workload_autoscaler_profileblock defined below.
- WorkloadIdentity boolEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- AciConnector KubernetesLinux Cluster Aci Connector Linux Args 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- ApiServer KubernetesAccess Profile Cluster Api Server Access Profile Args 
- An api_server_access_profileblock as defined below.
- AutoScaler KubernetesProfile Cluster Auto Scaler Profile Args 
- A auto_scaler_profileblock as defined below.
- AutomaticUpgrade stringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- AzureActive KubernetesDirectory Role Based Access Control Cluster Azure Active Directory Role Based Access Control Args 
- A azure_active_directory_role_based_access_controlblock as defined below.
- AzurePolicy boolEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- ConfidentialComputing KubernetesCluster Confidential Computing Args 
- A confidential_computingblock as defined below. For more details please the documentation
- CostAnalysis boolEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- CurrentKubernetes stringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- DefaultNode KubernetesPool Cluster Default Node Pool Args 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- DiskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- DnsPrefix string
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- DnsPrefix stringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- EdgeZone string
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- Fqdn string
- The FQDN of the Azure Kubernetes Managed Cluster.
- HttpApplication boolRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- HttpApplication stringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- HttpProxy KubernetesConfig Cluster Http Proxy Config Args 
- A http_proxy_configblock as defined below.
- Identity
KubernetesCluster Identity Args 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- ImageCleaner boolEnabled 
- Specifies whether Image Cleaner is enabled.
- ImageCleaner intInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- IngressApplication KubernetesGateway Cluster Ingress Application Gateway Args 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- KeyManagement KubernetesService Cluster Key Management Service Args 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- KeyVault KubernetesSecrets Provider Cluster Key Vault Secrets Provider Args 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- KubeAdmin stringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- KubeAdmin []KubernetesConfigs Cluster Kube Admin Config Args 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- KubeConfig stringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- KubeConfigs []KubernetesCluster Kube Config Args 
- A kube_configblock as defined below.
- KubeletIdentity KubernetesCluster Kubelet Identity Args 
- A kubelet_identityblock as defined below.
- KubernetesVersion string
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- LinuxProfile KubernetesCluster Linux Profile Args 
- A linux_profileblock as defined below.
- LocalAccount boolDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- Location string
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- MaintenanceWindow KubernetesCluster Maintenance Window Args 
- A maintenance_windowblock as defined below.
- MaintenanceWindow KubernetesAuto Upgrade Cluster Maintenance Window Auto Upgrade Args 
- A maintenance_window_auto_upgradeblock as defined below.
- MaintenanceWindow KubernetesNode Os Cluster Maintenance Window Node Os Args 
- A maintenance_window_node_osblock as defined below.
- MicrosoftDefender KubernetesCluster Microsoft Defender Args 
- A microsoft_defenderblock as defined below.
- MonitorMetrics KubernetesCluster Monitor Metrics Args 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- Name string
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- NetworkProfile KubernetesCluster Network Profile Args 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- NodeOs stringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- NodeResource stringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- NodeResource stringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- OidcIssuer boolEnabled 
- Enable or Disable the OIDC issuer URL
- OidcIssuer stringUrl 
- The OIDC issuer URL that is associated with the cluster.
- OmsAgent KubernetesCluster Oms Agent Args 
- A oms_agentblock as defined below.
- OpenService boolMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- PortalFqdn string
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- PrivateCluster boolEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- PrivateCluster boolPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- PrivateDns stringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- PrivateFqdn string
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- ResourceGroup stringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- RoleBased boolAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- RunCommand boolEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- ServiceMesh KubernetesProfile Cluster Service Mesh Profile Args 
- A service_mesh_profileblock as defined below.
- ServicePrincipal KubernetesCluster Service Principal Args 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- SkuTier string
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- StorageProfile KubernetesCluster Storage Profile Args 
- A storage_profileblock as defined below.
- SupportPlan string
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- map[string]string
- A mapping of tags to assign to the resource.
- UpgradeOverride KubernetesCluster Upgrade Override Args 
- A upgrade_overrideblock as defined below.
- WebApp KubernetesRouting Cluster Web App Routing Args 
- A web_app_routingblock as defined below.
- WindowsProfile KubernetesCluster Windows Profile Args 
- A windows_profileblock as defined below.
- WorkloadAutoscaler KubernetesProfile Cluster Workload Autoscaler Profile Args 
- A workload_autoscaler_profileblock defined below.
- WorkloadIdentity boolEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- aciConnector KubernetesLinux Cluster Aci Connector Linux 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- apiServer KubernetesAccess Profile Cluster Api Server Access Profile 
- An api_server_access_profileblock as defined below.
- autoScaler KubernetesProfile Cluster Auto Scaler Profile 
- A auto_scaler_profileblock as defined below.
- automaticUpgrade StringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- azureActive KubernetesDirectory Role Based Access Control Cluster Azure Active Directory Role Based Access Control 
- A azure_active_directory_role_based_access_controlblock as defined below.
- azurePolicy BooleanEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- confidentialComputing KubernetesCluster Confidential Computing 
- A confidential_computingblock as defined below. For more details please the documentation
- costAnalysis BooleanEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- currentKubernetes StringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- defaultNode KubernetesPool Cluster Default Node Pool 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- diskEncryption StringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- dnsPrefix String
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- dnsPrefix StringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- edgeZone String
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- fqdn String
- The FQDN of the Azure Kubernetes Managed Cluster.
- httpApplication BooleanRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- httpApplication StringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- httpProxy KubernetesConfig Cluster Http Proxy Config 
- A http_proxy_configblock as defined below.
- identity
KubernetesCluster Identity 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- imageCleaner BooleanEnabled 
- Specifies whether Image Cleaner is enabled.
- imageCleaner IntegerInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- ingressApplication KubernetesGateway Cluster Ingress Application Gateway 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- keyManagement KubernetesService Cluster Key Management Service 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- keyVault KubernetesSecrets Provider Cluster Key Vault Secrets Provider 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- kubeAdmin StringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeAdmin List<KubernetesConfigs Cluster Kube Admin Config> 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeConfig StringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- kubeConfigs List<KubernetesCluster Kube Config> 
- A kube_configblock as defined below.
- kubeletIdentity KubernetesCluster Kubelet Identity 
- A kubelet_identityblock as defined below.
- kubernetesVersion String
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- linuxProfile KubernetesCluster Linux Profile 
- A linux_profileblock as defined below.
- localAccount BooleanDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- location String
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- maintenanceWindow KubernetesCluster Maintenance Window 
- A maintenance_windowblock as defined below.
- maintenanceWindow KubernetesAuto Upgrade Cluster Maintenance Window Auto Upgrade 
- A maintenance_window_auto_upgradeblock as defined below.
- maintenanceWindow KubernetesNode Os Cluster Maintenance Window Node Os 
- A maintenance_window_node_osblock as defined below.
- microsoftDefender KubernetesCluster Microsoft Defender 
- A microsoft_defenderblock as defined below.
- monitorMetrics KubernetesCluster Monitor Metrics 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- name String
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- networkProfile KubernetesCluster Network Profile 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- nodeOs StringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- nodeResource StringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- nodeResource StringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- oidcIssuer BooleanEnabled 
- Enable or Disable the OIDC issuer URL
- oidcIssuer StringUrl 
- The OIDC issuer URL that is associated with the cluster.
- omsAgent KubernetesCluster Oms Agent 
- A oms_agentblock as defined below.
- openService BooleanMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- portalFqdn String
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- privateCluster BooleanEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- privateCluster BooleanPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- privateDns StringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- privateFqdn String
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- resourceGroup StringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- roleBased BooleanAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- runCommand BooleanEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- serviceMesh KubernetesProfile Cluster Service Mesh Profile 
- A service_mesh_profileblock as defined below.
- servicePrincipal KubernetesCluster Service Principal 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- skuTier String
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- storageProfile KubernetesCluster Storage Profile 
- A storage_profileblock as defined below.
- supportPlan String
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- Map<String,String>
- A mapping of tags to assign to the resource.
- upgradeOverride KubernetesCluster Upgrade Override 
- A upgrade_overrideblock as defined below.
- webApp KubernetesRouting Cluster Web App Routing 
- A web_app_routingblock as defined below.
- windowsProfile KubernetesCluster Windows Profile 
- A windows_profileblock as defined below.
- workloadAutoscaler KubernetesProfile Cluster Workload Autoscaler Profile 
- A workload_autoscaler_profileblock defined below.
- workloadIdentity BooleanEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- aciConnector KubernetesLinux Cluster Aci Connector Linux 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- apiServer KubernetesAccess Profile Cluster Api Server Access Profile 
- An api_server_access_profileblock as defined below.
- autoScaler KubernetesProfile Cluster Auto Scaler Profile 
- A auto_scaler_profileblock as defined below.
- automaticUpgrade stringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- azureActive KubernetesDirectory Role Based Access Control Cluster Azure Active Directory Role Based Access Control 
- A azure_active_directory_role_based_access_controlblock as defined below.
- azurePolicy booleanEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- confidentialComputing KubernetesCluster Confidential Computing 
- A confidential_computingblock as defined below. For more details please the documentation
- costAnalysis booleanEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- currentKubernetes stringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- defaultNode KubernetesPool Cluster Default Node Pool 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- diskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- dnsPrefix string
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- dnsPrefix stringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- edgeZone string
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- fqdn string
- The FQDN of the Azure Kubernetes Managed Cluster.
- httpApplication booleanRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- httpApplication stringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- httpProxy KubernetesConfig Cluster Http Proxy Config 
- A http_proxy_configblock as defined below.
- identity
KubernetesCluster Identity 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- imageCleaner booleanEnabled 
- Specifies whether Image Cleaner is enabled.
- imageCleaner numberInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- ingressApplication KubernetesGateway Cluster Ingress Application Gateway 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- keyManagement KubernetesService Cluster Key Management Service 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- keyVault KubernetesSecrets Provider Cluster Key Vault Secrets Provider 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- kubeAdmin stringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeAdmin KubernetesConfigs Cluster Kube Admin Config[] 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeConfig stringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- kubeConfigs KubernetesCluster Kube Config[] 
- A kube_configblock as defined below.
- kubeletIdentity KubernetesCluster Kubelet Identity 
- A kubelet_identityblock as defined below.
- kubernetesVersion string
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- linuxProfile KubernetesCluster Linux Profile 
- A linux_profileblock as defined below.
- localAccount booleanDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- location string
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- maintenanceWindow KubernetesCluster Maintenance Window 
- A maintenance_windowblock as defined below.
- maintenanceWindow KubernetesAuto Upgrade Cluster Maintenance Window Auto Upgrade 
- A maintenance_window_auto_upgradeblock as defined below.
- maintenanceWindow KubernetesNode Os Cluster Maintenance Window Node Os 
- A maintenance_window_node_osblock as defined below.
- microsoftDefender KubernetesCluster Microsoft Defender 
- A microsoft_defenderblock as defined below.
- monitorMetrics KubernetesCluster Monitor Metrics 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- name string
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- networkProfile KubernetesCluster Network Profile 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- nodeOs stringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- nodeResource stringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- nodeResource stringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- oidcIssuer booleanEnabled 
- Enable or Disable the OIDC issuer URL
- oidcIssuer stringUrl 
- The OIDC issuer URL that is associated with the cluster.
- omsAgent KubernetesCluster Oms Agent 
- A oms_agentblock as defined below.
- openService booleanMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- portalFqdn string
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- privateCluster booleanEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- privateCluster booleanPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- privateDns stringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- privateFqdn string
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- resourceGroup stringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- roleBased booleanAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- runCommand booleanEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- serviceMesh KubernetesProfile Cluster Service Mesh Profile 
- A service_mesh_profileblock as defined below.
- servicePrincipal KubernetesCluster Service Principal 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- skuTier string
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- storageProfile KubernetesCluster Storage Profile 
- A storage_profileblock as defined below.
- supportPlan string
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- {[key: string]: string}
- A mapping of tags to assign to the resource.
- upgradeOverride KubernetesCluster Upgrade Override 
- A upgrade_overrideblock as defined below.
- webApp KubernetesRouting Cluster Web App Routing 
- A web_app_routingblock as defined below.
- windowsProfile KubernetesCluster Windows Profile 
- A windows_profileblock as defined below.
- workloadAutoscaler KubernetesProfile Cluster Workload Autoscaler Profile 
- A workload_autoscaler_profileblock defined below.
- workloadIdentity booleanEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- aci_connector_ Kuberneteslinux Cluster Aci Connector Linux Args 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- api_server_ Kubernetesaccess_ profile Cluster Api Server Access Profile Args 
- An api_server_access_profileblock as defined below.
- auto_scaler_ Kubernetesprofile Cluster Auto Scaler Profile Args 
- A auto_scaler_profileblock as defined below.
- automatic_upgrade_ strchannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- azure_active_ Kubernetesdirectory_ role_ based_ access_ control Cluster Azure Active Directory Role Based Access Control Args 
- A azure_active_directory_role_based_access_controlblock as defined below.
- azure_policy_ boolenabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- confidential_computing KubernetesCluster Confidential Computing Args 
- A confidential_computingblock as defined below. For more details please the documentation
- cost_analysis_ boolenabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- current_kubernetes_ strversion 
- The current version running on the Azure Kubernetes Managed Cluster.
- default_node_ Kubernetespool Cluster Default Node Pool Args 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- disk_encryption_ strset_ id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- dns_prefix str
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- dns_prefix_ strprivate_ cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- edge_zone str
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- fqdn str
- The FQDN of the Azure Kubernetes Managed Cluster.
- http_application_ boolrouting_ enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- http_application_ strrouting_ zone_ name 
- The Zone Name of the HTTP Application Routing.
- http_proxy_ Kubernetesconfig Cluster Http Proxy Config Args 
- A http_proxy_configblock as defined below.
- identity
KubernetesCluster Identity Args 
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- image_cleaner_ boolenabled 
- Specifies whether Image Cleaner is enabled.
- image_cleaner_ intinterval_ hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- ingress_application_ Kubernetesgateway Cluster Ingress Application Gateway Args 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- key_management_ Kubernetesservice Cluster Key Management Service Args 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- key_vault_ Kubernetessecrets_ provider Cluster Key Vault Secrets Provider Args 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- kube_admin_ strconfig_ raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kube_admin_ Sequence[Kubernetesconfigs Cluster Kube Admin Config Args] 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kube_config_ strraw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- kube_configs Sequence[KubernetesCluster Kube Config Args] 
- A kube_configblock as defined below.
- kubelet_identity KubernetesCluster Kubelet Identity Args 
- A kubelet_identityblock as defined below.
- kubernetes_version str
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- linux_profile KubernetesCluster Linux Profile Args 
- A linux_profileblock as defined below.
- local_account_ booldisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- location str
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- maintenance_window KubernetesCluster Maintenance Window Args 
- A maintenance_windowblock as defined below.
- maintenance_window_ Kubernetesauto_ upgrade Cluster Maintenance Window Auto Upgrade Args 
- A maintenance_window_auto_upgradeblock as defined below.
- maintenance_window_ Kubernetesnode_ os Cluster Maintenance Window Node Os Args 
- A maintenance_window_node_osblock as defined below.
- microsoft_defender KubernetesCluster Microsoft Defender Args 
- A microsoft_defenderblock as defined below.
- monitor_metrics KubernetesCluster Monitor Metrics Args 
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- name str
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- network_profile KubernetesCluster Network Profile Args 
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- node_os_ strupgrade_ channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- node_resource_ strgroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- node_resource_ strgroup_ id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- oidc_issuer_ boolenabled 
- Enable or Disable the OIDC issuer URL
- oidc_issuer_ strurl 
- The OIDC issuer URL that is associated with the cluster.
- oms_agent KubernetesCluster Oms Agent Args 
- A oms_agentblock as defined below.
- open_service_ boolmesh_ enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- portal_fqdn str
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- private_cluster_ boolenabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- private_cluster_ boolpublic_ fqdn_ enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- private_dns_ strzone_ id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- private_fqdn str
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- resource_group_ strname 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- role_based_ boolaccess_ control_ enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- run_command_ boolenabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- service_mesh_ Kubernetesprofile Cluster Service Mesh Profile Args 
- A service_mesh_profileblock as defined below.
- service_principal KubernetesCluster Service Principal Args 
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- sku_tier str
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- storage_profile KubernetesCluster Storage Profile Args 
- A storage_profileblock as defined below.
- support_plan str
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- Mapping[str, str]
- A mapping of tags to assign to the resource.
- upgrade_override KubernetesCluster Upgrade Override Args 
- A upgrade_overrideblock as defined below.
- web_app_ Kubernetesrouting Cluster Web App Routing Args 
- A web_app_routingblock as defined below.
- windows_profile KubernetesCluster Windows Profile Args 
- A windows_profileblock as defined below.
- workload_autoscaler_ Kubernetesprofile Cluster Workload Autoscaler Profile Args 
- A workload_autoscaler_profileblock defined below.
- workload_identity_ boolenabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
- aciConnector Property MapLinux 
- A aci_connector_linuxblock as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
- apiServer Property MapAccess Profile 
- An api_server_access_profileblock as defined below.
- autoScaler Property MapProfile 
- A auto_scaler_profileblock as defined below.
- automaticUpgrade StringChannel 
- The upgrade channel for this Kubernetes Cluster. Possible values are - patch,- rapid,- node-imageand- stable. Omitting this field sets this value to- none.- !> Note: Cluster Auto-Upgrade will update the Kubernetes Cluster (and its Node Pools) to the latest GA version of Kubernetes automatically - please see the Azure documentation for more information. - Note: Cluster Auto-Upgrade only updates to GA versions of Kubernetes and will not update to Preview versions. 
- azureActive Property MapDirectory Role Based Access Control 
- A azure_active_directory_role_based_access_controlblock as defined below.
- azurePolicy BooleanEnabled 
- Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
- confidentialComputing Property Map
- A confidential_computingblock as defined below. For more details please the documentation
- costAnalysis BooleanEnabled 
- Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. Thesku_tiermust be set toStandardorPremiumto enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
- currentKubernetes StringVersion 
- The current version running on the Azure Kubernetes Managed Cluster.
- defaultNode Property MapPool 
- Specifies configuration for "System" mode node pool. A default_node_poolblock as defined below.
- diskEncryption StringSet Id 
- The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
- dnsPrefix String
- DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
- dnsPrefix StringPrivate Cluster 
- Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created. - Note: You must define either a - dns_prefixor a- dns_prefix_private_clusterfield.- In addition, one of either - identityor- service_principalblocks must be specified.
- edgeZone String
- Specifies the Extended Zone (formerly called Edge Zone) within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- fqdn String
- The FQDN of the Azure Kubernetes Managed Cluster.
- httpApplication BooleanRouting Enabled 
- Should HTTP Application Routing be enabled? - Note: At this time HTTP Application Routing is not supported in Azure China or Azure US Government. 
- httpApplication StringRouting Zone Name 
- The Zone Name of the HTTP Application Routing.
- httpProxy Property MapConfig 
- A http_proxy_configblock as defined below.
- identity Property Map
- An - identityblock as defined below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- imageCleaner BooleanEnabled 
- Specifies whether Image Cleaner is enabled.
- imageCleaner NumberInterval Hours 
- Specifies the interval in hours when images should be cleaned up. Defaults to 0.
- ingressApplication Property MapGateway 
- A - ingress_application_gatewayblock as defined below.- Note: Since the Application Gateway is deployed inside a Virtual Network, users (and Service Principals) that are operating the Application Gateway must have the - Microsoft.Network/virtualNetworks/subnets/join/actionpermission on the Virtual Network or Subnet. For more details, please visit Virtual Network Permission.
- keyManagement Property MapService 
- A key_management_serviceblock as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
- keyVault Property MapSecrets Provider 
- A key_vault_secrets_providerblock as defined below. For more details, please visit Azure Keyvault Secrets Provider for AKS.
- kubeAdmin StringConfig Raw 
- Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeAdmin List<Property Map>Configs 
- A kube_admin_configblock as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled and local accounts enabled.
- kubeConfig StringRaw 
- Raw Kubernetes config to be used by kubectl and other compatible tools.
- kubeConfigs List<Property Map>
- A kube_configblock as defined below.
- kubeletIdentity Property Map
- A kubelet_identityblock as defined below.
- kubernetesVersion String
- Version of Kubernetes specified when creating the AKS managed cluster. 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.22are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.- Note: Upgrading your cluster may take up to 10 minutes per node. 
- linuxProfile Property Map
- A linux_profileblock as defined below.
- localAccount BooleanDisabled 
- If - truelocal accounts will be disabled. See the documentation for more information.- Note: If - local_account_disabledis set to- true, it is required to enable Kubernetes RBAC and AKS-managed Azure AD integration. See the documentation for more information.
- location String
- The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
- maintenanceWindow Property Map
- A maintenance_windowblock as defined below.
- maintenanceWindow Property MapAuto Upgrade 
- A maintenance_window_auto_upgradeblock as defined below.
- maintenanceWindow Property MapNode Os 
- A maintenance_window_node_osblock as defined below.
- microsoftDefender Property Map
- A microsoft_defenderblock as defined below.
- monitorMetrics Property Map
- Specifies a Prometheus add-on profile for the Kubernetes Cluster. A - monitor_metricsblock as defined below.- Note: If deploying Managed Prometheus, the - monitor_metricsproperties are required to configure the cluster for metrics collection. If no value is needed, set properties to- null.
- name String
- The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
- networkProfile Property Map
- A - network_profileblock as defined below. Changing this forces a new resource to be created.- Note: If - network_profileis not defined,- kubenetprofile will be used by default.
- nodeOs StringUpgrade Channel 
- The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are - Unmanaged,- SecurityPatch,- NodeImageand- None. Defaults to- NodeImage.- Note: - node_os_upgrade_channelmust be set to- NodeImageif- automatic_upgrade_channelhas been set to- node-image
- nodeResource StringGroup 
- The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created. - Note: Azure requires that a new, non-existent Resource Group is used, as otherwise, the provisioning of the Kubernetes Service will fail. 
- nodeResource StringGroup Id 
- The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
- oidcIssuer BooleanEnabled 
- Enable or Disable the OIDC issuer URL
- oidcIssuer StringUrl 
- The OIDC issuer URL that is associated with the cluster.
- omsAgent Property Map
- A oms_agentblock as defined below.
- openService BooleanMesh Enabled 
- Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
- portalFqdn String
- The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- privateCluster BooleanEnabled 
- Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
- privateCluster BooleanPublic Fqdn Enabled 
- Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to - false.- Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the - Private DNS Zone Contributorrole and access to this Private DNS Zone. If- UserAssignedidentity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:- import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const example = new azure.core.ResourceGroup("example", { name: "example", location: "West Europe", }); const exampleZone = new azure.privatedns.Zone("example", { name: "privatelink.eastus2.azmk8s.io", resourceGroupName: example.name, }); const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", { name: "aks-example-identity", resourceGroupName: example.name, location: example.location, }); const exampleAssignment = new azure.authorization.Assignment("example", { scope: exampleZone.id, roleDefinitionName: "Private DNS Zone Contributor", principalId: exampleUserAssignedIdentity.principalId, }); const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { name: "aksexamplewithprivatednszone1", location: example.location, resourceGroupName: example.name, dnsPrefix: "aksexamplednsprefix1", privateClusterEnabled: true, privateDnsZoneId: exampleZone.id, }, { dependsOn: [exampleAssignment], }); - import pulumi import pulumi_azure as azure example = azure.core.ResourceGroup("example", name="example", location="West Europe") example_zone = azure.privatedns.Zone("example", name="privatelink.eastus2.azmk8s.io", resource_group_name=example.name) example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example", name="aks-example-identity", resource_group_name=example.name, location=example.location) example_assignment = azure.authorization.Assignment("example", scope=example_zone.id, role_definition_name="Private DNS Zone Contributor", principal_id=example_user_assigned_identity.principal_id) example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", name="aksexamplewithprivatednszone1", location=example.location, resource_group_name=example.name, dns_prefix="aksexamplednsprefix1", private_cluster_enabled=True, private_dns_zone_id=example_zone.id, opts = pulumi.ResourceOptions(depends_on=[example_assignment]))- 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", Location = "West Europe", }); var exampleZone = new Azure.PrivateDns.Zone("example", new() { Name = "privatelink.eastus2.azmk8s.io", ResourceGroupName = example.Name, }); var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new() { Name = "aks-example-identity", ResourceGroupName = example.Name, Location = example.Location, }); var exampleAssignment = new Azure.Authorization.Assignment("example", new() { Scope = exampleZone.Id, RoleDefinitionName = "Private DNS Zone Contributor", PrincipalId = exampleUserAssignedIdentity.PrincipalId, }); var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() { Name = "aksexamplewithprivatednszone1", Location = example.Location, ResourceGroupName = example.Name, DnsPrefix = "aksexamplednsprefix1", PrivateClusterEnabled = true, PrivateDnsZoneId = exampleZone.Id, }, new CustomResourceOptions { DependsOn = { exampleAssignment, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns" "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"), Location: pulumi.String("West Europe"), }) if err != nil { return err } exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{ Name: pulumi.String("privatelink.eastus2.azmk8s.io"), ResourceGroupName: example.Name, }) if err != nil { return err } exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{ Name: pulumi.String("aks-example-identity"), ResourceGroupName: example.Name, Location: example.Location, }) if err != nil { return err } exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{ Scope: exampleZone.ID(), RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"), PrincipalId: exampleUserAssignedIdentity.PrincipalId, }) if err != nil { return err } _, err = containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ Name: pulumi.String("aksexamplewithprivatednszone1"), Location: example.Location, ResourceGroupName: example.Name, DnsPrefix: pulumi.String("aksexamplednsprefix1"), PrivateClusterEnabled: pulumi.Bool(true), PrivateDnsZoneId: exampleZone.ID(), }, pulumi.DependsOn([]pulumi.Resource{ exampleAssignment, })) if err != nil { return err } return nil }) }- 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.privatedns.Zone; import com.pulumi.azure.privatedns.ZoneArgs; import com.pulumi.azure.authorization.UserAssignedIdentity; import com.pulumi.azure.authorization.UserAssignedIdentityArgs; import com.pulumi.azure.authorization.Assignment; import com.pulumi.azure.authorization.AssignmentArgs; import com.pulumi.azure.containerservice.KubernetesCluster; import com.pulumi.azure.containerservice.KubernetesClusterArgs; import com.pulumi.resources.CustomResourceOptions; 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") .location("West Europe") .build()); var exampleZone = new Zone("exampleZone", ZoneArgs.builder() .name("privatelink.eastus2.azmk8s.io") .resourceGroupName(example.name()) .build()); var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder() .name("aks-example-identity") .resourceGroupName(example.name()) .location(example.location()) .build()); var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder() .scope(exampleZone.id()) .roleDefinitionName("Private DNS Zone Contributor") .principalId(exampleUserAssignedIdentity.principalId()) .build()); var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() .name("aksexamplewithprivatednszone1") .location(example.location()) .resourceGroupName(example.name()) .dnsPrefix("aksexamplednsprefix1") .privateClusterEnabled(true) .privateDnsZoneId(exampleZone.id()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAssignment) .build()); } }- resources: example: type: azure:core:ResourceGroup properties: name: example location: West Europe exampleZone: type: azure:privatedns:Zone name: example properties: name: privatelink.eastus2.azmk8s.io resourceGroupName: ${example.name} exampleUserAssignedIdentity: type: azure:authorization:UserAssignedIdentity name: example properties: name: aks-example-identity resourceGroupName: ${example.name} location: ${example.location} exampleAssignment: type: azure:authorization:Assignment name: example properties: scope: ${exampleZone.id} roleDefinitionName: Private DNS Zone Contributor principalId: ${exampleUserAssignedIdentity.principalId} exampleKubernetesCluster: type: azure:containerservice:KubernetesCluster name: example properties: name: aksexamplewithprivatednszone1 location: ${example.location} resourceGroupName: ${example.name} dnsPrefix: aksexamplednsprefix1 privateClusterEnabled: true privateDnsZoneId: ${exampleZone.id} options: dependsOn: - ${exampleAssignment}
- privateDns StringZone Id 
- Either the ID of Private DNS Zone which should be delegated to this Cluster, Systemto have AKS manage this orNone. In case ofNoneyou will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
- privateFqdn String
- The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
- resourceGroup StringName 
- Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- roleBased BooleanAccess Control Enabled 
- Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
- runCommand BooleanEnabled 
- Whether to enable run command for the cluster or not. Defaults to true.
- serviceMesh Property MapProfile 
- A service_mesh_profileblock as defined below.
- servicePrincipal Property Map
- A - service_principalblock as documented below. One of either- identityor- service_principalmust be specified.- !> Note: A migration scenario from - service_principalto- identityis supported. When upgrading- service_principalto- identity, your cluster's control plane and addon pods will switch to use managed identity, but the kubelets will keep using your configured- service_principaluntil you upgrade your Node Pool.
- skuTier String
- The SKU Tier that should be used for this Kubernetes Cluster. Possible values are - Free,- Standard(which includes the Uptime SLA) and- Premium. Defaults to- Free.- Note: Whilst the AKS API previously supported the - PaidSKU - the AKS API introduced a breaking change in API Version- 2023-02-01(used in v3.51.0 and later) where the value- Paidmust now be set to- Standard.
- storageProfile Property Map
- A storage_profileblock as defined below.
- supportPlan String
- Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficialandAKSLongTermSupport. Defaults toKubernetesOfficial.
- Map<String>
- A mapping of tags to assign to the resource.
- upgradeOverride Property Map
- A upgrade_overrideblock as defined below.
- webApp Property MapRouting 
- A web_app_routingblock as defined below.
- windowsProfile Property Map
- A windows_profileblock as defined below.
- workloadAutoscaler Property MapProfile 
- A workload_autoscaler_profileblock defined below.
- workloadIdentity BooleanEnabled 
- Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to - false.- Note: To enable Azure AD Workload Identity - oidc_issuer_enabledmust be set to- true.- Note: Enabling this option will allocate Workload Identity resources to the - kube-systemnamespace in Kubernetes. If you wish to customize the deployment of Workload Identity, you can refer to the documentation on Azure AD Workload Identity. The documentation provides guidance on how to install the mutating admission webhook, which allows for the customization of Workload Identity deployment.
Supporting Types
KubernetesClusterAciConnectorLinux, KubernetesClusterAciConnectorLinuxArgs          
- SubnetName string
- The subnet name for the virtual nodes to run. - Note: At this time ACI Connectors are not supported in Azure China. - Note: AKS will add a delegation to the subnet named here. To prevent further runs from failing you should make sure that the subnet you create for virtual nodes has a delegation, like so. - import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const virtual = new azure.network.Subnet("virtual", {delegations: [{ name: "aciDelegation", serviceDelegation: { name: "Microsoft.ContainerInstance/containerGroups", actions: ["Microsoft.Network/virtualNetworks/subnets/action"], }, }]}); - import pulumi import pulumi_azure as azure virtual = azure.network.Subnet("virtual", delegations=[{ "name": "aciDelegation", "service_delegation": { "name": "Microsoft.ContainerInstance/containerGroups", "actions": ["Microsoft.Network/virtualNetworks/subnets/action"], }, }])- using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var @virtual = new Azure.Network.Subnet("virtual", new() { Delegations = new[] { new Azure.Network.Inputs.SubnetDelegationArgs { Name = "aciDelegation", ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs { Name = "Microsoft.ContainerInstance/containerGroups", Actions = new[] { "Microsoft.Network/virtualNetworks/subnets/action", }, }, }, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := network.NewSubnet(ctx, "virtual", &network.SubnetArgs{ Delegations: network.SubnetDelegationArray{ &network.SubnetDelegationArgs{ Name: pulumi.String("aciDelegation"), ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{ Name: pulumi.String("Microsoft.ContainerInstance/containerGroups"), Actions: pulumi.StringArray{ pulumi.String("Microsoft.Network/virtualNetworks/subnets/action"), }, }, }, }, }) if err != nil { return err } return nil }) }- package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.network.Subnet; import com.pulumi.azure.network.SubnetArgs; import com.pulumi.azure.network.inputs.SubnetDelegationArgs; import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs; 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 virtual = new Subnet("virtual", SubnetArgs.builder() .delegations(SubnetDelegationArgs.builder() .name("aciDelegation") .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder() .name("Microsoft.ContainerInstance/containerGroups") .actions("Microsoft.Network/virtualNetworks/subnets/action") .build()) .build()) .build()); } }- resources: virtual: type: azure:network:Subnet properties: delegations: - name: aciDelegation serviceDelegation: name: Microsoft.ContainerInstance/containerGroups actions: - Microsoft.Network/virtualNetworks/subnets/action
- ConnectorIdentities List<KubernetesCluster Aci Connector Linux Connector Identity> 
- A connector_identityblock is exported. The exported attributes are defined below.
- SubnetName string
- The subnet name for the virtual nodes to run. - Note: At this time ACI Connectors are not supported in Azure China. - Note: AKS will add a delegation to the subnet named here. To prevent further runs from failing you should make sure that the subnet you create for virtual nodes has a delegation, like so. - import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const virtual = new azure.network.Subnet("virtual", {delegations: [{ name: "aciDelegation", serviceDelegation: { name: "Microsoft.ContainerInstance/containerGroups", actions: ["Microsoft.Network/virtualNetworks/subnets/action"], }, }]}); - import pulumi import pulumi_azure as azure virtual = azure.network.Subnet("virtual", delegations=[{ "name": "aciDelegation", "service_delegation": { "name": "Microsoft.ContainerInstance/containerGroups", "actions": ["Microsoft.Network/virtualNetworks/subnets/action"], }, }])- using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var @virtual = new Azure.Network.Subnet("virtual", new() { Delegations = new[] { new Azure.Network.Inputs.SubnetDelegationArgs { Name = "aciDelegation", ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs { Name = "Microsoft.ContainerInstance/containerGroups", Actions = new[] { "Microsoft.Network/virtualNetworks/subnets/action", }, }, }, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := network.NewSubnet(ctx, "virtual", &network.SubnetArgs{ Delegations: network.SubnetDelegationArray{ &network.SubnetDelegationArgs{ Name: pulumi.String("aciDelegation"), ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{ Name: pulumi.String("Microsoft.ContainerInstance/containerGroups"), Actions: pulumi.StringArray{ pulumi.String("Microsoft.Network/virtualNetworks/subnets/action"), }, }, }, }, }) if err != nil { return err } return nil }) }- package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.network.Subnet; import com.pulumi.azure.network.SubnetArgs; import com.pulumi.azure.network.inputs.SubnetDelegationArgs; import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs; 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 virtual = new Subnet("virtual", SubnetArgs.builder() .delegations(SubnetDelegationArgs.builder() .name("aciDelegation") .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder() .name("Microsoft.ContainerInstance/containerGroups") .actions("Microsoft.Network/virtualNetworks/subnets/action") .build()) .build()) .build()); } }- resources: virtual: type: azure:network:Subnet properties: delegations: - name: aciDelegation serviceDelegation: name: Microsoft.ContainerInstance/containerGroups actions: - Microsoft.Network/virtualNetworks/subnets/action
- ConnectorIdentities []KubernetesCluster Aci Connector Linux Connector Identity 
- A connector_identityblock is exported. The exported attributes are defined below.
- subnetName String
- The subnet name for the virtual nodes to run. - Note: At this time ACI Connectors are not supported in Azure China. - Note: AKS will add a delegation to the subnet named here. To prevent further runs from failing you should make sure that the subnet you create for virtual nodes has a delegation, like so. - import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const virtual = new azure.network.Subnet("virtual", {delegations: [{ name: "aciDelegation", serviceDelegation: { name: "Microsoft.ContainerInstance/containerGroups", actions: ["Microsoft.Network/virtualNetworks/subnets/action"], }, }]}); - import pulumi import pulumi_azure as azure virtual = azure.network.Subnet("virtual", delegations=[{ "name": "aciDelegation", "service_delegation": { "name": "Microsoft.ContainerInstance/containerGroups", "actions": ["Microsoft.Network/virtualNetworks/subnets/action"], }, }])- using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var @virtual = new Azure.Network.Subnet("virtual", new() { Delegations = new[] { new Azure.Network.Inputs.SubnetDelegationArgs { Name = "aciDelegation", ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs { Name = "Microsoft.ContainerInstance/containerGroups", Actions = new[] { "Microsoft.Network/virtualNetworks/subnets/action", }, }, }, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := network.NewSubnet(ctx, "virtual", &network.SubnetArgs{ Delegations: network.SubnetDelegationArray{ &network.SubnetDelegationArgs{ Name: pulumi.String("aciDelegation"), ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{ Name: pulumi.String("Microsoft.ContainerInstance/containerGroups"), Actions: pulumi.StringArray{ pulumi.String("Microsoft.Network/virtualNetworks/subnets/action"), }, }, }, }, }) if err != nil { return err } return nil }) }- package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.network.Subnet; import com.pulumi.azure.network.SubnetArgs; import com.pulumi.azure.network.inputs.SubnetDelegationArgs; import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs; 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 virtual = new Subnet("virtual", SubnetArgs.builder() .delegations(SubnetDelegationArgs.builder() .name("aciDelegation") .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder() .name("Microsoft.ContainerInstance/containerGroups") .actions("Microsoft.Network/virtualNetworks/subnets/action") .build()) .build()) .build()); } }- resources: virtual: type: azure:network:Subnet properties: delegations: - name: aciDelegation serviceDelegation: name: Microsoft.ContainerInstance/containerGroups actions: - Microsoft.Network/virtualNetworks/subnets/action
- connectorIdentities List<KubernetesCluster Aci Connector Linux Connector Identity> 
- A connector_identityblock is exported. The exported attributes are defined below.
- subnetName string
- The subnet name for the virtual nodes to run. - Note: At this time ACI Connectors are not supported in Azure China. - Note: AKS will add a delegation to the subnet named here. To prevent further runs from failing you should make sure that the subnet you create for virtual nodes has a delegation, like so. - import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const virtual = new azure.network.Subnet("virtual", {delegations: [{ name: "aciDelegation", serviceDelegation: { name: "Microsoft.ContainerInstance/containerGroups", actions: ["Microsoft.Network/virtualNetworks/subnets/action"], }, }]}); - import pulumi import pulumi_azure as azure virtual = azure.network.Subnet("virtual", delegations=[{ "name": "aciDelegation", "service_delegation": { "name": "Microsoft.ContainerInstance/containerGroups", "actions": ["Microsoft.Network/virtualNetworks/subnets/action"], }, }])- using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var @virtual = new Azure.Network.Subnet("virtual", new() { Delegations = new[] { new Azure.Network.Inputs.SubnetDelegationArgs { Name = "aciDelegation", ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs { Name = "Microsoft.ContainerInstance/containerGroups", Actions = new[] { "Microsoft.Network/virtualNetworks/subnets/action", }, }, }, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := network.NewSubnet(ctx, "virtual", &network.SubnetArgs{ Delegations: network.SubnetDelegationArray{ &network.SubnetDelegationArgs{ Name: pulumi.String("aciDelegation"), ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{ Name: pulumi.String("Microsoft.ContainerInstance/containerGroups"), Actions: pulumi.StringArray{ pulumi.String("Microsoft.Network/virtualNetworks/subnets/action"), }, }, }, }, }) if err != nil { return err } return nil }) }- package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.network.Subnet; import com.pulumi.azure.network.SubnetArgs; import com.pulumi.azure.network.inputs.SubnetDelegationArgs; import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs; 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 virtual = new Subnet("virtual", SubnetArgs.builder() .delegations(SubnetDelegationArgs.builder() .name("aciDelegation") .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder() .name("Microsoft.ContainerInstance/containerGroups") .actions("Microsoft.Network/virtualNetworks/subnets/action") .build()) .build()) .build()); } }- resources: virtual: type: azure:network:Subnet properties: delegations: - name: aciDelegation serviceDelegation: name: Microsoft.ContainerInstance/containerGroups actions: - Microsoft.Network/virtualNetworks/subnets/action
- connectorIdentities KubernetesCluster Aci Connector Linux Connector Identity[] 
- A connector_identityblock is exported. The exported attributes are defined below.
- subnet_name str
- The subnet name for the virtual nodes to run. - Note: At this time ACI Connectors are not supported in Azure China. - Note: AKS will add a delegation to the subnet named here. To prevent further runs from failing you should make sure that the subnet you create for virtual nodes has a delegation, like so. - import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const virtual = new azure.network.Subnet("virtual", {delegations: [{ name: "aciDelegation", serviceDelegation: { name: "Microsoft.ContainerInstance/containerGroups", actions: ["Microsoft.Network/virtualNetworks/subnets/action"], }, }]}); - import pulumi import pulumi_azure as azure virtual = azure.network.Subnet("virtual", delegations=[{ "name": "aciDelegation", "service_delegation": { "name": "Microsoft.ContainerInstance/containerGroups", "actions": ["Microsoft.Network/virtualNetworks/subnets/action"], }, }])- using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var @virtual = new Azure.Network.Subnet("virtual", new() { Delegations = new[] { new Azure.Network.Inputs.SubnetDelegationArgs { Name = "aciDelegation", ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs { Name = "Microsoft.ContainerInstance/containerGroups", Actions = new[] { "Microsoft.Network/virtualNetworks/subnets/action", }, }, }, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := network.NewSubnet(ctx, "virtual", &network.SubnetArgs{ Delegations: network.SubnetDelegationArray{ &network.SubnetDelegationArgs{ Name: pulumi.String("aciDelegation"), ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{ Name: pulumi.String("Microsoft.ContainerInstance/containerGroups"), Actions: pulumi.StringArray{ pulumi.String("Microsoft.Network/virtualNetworks/subnets/action"), }, }, }, }, }) if err != nil { return err } return nil }) }- package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.network.Subnet; import com.pulumi.azure.network.SubnetArgs; import com.pulumi.azure.network.inputs.SubnetDelegationArgs; import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs; 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 virtual = new Subnet("virtual", SubnetArgs.builder() .delegations(SubnetDelegationArgs.builder() .name("aciDelegation") .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder() .name("Microsoft.ContainerInstance/containerGroups") .actions("Microsoft.Network/virtualNetworks/subnets/action") .build()) .build()) .build()); } }- resources: virtual: type: azure:network:Subnet properties: delegations: - name: aciDelegation serviceDelegation: name: Microsoft.ContainerInstance/containerGroups actions: - Microsoft.Network/virtualNetworks/subnets/action
- connector_identities Sequence[KubernetesCluster Aci Connector Linux Connector Identity] 
- A connector_identityblock is exported. The exported attributes are defined below.
- subnetName String
- The subnet name for the virtual nodes to run. - Note: At this time ACI Connectors are not supported in Azure China. - Note: AKS will add a delegation to the subnet named here. To prevent further runs from failing you should make sure that the subnet you create for virtual nodes has a delegation, like so. - import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";- const virtual = new azure.network.Subnet("virtual", {delegations: [{ name: "aciDelegation", serviceDelegation: { name: "Microsoft.ContainerInstance/containerGroups", actions: ["Microsoft.Network/virtualNetworks/subnets/action"], }, }]}); - import pulumi import pulumi_azure as azure virtual = azure.network.Subnet("virtual", delegations=[{ "name": "aciDelegation", "service_delegation": { "name": "Microsoft.ContainerInstance/containerGroups", "actions": ["Microsoft.Network/virtualNetworks/subnets/action"], }, }])- using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var @virtual = new Azure.Network.Subnet("virtual", new() { Delegations = new[] { new Azure.Network.Inputs.SubnetDelegationArgs { Name = "aciDelegation", ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs { Name = "Microsoft.ContainerInstance/containerGroups", Actions = new[] { "Microsoft.Network/virtualNetworks/subnets/action", }, }, }, }, }); });- package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := network.NewSubnet(ctx, "virtual", &network.SubnetArgs{ Delegations: network.SubnetDelegationArray{ &network.SubnetDelegationArgs{ Name: pulumi.String("aciDelegation"), ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{ Name: pulumi.String("Microsoft.ContainerInstance/containerGroups"), Actions: pulumi.StringArray{ pulumi.String("Microsoft.Network/virtualNetworks/subnets/action"), }, }, }, }, }) if err != nil { return err } return nil }) }- package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.network.Subnet; import com.pulumi.azure.network.SubnetArgs; import com.pulumi.azure.network.inputs.SubnetDelegationArgs; import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs; 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 virtual = new Subnet("virtual", SubnetArgs.builder() .delegations(SubnetDelegationArgs.builder() .name("aciDelegation") .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder() .name("Microsoft.ContainerInstance/containerGroups") .actions("Microsoft.Network/virtualNetworks/subnets/action") .build()) .build()) .build()); } }- resources: virtual: type: azure:network:Subnet properties: delegations: - name: aciDelegation serviceDelegation: name: Microsoft.ContainerInstance/containerGroups actions: - Microsoft.Network/virtualNetworks/subnets/action
- connectorIdentities List<Property Map>
- A connector_identityblock is exported. The exported attributes are defined below.
KubernetesClusterAciConnectorLinuxConnectorIdentity, KubernetesClusterAciConnectorLinuxConnectorIdentityArgs              
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- client_id str
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- object_id str
- The Object ID of the user-defined Managed Identity used for Web App Routing
- user_assigned_ stridentity_ id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
KubernetesClusterApiServerAccessProfile, KubernetesClusterApiServerAccessProfileArgs            
- List<string>
- Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
- []string
- Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
- List<String>
- Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
- string[]
- Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
- Sequence[str]
- Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
- List<String>
- Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
KubernetesClusterAutoScalerProfile, KubernetesClusterAutoScalerProfileArgs          
- BalanceSimilar boolNode Groups 
- Detect similar node groups and balance the number of nodes between them. Defaults to false.
- DaemonsetEviction boolFor Empty Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from empty nodes. Defaults to false.
- DaemonsetEviction boolFor Occupied Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from non-empty nodes. Defaults to true.
- EmptyBulk stringDelete Max 
- Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
- Expander string
- Expander to use. Possible values are least-waste,priority,most-podsandrandom. Defaults torandom.
- IgnoreDaemonsets boolUtilization Enabled 
- Whether DaemonSet pods will be ignored when calculating resource utilization for scale down. Defaults to false.
- MaxGraceful stringTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
- MaxNode stringProvisioning Time 
- Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
- MaxUnready intNodes 
- Maximum Number of allowed unready nodes. Defaults to 3.
- MaxUnready doublePercentage 
- Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
- NewPod stringScale Up Delay 
- For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
- ScaleDown stringDelay After Add 
- How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
- ScaleDown stringDelay After Delete 
- How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
- ScaleDown stringDelay After Failure 
- How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
- ScaleDown stringUnneeded 
- How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
- ScaleDown stringUnready 
- How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
- ScaleDown stringUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
- ScanInterval string
- How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
- SkipNodes boolWith Local Storage 
- If truecluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults totrue.
- SkipNodes boolWith System Pods 
- If truecluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults totrue.
- BalanceSimilar boolNode Groups 
- Detect similar node groups and balance the number of nodes between them. Defaults to false.
- DaemonsetEviction boolFor Empty Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from empty nodes. Defaults to false.
- DaemonsetEviction boolFor Occupied Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from non-empty nodes. Defaults to true.
- EmptyBulk stringDelete Max 
- Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
- Expander string
- Expander to use. Possible values are least-waste,priority,most-podsandrandom. Defaults torandom.
- IgnoreDaemonsets boolUtilization Enabled 
- Whether DaemonSet pods will be ignored when calculating resource utilization for scale down. Defaults to false.
- MaxGraceful stringTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
- MaxNode stringProvisioning Time 
- Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
- MaxUnready intNodes 
- Maximum Number of allowed unready nodes. Defaults to 3.
- MaxUnready float64Percentage 
- Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
- NewPod stringScale Up Delay 
- For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
- ScaleDown stringDelay After Add 
- How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
- ScaleDown stringDelay After Delete 
- How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
- ScaleDown stringDelay After Failure 
- How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
- ScaleDown stringUnneeded 
- How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
- ScaleDown stringUnready 
- How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
- ScaleDown stringUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
- ScanInterval string
- How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
- SkipNodes boolWith Local Storage 
- If truecluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults totrue.
- SkipNodes boolWith System Pods 
- If truecluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults totrue.
- balanceSimilar BooleanNode Groups 
- Detect similar node groups and balance the number of nodes between them. Defaults to false.
- daemonsetEviction BooleanFor Empty Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from empty nodes. Defaults to false.
- daemonsetEviction BooleanFor Occupied Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from non-empty nodes. Defaults to true.
- emptyBulk StringDelete Max 
- Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
- expander String
- Expander to use. Possible values are least-waste,priority,most-podsandrandom. Defaults torandom.
- ignoreDaemonsets BooleanUtilization Enabled 
- Whether DaemonSet pods will be ignored when calculating resource utilization for scale down. Defaults to false.
- maxGraceful StringTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
- maxNode StringProvisioning Time 
- Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
- maxUnready IntegerNodes 
- Maximum Number of allowed unready nodes. Defaults to 3.
- maxUnready DoublePercentage 
- Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
- newPod StringScale Up Delay 
- For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
- scaleDown StringDelay After Add 
- How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
- scaleDown StringDelay After Delete 
- How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
- scaleDown StringDelay After Failure 
- How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
- scaleDown StringUnneeded 
- How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
- scaleDown StringUnready 
- How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
- scaleDown StringUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
- scanInterval String
- How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
- skipNodes BooleanWith Local Storage 
- If truecluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults totrue.
- skipNodes BooleanWith System Pods 
- If truecluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults totrue.
- balanceSimilar booleanNode Groups 
- Detect similar node groups and balance the number of nodes between them. Defaults to false.
- daemonsetEviction booleanFor Empty Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from empty nodes. Defaults to false.
- daemonsetEviction booleanFor Occupied Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from non-empty nodes. Defaults to true.
- emptyBulk stringDelete Max 
- Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
- expander string
- Expander to use. Possible values are least-waste,priority,most-podsandrandom. Defaults torandom.
- ignoreDaemonsets booleanUtilization Enabled 
- Whether DaemonSet pods will be ignored when calculating resource utilization for scale down. Defaults to false.
- maxGraceful stringTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
- maxNode stringProvisioning Time 
- Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
- maxUnready numberNodes 
- Maximum Number of allowed unready nodes. Defaults to 3.
- maxUnready numberPercentage 
- Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
- newPod stringScale Up Delay 
- For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
- scaleDown stringDelay After Add 
- How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
- scaleDown stringDelay After Delete 
- How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
- scaleDown stringDelay After Failure 
- How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
- scaleDown stringUnneeded 
- How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
- scaleDown stringUnready 
- How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
- scaleDown stringUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
- scanInterval string
- How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
- skipNodes booleanWith Local Storage 
- If truecluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults totrue.
- skipNodes booleanWith System Pods 
- If truecluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults totrue.
- balance_similar_ boolnode_ groups 
- Detect similar node groups and balance the number of nodes between them. Defaults to false.
- daemonset_eviction_ boolfor_ empty_ nodes_ enabled 
- Whether DaemonSet pods will be gracefully terminated from empty nodes. Defaults to false.
- daemonset_eviction_ boolfor_ occupied_ nodes_ enabled 
- Whether DaemonSet pods will be gracefully terminated from non-empty nodes. Defaults to true.
- empty_bulk_ strdelete_ max 
- Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
- expander str
- Expander to use. Possible values are least-waste,priority,most-podsandrandom. Defaults torandom.
- ignore_daemonsets_ boolutilization_ enabled 
- Whether DaemonSet pods will be ignored when calculating resource utilization for scale down. Defaults to false.
- max_graceful_ strtermination_ sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
- max_node_ strprovisioning_ time 
- Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
- max_unready_ intnodes 
- Maximum Number of allowed unready nodes. Defaults to 3.
- max_unready_ floatpercentage 
- Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
- new_pod_ strscale_ up_ delay 
- For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
- scale_down_ strdelay_ after_ add 
- How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
- scale_down_ strdelay_ after_ delete 
- How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
- scale_down_ strdelay_ after_ failure 
- How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
- scale_down_ strunneeded 
- How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
- scale_down_ strunready 
- How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
- scale_down_ strutilization_ threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
- scan_interval str
- How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
- skip_nodes_ boolwith_ local_ storage 
- If truecluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults totrue.
- skip_nodes_ boolwith_ system_ pods 
- If truecluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults totrue.
- balanceSimilar BooleanNode Groups 
- Detect similar node groups and balance the number of nodes between them. Defaults to false.
- daemonsetEviction BooleanFor Empty Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from empty nodes. Defaults to false.
- daemonsetEviction BooleanFor Occupied Nodes Enabled 
- Whether DaemonSet pods will be gracefully terminated from non-empty nodes. Defaults to true.
- emptyBulk StringDelete Max 
- Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
- expander String
- Expander to use. Possible values are least-waste,priority,most-podsandrandom. Defaults torandom.
- ignoreDaemonsets BooleanUtilization Enabled 
- Whether DaemonSet pods will be ignored when calculating resource utilization for scale down. Defaults to false.
- maxGraceful StringTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
- maxNode StringProvisioning Time 
- Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
- maxUnready NumberNodes 
- Maximum Number of allowed unready nodes. Defaults to 3.
- maxUnready NumberPercentage 
- Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
- newPod StringScale Up Delay 
- For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
- scaleDown StringDelay After Add 
- How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
- scaleDown StringDelay After Delete 
- How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
- scaleDown StringDelay After Failure 
- How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
- scaleDown StringUnneeded 
- How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
- scaleDown StringUnready 
- How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
- scaleDown StringUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
- scanInterval String
- How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
- skipNodes BooleanWith Local Storage 
- If truecluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults totrue.
- skipNodes BooleanWith System Pods 
- If truecluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults totrue.
KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl, KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs                  
- AdminGroup List<string>Object Ids 
- A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
- AzureRbac boolEnabled 
- Is Role Based Access Control based on Azure AD enabled?
- TenantId string
- The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
- AdminGroup []stringObject Ids 
- A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
- AzureRbac boolEnabled 
- Is Role Based Access Control based on Azure AD enabled?
- TenantId string
- The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
- adminGroup List<String>Object Ids 
- A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
- azureRbac BooleanEnabled 
- Is Role Based Access Control based on Azure AD enabled?
- tenantId String
- The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
- adminGroup string[]Object Ids 
- A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
- azureRbac booleanEnabled 
- Is Role Based Access Control based on Azure AD enabled?
- tenantId string
- The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
- admin_group_ Sequence[str]object_ ids 
- A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
- azure_rbac_ boolenabled 
- Is Role Based Access Control based on Azure AD enabled?
- tenant_id str
- The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
- adminGroup List<String>Object Ids 
- A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
- azureRbac BooleanEnabled 
- Is Role Based Access Control based on Azure AD enabled?
- tenantId String
- The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
KubernetesClusterConfidentialComputing, KubernetesClusterConfidentialComputingArgs        
- SgxQuote boolHelper Enabled 
- Should the SGX quote helper be enabled?
- SgxQuote boolHelper Enabled 
- Should the SGX quote helper be enabled?
- sgxQuote BooleanHelper Enabled 
- Should the SGX quote helper be enabled?
- sgxQuote booleanHelper Enabled 
- Should the SGX quote helper be enabled?
- sgx_quote_ boolhelper_ enabled 
- Should the SGX quote helper be enabled?
- sgxQuote BooleanHelper Enabled 
- Should the SGX quote helper be enabled?
KubernetesClusterDefaultNodePool, KubernetesClusterDefaultNodePoolArgs          
- Name string
- The name which should be used for the default Kubernetes Node Pool.
- VmSize string
- The size of the Virtual Machine, such as Standard_DS2_v2.temporary_name_for_rotationmust be specified when attempting a resize.
- AutoScaling boolEnabled 
- Should the Kubernetes Auto Scaler be enabled for this Node Pool? - Note: This requires that the - typeis set to- VirtualMachineScaleSets.- Note: If you're using AutoScaling, you may wish to use - ignoreChangesfunctionality to ignore changes to the- node_countfield.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- FipsEnabled bool
- Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotationmust be specified when changing this block. Changing this forces a new resource to be created.
- GpuInstance string
- Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g,MIG2g,MIG3g,MIG4gandMIG7g. Changing this forces a new resource to be created.
- HostEncryption boolEnabled 
- Should the nodes in the Default Node Pool have host encryption enabled? - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the Feature - Microsoft.ContainerService/EnableEncryptionAtHostis enabled and the Resource Provider is registered.
- HostGroup stringId 
- Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- KubeletConfig KubernetesCluster Default Node Pool Kubelet Config 
- A kubelet_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- KubeletDisk stringType 
- The type of disk used by kubelet. Possible values are OSandTemporary.
- LinuxOs KubernetesConfig Cluster Default Node Pool Linux Os Config 
- A linux_os_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- MaxCount int
- MaxPods int
- The maximum number of pods that can run on each agent. temporary_name_for_rotationmust be specified when changing this property.
- MinCount int
- NodeCount int
- NodeLabels Dictionary<string, string>
- A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
- NodeNetwork KubernetesProfile Cluster Default Node Pool Node Network Profile 
- A node_network_profileblock as documented below.
- NodePublic boolIp Enabled 
- Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotationmust be specified when changing this property.
- NodePublic stringIp Prefix Id 
- Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabledshould betrue. Changing this forces a new resource to be created.
- OnlyCritical boolAddons Enabled 
- Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoScheduletaint.temporary_name_for_rotationmust be specified when changing this property.
- OrchestratorVersion string
- Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by - kubernetes_version. If both are unspecified, 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.22are 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. 
- OsDisk intSize Gb 
- The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotationmust be specified when attempting a change.
- OsDisk stringType 
- The type of disk which should be used for the Operating System. Possible values are EphemeralandManaged. Defaults toManaged.temporary_name_for_rotationmust be specified when attempting a change.
- OsSku string
- Specifies the OS SKU used by the agent pool. Possible values are AzureLinux,Ubuntu,Windows2019andWindows2022. If not specified, the default isUbuntuif OSType=Linux orWindows2019if OSType=Windows. And the default Windows OSSKU will be changed toWindows2022after Windows2019 is deprecated. Changing this fromAzureLinuxorUbuntutoAzureLinuxorUbuntuwill not replace the resource, otherwisetemporary_name_for_rotationmust be specified when attempting a change.
- PodSubnet stringId 
- The ID of the Subnet where the pods in the default Node Pool should exist.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
- ScaleDown stringMode 
- Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are DeleteandDeallocate. Defaults toDelete.
- SnapshotId string
- The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotationmust be specified when changing this property.
- Dictionary<string, string>
- A mapping of tags to assign to the Node Pool. - 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 - ignore_changesfunctionality to ignore changes to the casing until this is fixed in the AKS API.
- TemporaryName stringFor Rotation 
- Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
- Type string
- The type of Node Pool which should be created. Possible values are - VirtualMachineScaleSets. Defaults to- VirtualMachineScaleSets. Changing this forces a new resource to be created.- Note: When creating a cluster that supports multiple node pools, the cluster must use - VirtualMachineScaleSets. For more information on the limitations of clusters using multiple node pools see the documentation.
- UltraSsd boolEnabled 
- Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information.temporary_name_for_rotationmust be specified when attempting a change.
- UpgradeSettings KubernetesCluster Default Node Pool Upgrade Settings 
- A upgrade_settingsblock as documented below.
- VnetSubnet stringId 
- The ID of a Subnet where the Kubernetes Node Pool should exist. - Note: A Route Table must be configured on this Subnet. 
- WorkloadRuntime string
- Specifies the workload runtime used by the node pool. Possible value is OCIContainer.
- Zones List<string>
- Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the - typeis set to- VirtualMachineScaleSetsand that- load_balancer_skuis set to- standard.
- Name string
- The name which should be used for the default Kubernetes Node Pool.
- VmSize string
- The size of the Virtual Machine, such as Standard_DS2_v2.temporary_name_for_rotationmust be specified when attempting a resize.
- AutoScaling boolEnabled 
- Should the Kubernetes Auto Scaler be enabled for this Node Pool? - Note: This requires that the - typeis set to- VirtualMachineScaleSets.- Note: If you're using AutoScaling, you may wish to use - ignoreChangesfunctionality to ignore changes to the- node_countfield.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- FipsEnabled bool
- Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotationmust be specified when changing this block. Changing this forces a new resource to be created.
- GpuInstance string
- Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g,MIG2g,MIG3g,MIG4gandMIG7g. Changing this forces a new resource to be created.
- HostEncryption boolEnabled 
- Should the nodes in the Default Node Pool have host encryption enabled? - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the Feature - Microsoft.ContainerService/EnableEncryptionAtHostis enabled and the Resource Provider is registered.
- HostGroup stringId 
- Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- KubeletConfig KubernetesCluster Default Node Pool Kubelet Config 
- A kubelet_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- KubeletDisk stringType 
- The type of disk used by kubelet. Possible values are OSandTemporary.
- LinuxOs KubernetesConfig Cluster Default Node Pool Linux Os Config 
- A linux_os_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- MaxCount int
- MaxPods int
- The maximum number of pods that can run on each agent. temporary_name_for_rotationmust be specified when changing this property.
- MinCount int
- NodeCount int
- NodeLabels map[string]string
- A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
- NodeNetwork KubernetesProfile Cluster Default Node Pool Node Network Profile 
- A node_network_profileblock as documented below.
- NodePublic boolIp Enabled 
- Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotationmust be specified when changing this property.
- NodePublic stringIp Prefix Id 
- Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabledshould betrue. Changing this forces a new resource to be created.
- OnlyCritical boolAddons Enabled 
- Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoScheduletaint.temporary_name_for_rotationmust be specified when changing this property.
- OrchestratorVersion string
- Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by - kubernetes_version. If both are unspecified, 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.22are 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. 
- OsDisk intSize Gb 
- The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotationmust be specified when attempting a change.
- OsDisk stringType 
- The type of disk which should be used for the Operating System. Possible values are EphemeralandManaged. Defaults toManaged.temporary_name_for_rotationmust be specified when attempting a change.
- OsSku string
- Specifies the OS SKU used by the agent pool. Possible values are AzureLinux,Ubuntu,Windows2019andWindows2022. If not specified, the default isUbuntuif OSType=Linux orWindows2019if OSType=Windows. And the default Windows OSSKU will be changed toWindows2022after Windows2019 is deprecated. Changing this fromAzureLinuxorUbuntutoAzureLinuxorUbuntuwill not replace the resource, otherwisetemporary_name_for_rotationmust be specified when attempting a change.
- PodSubnet stringId 
- The ID of the Subnet where the pods in the default Node Pool should exist.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
- ScaleDown stringMode 
- Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are DeleteandDeallocate. Defaults toDelete.
- SnapshotId string
- The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotationmust be specified when changing this property.
- map[string]string
- A mapping of tags to assign to the Node Pool. - 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 - ignore_changesfunctionality to ignore changes to the casing until this is fixed in the AKS API.
- TemporaryName stringFor Rotation 
- Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
- Type string
- The type of Node Pool which should be created. Possible values are - VirtualMachineScaleSets. Defaults to- VirtualMachineScaleSets. Changing this forces a new resource to be created.- Note: When creating a cluster that supports multiple node pools, the cluster must use - VirtualMachineScaleSets. For more information on the limitations of clusters using multiple node pools see the documentation.
- UltraSsd boolEnabled 
- Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information.temporary_name_for_rotationmust be specified when attempting a change.
- UpgradeSettings KubernetesCluster Default Node Pool Upgrade Settings 
- A upgrade_settingsblock as documented below.
- VnetSubnet stringId 
- The ID of a Subnet where the Kubernetes Node Pool should exist. - Note: A Route Table must be configured on this Subnet. 
- WorkloadRuntime string
- Specifies the workload runtime used by the node pool. Possible value is OCIContainer.
- Zones []string
- Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the - typeis set to- VirtualMachineScaleSetsand that- load_balancer_skuis set to- standard.
- name String
- The name which should be used for the default Kubernetes Node Pool.
- vmSize String
- The size of the Virtual Machine, such as Standard_DS2_v2.temporary_name_for_rotationmust be specified when attempting a resize.
- autoScaling BooleanEnabled 
- Should the Kubernetes Auto Scaler be enabled for this Node Pool? - Note: This requires that the - typeis set to- VirtualMachineScaleSets.- Note: If you're using AutoScaling, you may wish to use - ignoreChangesfunctionality to ignore changes to the- node_countfield.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- fipsEnabled Boolean
- Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotationmust be specified when changing this block. Changing this forces a new resource to be created.
- gpuInstance String
- Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g,MIG2g,MIG3g,MIG4gandMIG7g. Changing this forces a new resource to be created.
- hostEncryption BooleanEnabled 
- Should the nodes in the Default Node Pool have host encryption enabled? - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the Feature - Microsoft.ContainerService/EnableEncryptionAtHostis enabled and the Resource Provider is registered.
- hostGroup StringId 
- Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- kubeletConfig KubernetesCluster Default Node Pool Kubelet Config 
- A kubelet_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- kubeletDisk StringType 
- The type of disk used by kubelet. Possible values are OSandTemporary.
- linuxOs KubernetesConfig Cluster Default Node Pool Linux Os Config 
- A linux_os_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- maxCount Integer
- maxPods Integer
- The maximum number of pods that can run on each agent. temporary_name_for_rotationmust be specified when changing this property.
- minCount Integer
- nodeCount Integer
- nodeLabels Map<String,String>
- A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
- nodeNetwork KubernetesProfile Cluster Default Node Pool Node Network Profile 
- A node_network_profileblock as documented below.
- nodePublic BooleanIp Enabled 
- Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotationmust be specified when changing this property.
- nodePublic StringIp Prefix Id 
- Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabledshould betrue. Changing this forces a new resource to be created.
- onlyCritical BooleanAddons Enabled 
- Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoScheduletaint.temporary_name_for_rotationmust be specified when changing this property.
- orchestratorVersion String
- Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by - kubernetes_version. If both are unspecified, 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.22are 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. 
- osDisk IntegerSize Gb 
- The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotationmust be specified when attempting a change.
- osDisk StringType 
- The type of disk which should be used for the Operating System. Possible values are EphemeralandManaged. Defaults toManaged.temporary_name_for_rotationmust be specified when attempting a change.
- osSku String
- Specifies the OS SKU used by the agent pool. Possible values are AzureLinux,Ubuntu,Windows2019andWindows2022. If not specified, the default isUbuntuif OSType=Linux orWindows2019if OSType=Windows. And the default Windows OSSKU will be changed toWindows2022after Windows2019 is deprecated. Changing this fromAzureLinuxorUbuntutoAzureLinuxorUbuntuwill not replace the resource, otherwisetemporary_name_for_rotationmust be specified when attempting a change.
- podSubnet StringId 
- The ID of the Subnet where the pods in the default Node Pool should exist.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
- scaleDown StringMode 
- Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are DeleteandDeallocate. Defaults toDelete.
- snapshotId String
- The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotationmust be specified when changing this property.
- Map<String,String>
- A mapping of tags to assign to the Node Pool. - 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 - ignore_changesfunctionality to ignore changes to the casing until this is fixed in the AKS API.
- temporaryName StringFor Rotation 
- Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
- type String
- The type of Node Pool which should be created. Possible values are - VirtualMachineScaleSets. Defaults to- VirtualMachineScaleSets. Changing this forces a new resource to be created.- Note: When creating a cluster that supports multiple node pools, the cluster must use - VirtualMachineScaleSets. For more information on the limitations of clusters using multiple node pools see the documentation.
- ultraSsd BooleanEnabled 
- Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information.temporary_name_for_rotationmust be specified when attempting a change.
- upgradeSettings KubernetesCluster Default Node Pool Upgrade Settings 
- A upgrade_settingsblock as documented below.
- vnetSubnet StringId 
- The ID of a Subnet where the Kubernetes Node Pool should exist. - Note: A Route Table must be configured on this Subnet. 
- workloadRuntime String
- Specifies the workload runtime used by the node pool. Possible value is OCIContainer.
- zones List<String>
- Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the - typeis set to- VirtualMachineScaleSetsand that- load_balancer_skuis set to- standard.
- name string
- The name which should be used for the default Kubernetes Node Pool.
- vmSize string
- The size of the Virtual Machine, such as Standard_DS2_v2.temporary_name_for_rotationmust be specified when attempting a resize.
- autoScaling booleanEnabled 
- Should the Kubernetes Auto Scaler be enabled for this Node Pool? - Note: This requires that the - typeis set to- VirtualMachineScaleSets.- Note: If you're using AutoScaling, you may wish to use - ignoreChangesfunctionality to ignore changes to the- node_countfield.
- capacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- fipsEnabled boolean
- Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotationmust be specified when changing this block. Changing this forces a new resource to be created.
- gpuInstance string
- Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g,MIG2g,MIG3g,MIG4gandMIG7g. Changing this forces a new resource to be created.
- hostEncryption booleanEnabled 
- Should the nodes in the Default Node Pool have host encryption enabled? - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the Feature - Microsoft.ContainerService/EnableEncryptionAtHostis enabled and the Resource Provider is registered.
- hostGroup stringId 
- Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- kubeletConfig KubernetesCluster Default Node Pool Kubelet Config 
- A kubelet_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- kubeletDisk stringType 
- The type of disk used by kubelet. Possible values are OSandTemporary.
- linuxOs KubernetesConfig Cluster Default Node Pool Linux Os Config 
- A linux_os_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- maxCount number
- maxPods number
- The maximum number of pods that can run on each agent. temporary_name_for_rotationmust be specified when changing this property.
- minCount number
- nodeCount number
- nodeLabels {[key: string]: string}
- A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
- nodeNetwork KubernetesProfile Cluster Default Node Pool Node Network Profile 
- A node_network_profileblock as documented below.
- nodePublic booleanIp Enabled 
- Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotationmust be specified when changing this property.
- nodePublic stringIp Prefix Id 
- Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabledshould betrue. Changing this forces a new resource to be created.
- onlyCritical booleanAddons Enabled 
- Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoScheduletaint.temporary_name_for_rotationmust be specified when changing this property.
- orchestratorVersion string
- Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by - kubernetes_version. If both are unspecified, 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.22are 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. 
- osDisk numberSize Gb 
- The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotationmust be specified when attempting a change.
- osDisk stringType 
- The type of disk which should be used for the Operating System. Possible values are EphemeralandManaged. Defaults toManaged.temporary_name_for_rotationmust be specified when attempting a change.
- osSku string
- Specifies the OS SKU used by the agent pool. Possible values are AzureLinux,Ubuntu,Windows2019andWindows2022. If not specified, the default isUbuntuif OSType=Linux orWindows2019if OSType=Windows. And the default Windows OSSKU will be changed toWindows2022after Windows2019 is deprecated. Changing this fromAzureLinuxorUbuntutoAzureLinuxorUbuntuwill not replace the resource, otherwisetemporary_name_for_rotationmust be specified when attempting a change.
- podSubnet stringId 
- The ID of the Subnet where the pods in the default Node Pool should exist.
- proximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
- scaleDown stringMode 
- Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are DeleteandDeallocate. Defaults toDelete.
- snapshotId string
- The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotationmust be specified when changing this property.
- {[key: string]: string}
- A mapping of tags to assign to the Node Pool. - 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 - ignore_changesfunctionality to ignore changes to the casing until this is fixed in the AKS API.
- temporaryName stringFor Rotation 
- Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
- type string
- The type of Node Pool which should be created. Possible values are - VirtualMachineScaleSets. Defaults to- VirtualMachineScaleSets. Changing this forces a new resource to be created.- Note: When creating a cluster that supports multiple node pools, the cluster must use - VirtualMachineScaleSets. For more information on the limitations of clusters using multiple node pools see the documentation.
- ultraSsd booleanEnabled 
- Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information.temporary_name_for_rotationmust be specified when attempting a change.
- upgradeSettings KubernetesCluster Default Node Pool Upgrade Settings 
- A upgrade_settingsblock as documented below.
- vnetSubnet stringId 
- The ID of a Subnet where the Kubernetes Node Pool should exist. - Note: A Route Table must be configured on this Subnet. 
- workloadRuntime string
- Specifies the workload runtime used by the node pool. Possible value is OCIContainer.
- zones string[]
- Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the - typeis set to- VirtualMachineScaleSetsand that- load_balancer_skuis set to- standard.
- name str
- The name which should be used for the default Kubernetes Node Pool.
- vm_size str
- The size of the Virtual Machine, such as Standard_DS2_v2.temporary_name_for_rotationmust be specified when attempting a resize.
- auto_scaling_ boolenabled 
- Should the Kubernetes Auto Scaler be enabled for this Node Pool? - Note: This requires that the - typeis set to- VirtualMachineScaleSets.- Note: If you're using AutoScaling, you may wish to use - ignoreChangesfunctionality to ignore changes to the- node_countfield.
- capacity_reservation_ strgroup_ id 
- Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- fips_enabled bool
- Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotationmust be specified when changing this block. Changing this forces a new resource to be created.
- gpu_instance str
- Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g,MIG2g,MIG3g,MIG4gandMIG7g. Changing this forces a new resource to be created.
- host_encryption_ boolenabled 
- Should the nodes in the Default Node Pool have host encryption enabled? - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the Feature - Microsoft.ContainerService/EnableEncryptionAtHostis enabled and the Resource Provider is registered.
- host_group_ strid 
- Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- kubelet_config KubernetesCluster Default Node Pool Kubelet Config 
- A kubelet_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- kubelet_disk_ strtype 
- The type of disk used by kubelet. Possible values are OSandTemporary.
- linux_os_ Kubernetesconfig Cluster Default Node Pool Linux Os Config 
- A linux_os_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- max_count int
- max_pods int
- The maximum number of pods that can run on each agent. temporary_name_for_rotationmust be specified when changing this property.
- min_count int
- node_count int
- node_labels Mapping[str, str]
- A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
- node_network_ Kubernetesprofile Cluster Default Node Pool Node Network Profile 
- A node_network_profileblock as documented below.
- node_public_ boolip_ enabled 
- Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotationmust be specified when changing this property.
- node_public_ strip_ prefix_ id 
- Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabledshould betrue. Changing this forces a new resource to be created.
- only_critical_ booladdons_ enabled 
- Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoScheduletaint.temporary_name_for_rotationmust be specified when changing this property.
- orchestrator_version str
- Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by - kubernetes_version. If both are unspecified, 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.22are 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_ intsize_ gb 
- The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotationmust be specified when attempting a change.
- os_disk_ strtype 
- The type of disk which should be used for the Operating System. Possible values are EphemeralandManaged. Defaults toManaged.temporary_name_for_rotationmust be specified when attempting a change.
- os_sku str
- Specifies the OS SKU used by the agent pool. Possible values are AzureLinux,Ubuntu,Windows2019andWindows2022. If not specified, the default isUbuntuif OSType=Linux orWindows2019if OSType=Windows. And the default Windows OSSKU will be changed toWindows2022after Windows2019 is deprecated. Changing this fromAzureLinuxorUbuntutoAzureLinuxorUbuntuwill not replace the resource, otherwisetemporary_name_for_rotationmust be specified when attempting a change.
- pod_subnet_ strid 
- The ID of the Subnet where the pods in the default Node Pool should exist.
- proximity_placement_ strgroup_ id 
- The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
- scale_down_ strmode 
- Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are DeleteandDeallocate. Defaults toDelete.
- snapshot_id str
- The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotationmust be specified when changing this property.
- Mapping[str, str]
- A mapping of tags to assign to the Node Pool. - 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 - ignore_changesfunctionality to ignore changes to the casing until this is fixed in the AKS API.
- temporary_name_ strfor_ rotation 
- Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
- type str
- The type of Node Pool which should be created. Possible values are - VirtualMachineScaleSets. Defaults to- VirtualMachineScaleSets. Changing this forces a new resource to be created.- Note: When creating a cluster that supports multiple node pools, the cluster must use - VirtualMachineScaleSets. For more information on the limitations of clusters using multiple node pools see the documentation.
- ultra_ssd_ boolenabled 
- Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information.temporary_name_for_rotationmust be specified when attempting a change.
- upgrade_settings KubernetesCluster Default Node Pool Upgrade Settings 
- A upgrade_settingsblock as documented below.
- vnet_subnet_ strid 
- The ID of a Subnet where the Kubernetes Node Pool should exist. - Note: A Route Table must be configured on this Subnet. 
- workload_runtime str
- Specifies the workload runtime used by the node pool. Possible value is OCIContainer.
- zones Sequence[str]
- Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the - typeis set to- VirtualMachineScaleSetsand that- load_balancer_skuis set to- standard.
- name String
- The name which should be used for the default Kubernetes Node Pool.
- vmSize String
- The size of the Virtual Machine, such as Standard_DS2_v2.temporary_name_for_rotationmust be specified when attempting a resize.
- autoScaling BooleanEnabled 
- Should the Kubernetes Auto Scaler be enabled for this Node Pool? - Note: This requires that the - typeis set to- VirtualMachineScaleSets.- Note: If you're using AutoScaling, you may wish to use - ignoreChangesfunctionality to ignore changes to the- node_countfield.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- fipsEnabled Boolean
- Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotationmust be specified when changing this block. Changing this forces a new resource to be created.
- gpuInstance String
- Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g,MIG2g,MIG3g,MIG4gandMIG7g. Changing this forces a new resource to be created.
- hostEncryption BooleanEnabled 
- Should the nodes in the Default Node Pool have host encryption enabled? - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the Feature - Microsoft.ContainerService/EnableEncryptionAtHostis enabled and the Resource Provider is registered.
- hostGroup StringId 
- Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
- kubeletConfig Property Map
- A kubelet_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- kubeletDisk StringType 
- The type of disk used by kubelet. Possible values are OSandTemporary.
- linuxOs Property MapConfig 
- A linux_os_configblock as defined below.temporary_name_for_rotationmust be specified when changing this block.
- maxCount Number
- maxPods Number
- The maximum number of pods that can run on each agent. temporary_name_for_rotationmust be specified when changing this property.
- minCount Number
- nodeCount Number
- nodeLabels Map<String>
- A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
- nodeNetwork Property MapProfile 
- A node_network_profileblock as documented below.
- nodePublic BooleanIp Enabled 
- Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotationmust be specified when changing this property.
- nodePublic StringIp Prefix Id 
- Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabledshould betrue. Changing this forces a new resource to be created.
- onlyCritical BooleanAddons Enabled 
- Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoScheduletaint.temporary_name_for_rotationmust be specified when changing this property.
- orchestratorVersion String
- Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by - kubernetes_version. If both are unspecified, 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.22are 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. 
- osDisk NumberSize Gb 
- The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotationmust be specified when attempting a change.
- osDisk StringType 
- The type of disk which should be used for the Operating System. Possible values are EphemeralandManaged. Defaults toManaged.temporary_name_for_rotationmust be specified when attempting a change.
- osSku String
- Specifies the OS SKU used by the agent pool. Possible values are AzureLinux,Ubuntu,Windows2019andWindows2022. If not specified, the default isUbuntuif OSType=Linux orWindows2019if OSType=Windows. And the default Windows OSSKU will be changed toWindows2022after Windows2019 is deprecated. Changing this fromAzureLinuxorUbuntutoAzureLinuxorUbuntuwill not replace the resource, otherwisetemporary_name_for_rotationmust be specified when attempting a change.
- podSubnet StringId 
- The ID of the Subnet where the pods in the default Node Pool should exist.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
- scaleDown StringMode 
- Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are DeleteandDeallocate. Defaults toDelete.
- snapshotId String
- The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotationmust be specified when changing this property.
- Map<String>
- A mapping of tags to assign to the Node Pool. - 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 - ignore_changesfunctionality to ignore changes to the casing until this is fixed in the AKS API.
- temporaryName StringFor Rotation 
- Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
- type String
- The type of Node Pool which should be created. Possible values are - VirtualMachineScaleSets. Defaults to- VirtualMachineScaleSets. Changing this forces a new resource to be created.- Note: When creating a cluster that supports multiple node pools, the cluster must use - VirtualMachineScaleSets. For more information on the limitations of clusters using multiple node pools see the documentation.
- ultraSsd BooleanEnabled 
- Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information.temporary_name_for_rotationmust be specified when attempting a change.
- upgradeSettings Property Map
- A upgrade_settingsblock as documented below.
- vnetSubnet StringId 
- The ID of a Subnet where the Kubernetes Node Pool should exist. - Note: A Route Table must be configured on this Subnet. 
- workloadRuntime String
- Specifies the workload runtime used by the node pool. Possible value is OCIContainer.
- zones List<String>
- Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. - temporary_name_for_rotationmust be specified when changing this property.- Note: This requires that the - typeis set to- VirtualMachineScaleSetsand that- load_balancer_skuis set to- standard.
KubernetesClusterDefaultNodePoolKubeletConfig, KubernetesClusterDefaultNodePoolKubeletConfigArgs              
- AllowedUnsafe List<string>Sysctls 
- Specifies the allow list of unsafe sysctls command or patterns (ending in *).
- ContainerLog intMax Line 
- Specifies the maximum number of container log files that can be present for a container. must be at least 2.
- ContainerLog intMax Size Mb 
- Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
- CpuCfs boolQuota Enabled 
- Is CPU CFS quota enforcement for containers enabled? Defaults to true.
- CpuCfs stringQuota Period 
- Specifies the CPU CFS quota period value.
- CpuManager stringPolicy 
- Specifies the CPU Manager policy to use. Possible values are noneandstatic,.
- ImageGc intHigh Threshold 
- Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0and100.
- ImageGc intLow Threshold 
- Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0and100.
- PodMax intPid 
- Specifies the maximum number of processes per pod.
- TopologyManager stringPolicy 
- Specifies the Topology Manager policy to use. Possible values are none,best-effort,restrictedorsingle-numa-node.
- AllowedUnsafe []stringSysctls 
- Specifies the allow list of unsafe sysctls command or patterns (ending in *).
- ContainerLog intMax Line 
- Specifies the maximum number of container log files that can be present for a container. must be at least 2.
- ContainerLog intMax Size Mb 
- Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
- CpuCfs boolQuota Enabled 
- Is CPU CFS quota enforcement for containers enabled? Defaults to true.
- CpuCfs stringQuota Period 
- Specifies the CPU CFS quota period value.
- CpuManager stringPolicy 
- Specifies the CPU Manager policy to use. Possible values are noneandstatic,.
- ImageGc intHigh Threshold 
- Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0and100.
- ImageGc intLow Threshold 
- Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0and100.
- PodMax intPid 
- Specifies the maximum number of processes per pod.
- TopologyManager stringPolicy 
- Specifies the Topology Manager policy to use. Possible values are none,best-effort,restrictedorsingle-numa-node.
- allowedUnsafe List<String>Sysctls 
- Specifies the allow list of unsafe sysctls command or patterns (ending in *).
- containerLog IntegerMax Line 
- Specifies the maximum number of container log files that can be present for a container. must be at least 2.
- containerLog IntegerMax Size Mb 
- Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
- cpuCfs BooleanQuota Enabled 
- Is CPU CFS quota enforcement for containers enabled? Defaults to true.
- cpuCfs StringQuota Period 
- Specifies the CPU CFS quota period value.
- cpuManager StringPolicy 
- Specifies the CPU Manager policy to use. Possible values are noneandstatic,.
- imageGc IntegerHigh Threshold 
- Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0and100.
- imageGc IntegerLow Threshold 
- Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0and100.
- podMax IntegerPid 
- Specifies the maximum number of processes per pod.
- topologyManager StringPolicy 
- Specifies the Topology Manager policy to use. Possible values are none,best-effort,restrictedorsingle-numa-node.
- allowedUnsafe string[]Sysctls 
- Specifies the allow list of unsafe sysctls command or patterns (ending in *).
- containerLog numberMax Line 
- Specifies the maximum number of container log files that can be present for a container. must be at least 2.
- containerLog numberMax Size Mb 
- Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
- cpuCfs booleanQuota Enabled 
- Is CPU CFS quota enforcement for containers enabled? Defaults to true.
- cpuCfs stringQuota Period 
- Specifies the CPU CFS quota period value.
- cpuManager stringPolicy 
- Specifies the CPU Manager policy to use. Possible values are noneandstatic,.
- imageGc numberHigh Threshold 
- Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0and100.
- imageGc numberLow Threshold 
- Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0and100.
- podMax numberPid 
- Specifies the maximum number of processes per pod.
- topologyManager stringPolicy 
- Specifies the Topology Manager policy to use. Possible values are none,best-effort,restrictedorsingle-numa-node.
- allowed_unsafe_ Sequence[str]sysctls 
- Specifies the allow list of unsafe sysctls command or patterns (ending in *).
- container_log_ intmax_ line 
- Specifies the maximum number of container log files that can be present for a container. must be at least 2.
- container_log_ intmax_ size_ mb 
- Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
- cpu_cfs_ boolquota_ enabled 
- Is CPU CFS quota enforcement for containers enabled? Defaults to true.
- cpu_cfs_ strquota_ period 
- Specifies the CPU CFS quota period value.
- cpu_manager_ strpolicy 
- Specifies the CPU Manager policy to use. Possible values are noneandstatic,.
- image_gc_ inthigh_ threshold 
- Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0and100.
- image_gc_ intlow_ threshold 
- Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0and100.
- pod_max_ intpid 
- Specifies the maximum number of processes per pod.
- topology_manager_ strpolicy 
- Specifies the Topology Manager policy to use. Possible values are none,best-effort,restrictedorsingle-numa-node.
- allowedUnsafe List<String>Sysctls 
- Specifies the allow list of unsafe sysctls command or patterns (ending in *).
- containerLog NumberMax Line 
- Specifies the maximum number of container log files that can be present for a container. must be at least 2.
- containerLog NumberMax Size Mb 
- Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
- cpuCfs BooleanQuota Enabled 
- Is CPU CFS quota enforcement for containers enabled? Defaults to true.
- cpuCfs StringQuota Period 
- Specifies the CPU CFS quota period value.
- cpuManager StringPolicy 
- Specifies the CPU Manager policy to use. Possible values are noneandstatic,.
- imageGc NumberHigh Threshold 
- Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0and100.
- imageGc NumberLow Threshold 
- Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0and100.
- podMax NumberPid 
- Specifies the maximum number of processes per pod.
- topologyManager StringPolicy 
- Specifies the Topology Manager policy to use. Possible values are none,best-effort,restrictedorsingle-numa-node.
KubernetesClusterDefaultNodePoolLinuxOsConfig, KubernetesClusterDefaultNodePoolLinuxOsConfigArgs                
- SwapFile intSize Mb 
- Specifies the size of the swap file on each node in MB.
- SysctlConfig KubernetesCluster Default Node Pool Linux Os Config Sysctl Config 
- A sysctl_configblock as defined below.
- TransparentHuge stringPage Defrag 
- specifies the defrag configuration for Transparent Huge Page. Possible values are always,defer,defer+madvise,madviseandnever.
- TransparentHuge stringPage Enabled 
- Specifies the Transparent Huge Page enabled configuration. Possible values are always,madviseandnever.
- SwapFile intSize Mb 
- Specifies the size of the swap file on each node in MB.
- SysctlConfig KubernetesCluster Default Node Pool Linux Os Config Sysctl Config 
- A sysctl_configblock as defined below.
- TransparentHuge stringPage Defrag 
- specifies the defrag configuration for Transparent Huge Page. Possible values are always,defer,defer+madvise,madviseandnever.
- TransparentHuge stringPage Enabled 
- Specifies the Transparent Huge Page enabled configuration. Possible values are always,madviseandnever.
- swapFile IntegerSize Mb 
- Specifies the size of the swap file on each node in MB.
- sysctlConfig KubernetesCluster Default Node Pool Linux Os Config Sysctl Config 
- A sysctl_configblock as defined below.
- transparentHuge StringPage Defrag 
- specifies the defrag configuration for Transparent Huge Page. Possible values are always,defer,defer+madvise,madviseandnever.
- transparentHuge StringPage Enabled 
- Specifies the Transparent Huge Page enabled configuration. Possible values are always,madviseandnever.
- swapFile numberSize Mb 
- Specifies the size of the swap file on each node in MB.
- sysctlConfig KubernetesCluster Default Node Pool Linux Os Config Sysctl Config 
- A sysctl_configblock as defined below.
- transparentHuge stringPage Defrag 
- specifies the defrag configuration for Transparent Huge Page. Possible values are always,defer,defer+madvise,madviseandnever.
- transparentHuge stringPage Enabled 
- Specifies the Transparent Huge Page enabled configuration. Possible values are always,madviseandnever.
- swap_file_ intsize_ mb 
- Specifies the size of the swap file on each node in MB.
- sysctl_config KubernetesCluster Default Node Pool Linux Os Config Sysctl Config 
- A sysctl_configblock as defined below.
- transparent_huge_ strpage_ defrag 
- specifies the defrag configuration for Transparent Huge Page. Possible values are always,defer,defer+madvise,madviseandnever.
- transparent_huge_ strpage_ enabled 
- Specifies the Transparent Huge Page enabled configuration. Possible values are always,madviseandnever.
- swapFile NumberSize Mb 
- Specifies the size of the swap file on each node in MB.
- sysctlConfig Property Map
- A sysctl_configblock as defined below.
- transparentHuge StringPage Defrag 
- specifies the defrag configuration for Transparent Huge Page. Possible values are always,defer,defer+madvise,madviseandnever.
- transparentHuge StringPage Enabled 
- Specifies the Transparent Huge Page enabled configuration. Possible values are always,madviseandnever.
KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig, KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigArgs                    
- FsAio intMax Nr 
- The sysctl setting fs.aio-max-nr. Must be between 65536and6553500.
- FsFile intMax 
- The sysctl setting fs.file-max. Must be between 8192and12000500.
- FsInotify intMax User Watches 
- The sysctl setting fs.inotify.max_user_watches. Must be between 781250and2097152.
- FsNr intOpen 
- The sysctl setting fs.nr_open. Must be between 8192and20000500.
- KernelThreads intMax 
- The sysctl setting kernel.threads-max. Must be between 20and513785.
- NetCore intNetdev Max Backlog 
- The sysctl setting net.core.netdev_max_backlog. Must be between 1000and3240000.
- NetCore intOptmem Max 
- The sysctl setting net.core.optmem_max. Must be between 20480and4194304.
- NetCore intRmem Default 
- The sysctl setting net.core.rmem_default. Must be between 212992and134217728.
- NetCore intRmem Max 
- The sysctl setting net.core.rmem_max. Must be between 212992and134217728.
- NetCore intSomaxconn 
- The sysctl setting net.core.somaxconn. Must be between 4096and3240000.
- NetCore intWmem Default 
- The sysctl setting net.core.wmem_default. Must be between 212992and134217728.
- NetCore intWmem Max 
- The sysctl setting net.core.wmem_max. Must be between 212992and134217728.
- NetIpv4Ip intLocal Port Range Max 
- The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768and65535.
- NetIpv4Ip intLocal Port Range Min 
- The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024and60999.
- NetIpv4Neigh intDefault Gc Thresh1 
- The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128and80000.
- NetIpv4Neigh intDefault Gc Thresh2 
- The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512and90000.
- NetIpv4Neigh intDefault Gc Thresh3 
- The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024and100000.
- NetIpv4Tcp intFin Timeout 
- The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5and120.
- NetIpv4Tcp intKeepalive Intvl 
- The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10and90.
- NetIpv4Tcp intKeepalive Probes 
- The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1and15.
- NetIpv4Tcp intKeepalive Time 
- The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30and432000.
- NetIpv4Tcp intMax Syn Backlog 
- The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128and3240000.
- NetIpv4Tcp intMax Tw Buckets 
- The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000and1440000.
- NetIpv4Tcp boolTw Reuse 
- The sysctl setting net.ipv4.tcp_tw_reuse.
- NetNetfilter intNf Conntrack Buckets 
- The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536and524288.
- NetNetfilter intNf Conntrack Max 
- The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072and2097152.
- VmMax intMap Count 
- The sysctl setting vm.max_map_count. Must be between 65530and262144.
- VmSwappiness int
- The sysctl setting vm.swappiness. Must be between 0and100.
- VmVfs intCache Pressure 
- The sysctl setting vm.vfs_cache_pressure. Must be between 0and100.
- FsAio intMax Nr 
- The sysctl setting fs.aio-max-nr. Must be between 65536and6553500.
- FsFile intMax 
- The sysctl setting fs.file-max. Must be between 8192and12000500.
- FsInotify intMax User Watches 
- The sysctl setting fs.inotify.max_user_watches. Must be between 781250and2097152.
- FsNr intOpen 
- The sysctl setting fs.nr_open. Must be between 8192and20000500.
- KernelThreads intMax 
- The sysctl setting kernel.threads-max. Must be between 20and513785.
- NetCore intNetdev Max Backlog 
- The sysctl setting net.core.netdev_max_backlog. Must be between 1000and3240000.
- NetCore intOptmem Max 
- The sysctl setting net.core.optmem_max. Must be between 20480and4194304.
- NetCore intRmem Default 
- The sysctl setting net.core.rmem_default. Must be between 212992and134217728.
- NetCore intRmem Max 
- The sysctl setting net.core.rmem_max. Must be between 212992and134217728.
- NetCore intSomaxconn 
- The sysctl setting net.core.somaxconn. Must be between 4096and3240000.
- NetCore intWmem Default 
- The sysctl setting net.core.wmem_default. Must be between 212992and134217728.
- NetCore intWmem Max 
- The sysctl setting net.core.wmem_max. Must be between 212992and134217728.
- NetIpv4Ip intLocal Port Range Max 
- The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768and65535.
- NetIpv4Ip intLocal Port Range Min 
- The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024and60999.
- NetIpv4Neigh intDefault Gc Thresh1 
- The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128and80000.
- NetIpv4Neigh intDefault Gc Thresh2 
- The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512and90000.
- NetIpv4Neigh intDefault Gc Thresh3 
- The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024and100000.
- NetIpv4Tcp intFin Timeout 
- The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5and120.
- NetIpv4Tcp intKeepalive Intvl 
- The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10and90.
- NetIpv4Tcp intKeepalive Probes 
- The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1and15.
- NetIpv4Tcp intKeepalive Time 
- The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30and432000.
- NetIpv4Tcp intMax Syn Backlog 
- The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128and3240000.
- NetIpv4Tcp intMax Tw Buckets 
- The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000and1440000.
- NetIpv4Tcp boolTw Reuse 
- The sysctl setting net.ipv4.tcp_tw_reuse.
- NetNetfilter intNf Conntrack Buckets 
- The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536and524288.
- NetNetfilter intNf Conntrack Max 
- The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072and2097152.
- VmMax intMap Count 
- The sysctl setting vm.max_map_count. Must be between 65530and262144.
- VmSwappiness int
- The sysctl setting vm.swappiness. Must be between 0and100.
- VmVfs intCache Pressure 
- The sysctl setting vm.vfs_cache_pressure. Must be between 0and100.
- fsAio IntegerMax Nr 
- The sysctl setting fs.aio-max-nr. Must be between 65536and6553500.
- fsFile IntegerMax 
- The sysctl setting fs.file-max. Must be between 8192and12000500.
- fsInotify IntegerMax User Watches 
- The sysctl setting fs.inotify.max_user_watches. Must be between 781250and2097152.
- fsNr IntegerOpen 
- The sysctl setting fs.nr_open. Must be between 8192and20000500.
- kernelThreads IntegerMax 
- The sysctl setting kernel.threads-max. Must be between 20and513785.
- netCore IntegerNetdev Max Backlog 
- The sysctl setting net.core.netdev_max_backlog. Must be between 1000and3240000.
- netCore IntegerOptmem Max 
- The sysctl setting net.core.optmem_max. Must be between 20480and4194304.
- netCore IntegerRmem Default 
- The sysctl setting net.core.rmem_default. Must be between 212992and134217728.
- netCore IntegerRmem Max 
- The sysctl setting net.core.rmem_max. Must be between 212992and134217728.
- netCore IntegerSomaxconn 
- The sysctl setting net.core.somaxconn. Must be between 4096and3240000.
- netCore IntegerWmem Default 
- The sysctl setting net.core.wmem_default. Must be between 212992and134217728.
- netCore IntegerWmem Max 
- The sysctl setting net.core.wmem_max. Must be between 212992and134217728.
- netIpv4Ip IntegerLocal Port Range Max 
- The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768and65535.
- netIpv4Ip IntegerLocal Port Range Min 
- The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024and60999.
- netIpv4Neigh IntegerDefault Gc Thresh1 
- The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128and80000.
- netIpv4Neigh IntegerDefault Gc Thresh2 
- The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512and90000.
- netIpv4Neigh IntegerDefault Gc Thresh3 
- The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024and100000.
- netIpv4Tcp IntegerFin Timeout 
- The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5and120.
- netIpv4Tcp IntegerKeepalive Intvl 
- The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10and90.
- netIpv4Tcp IntegerKeepalive Probes 
- The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1and15.
- netIpv4Tcp IntegerKeepalive Time 
- The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30and432000.
- netIpv4Tcp IntegerMax Syn Backlog 
- The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128and3240000.
- netIpv4Tcp IntegerMax Tw Buckets 
- The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000and1440000.
- netIpv4Tcp BooleanTw Reuse 
- The sysctl setting net.ipv4.tcp_tw_reuse.
- netNetfilter IntegerNf Conntrack Buckets 
- The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536and524288.
- netNetfilter IntegerNf Conntrack Max 
- The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072and2097152.
- vmMax IntegerMap Count 
- The sysctl setting vm.max_map_count. Must be between 65530and262144.
- vmSwappiness Integer
- The sysctl setting vm.swappiness. Must be between 0and100.
- vmVfs IntegerCache Pressure 
- The sysctl setting vm.vfs_cache_pressure. Must be between 0and100.
- fsAio numberMax Nr 
- The sysctl setting fs.aio-max-nr. Must be between 65536and6553500.
- fsFile numberMax 
- The sysctl setting fs.file-max. Must be between 8192and12000500.
- fsInotify numberMax User Watches 
- The sysctl setting fs.inotify.max_user_watches. Must be between 781250and2097152.
- fsNr numberOpen 
- The sysctl setting fs.nr_open. Must be between 8192and20000500.
- kernelThreads numberMax 
- The sysctl setting kernel.threads-max. Must be between 20and513785.
- netCore numberNetdev Max Backlog 
- The sysctl setting net.core.netdev_max_backlog. Must be between 1000and3240000.
- netCore numberOptmem Max 
- The sysctl setting net.core.optmem_max. Must be between 20480and4194304.
- netCore numberRmem Default 
- The sysctl setting net.core.rmem_default. Must be between 212992and134217728.
- netCore numberRmem Max 
- The sysctl setting net.core.rmem_max. Must be between 212992and134217728.
- netCore numberSomaxconn 
- The sysctl setting net.core.somaxconn. Must be between 4096and3240000.
- netCore numberWmem Default 
- The sysctl setting net.core.wmem_default. Must be between 212992and134217728.
- netCore numberWmem Max 
- The sysctl setting net.core.wmem_max. Must be between 212992and134217728.
- netIpv4Ip numberLocal Port Range Max 
- The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768and65535.
- netIpv4Ip numberLocal Port Range Min 
- The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024and60999.
- netIpv4Neigh numberDefault Gc Thresh1 
- The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128and80000.
- netIpv4Neigh numberDefault Gc Thresh2 
- The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512and90000.
- netIpv4Neigh numberDefault Gc Thresh3 
- The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024and100000.
- netIpv4Tcp numberFin Timeout 
- The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5and120.
- netIpv4Tcp numberKeepalive Intvl 
- The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10and90.
- netIpv4Tcp numberKeepalive Probes 
- The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1and15.
- netIpv4Tcp numberKeepalive Time 
- The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30and432000.
- netIpv4Tcp numberMax Syn Backlog 
- The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128and3240000.
- netIpv4Tcp numberMax Tw Buckets 
- The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000and1440000.
- netIpv4Tcp booleanTw Reuse 
- The sysctl setting net.ipv4.tcp_tw_reuse.
- netNetfilter numberNf Conntrack Buckets 
- The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536and524288.
- netNetfilter numberNf Conntrack Max 
- The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072and2097152.
- vmMax numberMap Count 
- The sysctl setting vm.max_map_count. Must be between 65530and262144.
- vmSwappiness number
- The sysctl setting vm.swappiness. Must be between 0and100.
- vmVfs numberCache Pressure 
- The sysctl setting vm.vfs_cache_pressure. Must be between 0and100.
- fs_aio_ intmax_ nr 
- The sysctl setting fs.aio-max-nr. Must be between 65536and6553500.
- fs_file_ intmax 
- The sysctl setting fs.file-max. Must be between 8192and12000500.
- fs_inotify_ intmax_ user_ watches 
- The sysctl setting fs.inotify.max_user_watches. Must be between 781250and2097152.
- fs_nr_ intopen 
- The sysctl setting fs.nr_open. Must be between 8192and20000500.
- kernel_threads_ intmax 
- The sysctl setting kernel.threads-max. Must be between 20and513785.
- net_core_ intnetdev_ max_ backlog 
- The sysctl setting net.core.netdev_max_backlog. Must be between 1000and3240000.
- net_core_ intoptmem_ max 
- The sysctl setting net.core.optmem_max. Must be between 20480and4194304.
- net_core_ intrmem_ default 
- The sysctl setting net.core.rmem_default. Must be between 212992and134217728.
- net_core_ intrmem_ max 
- The sysctl setting net.core.rmem_max. Must be between 212992and134217728.
- net_core_ intsomaxconn 
- The sysctl setting net.core.somaxconn. Must be between 4096and3240000.
- net_core_ intwmem_ default 
- The sysctl setting net.core.wmem_default. Must be between 212992and134217728.
- net_core_ intwmem_ max 
- The sysctl setting net.core.wmem_max. Must be between 212992and134217728.
- net_ipv4_ intip_ local_ port_ range_ max 
- The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768and65535.
- net_ipv4_ intip_ local_ port_ range_ min 
- The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024and60999.
- net_ipv4_ intneigh_ default_ gc_ thresh1 
- The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128and80000.
- net_ipv4_ intneigh_ default_ gc_ thresh2 
- The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512and90000.
- net_ipv4_ intneigh_ default_ gc_ thresh3 
- The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024and100000.
- net_ipv4_ inttcp_ fin_ timeout 
- The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5and120.
- net_ipv4_ inttcp_ keepalive_ intvl 
- The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10and90.
- net_ipv4_ inttcp_ keepalive_ probes 
- The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1and15.
- net_ipv4_ inttcp_ keepalive_ time 
- The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30and432000.
- net_ipv4_ inttcp_ max_ syn_ backlog 
- The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128and3240000.
- net_ipv4_ inttcp_ max_ tw_ buckets 
- The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000and1440000.
- net_ipv4_ booltcp_ tw_ reuse 
- The sysctl setting net.ipv4.tcp_tw_reuse.
- net_netfilter_ intnf_ conntrack_ buckets 
- The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536and524288.
- net_netfilter_ intnf_ conntrack_ max 
- The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072and2097152.
- vm_max_ intmap_ count 
- The sysctl setting vm.max_map_count. Must be between 65530and262144.
- vm_swappiness int
- The sysctl setting vm.swappiness. Must be between 0and100.
- vm_vfs_ intcache_ pressure 
- The sysctl setting vm.vfs_cache_pressure. Must be between 0and100.
- fsAio NumberMax Nr 
- The sysctl setting fs.aio-max-nr. Must be between 65536and6553500.
- fsFile NumberMax 
- The sysctl setting fs.file-max. Must be between 8192and12000500.
- fsInotify NumberMax User Watches 
- The sysctl setting fs.inotify.max_user_watches. Must be between 781250and2097152.
- fsNr NumberOpen 
- The sysctl setting fs.nr_open. Must be between 8192and20000500.
- kernelThreads NumberMax 
- The sysctl setting kernel.threads-max. Must be between 20and513785.
- netCore NumberNetdev Max Backlog 
- The sysctl setting net.core.netdev_max_backlog. Must be between 1000and3240000.
- netCore NumberOptmem Max 
- The sysctl setting net.core.optmem_max. Must be between 20480and4194304.
- netCore NumberRmem Default 
- The sysctl setting net.core.rmem_default. Must be between 212992and134217728.
- netCore NumberRmem Max 
- The sysctl setting net.core.rmem_max. Must be between 212992and134217728.
- netCore NumberSomaxconn 
- The sysctl setting net.core.somaxconn. Must be between 4096and3240000.
- netCore NumberWmem Default 
- The sysctl setting net.core.wmem_default. Must be between 212992and134217728.
- netCore NumberWmem Max 
- The sysctl setting net.core.wmem_max. Must be between 212992and134217728.
- netIpv4Ip NumberLocal Port Range Max 
- The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768and65535.
- netIpv4Ip NumberLocal Port Range Min 
- The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024and60999.
- netIpv4Neigh NumberDefault Gc Thresh1 
- The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128and80000.
- netIpv4Neigh NumberDefault Gc Thresh2 
- The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512and90000.
- netIpv4Neigh NumberDefault Gc Thresh3 
- The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024and100000.
- netIpv4Tcp NumberFin Timeout 
- The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5and120.
- netIpv4Tcp NumberKeepalive Intvl 
- The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10and90.
- netIpv4Tcp NumberKeepalive Probes 
- The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1and15.
- netIpv4Tcp NumberKeepalive Time 
- The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30and432000.
- netIpv4Tcp NumberMax Syn Backlog 
- The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128and3240000.
- netIpv4Tcp NumberMax Tw Buckets 
- The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000and1440000.
- netIpv4Tcp BooleanTw Reuse 
- The sysctl setting net.ipv4.tcp_tw_reuse.
- netNetfilter NumberNf Conntrack Buckets 
- The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536and524288.
- netNetfilter NumberNf Conntrack Max 
- The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072and2097152.
- vmMax NumberMap Count 
- The sysctl setting vm.max_map_count. Must be between 65530and262144.
- vmSwappiness Number
- The sysctl setting vm.swappiness. Must be between 0and100.
- vmVfs NumberCache Pressure 
- The sysctl setting vm.vfs_cache_pressure. Must be between 0and100.
KubernetesClusterDefaultNodePoolNodeNetworkProfile, KubernetesClusterDefaultNodePoolNodeNetworkProfileArgs                
- AllowedHost List<KubernetesPorts Cluster Default Node Pool Node Network Profile Allowed Host Port> 
- One or more allowed_host_portsblocks as defined below.
- ApplicationSecurity List<string>Group Ids 
- A list of Application Security Group IDs which should be associated with this Node Pool.
- Dictionary<string, string>
- Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
- AllowedHost []KubernetesPorts Cluster Default Node Pool Node Network Profile Allowed Host Port 
- One or more allowed_host_portsblocks as defined below.
- ApplicationSecurity []stringGroup Ids 
- A list of Application Security Group IDs which should be associated with this Node Pool.
- map[string]string
- Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
- allowedHost List<KubernetesPorts Cluster Default Node Pool Node Network Profile Allowed Host Port> 
- One or more allowed_host_portsblocks as defined below.
- applicationSecurity List<String>Group Ids 
- A list of Application Security Group IDs which should be associated with this Node Pool.
- Map<String,String>
- Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
- allowedHost KubernetesPorts Cluster Default Node Pool Node Network Profile Allowed Host Port[] 
- One or more allowed_host_portsblocks as defined below.
- applicationSecurity string[]Group Ids 
- A list of Application Security Group IDs which should be associated with this Node Pool.
- {[key: string]: string}
- Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
- allowed_host_ Sequence[Kubernetesports Cluster Default Node Pool Node Network Profile Allowed Host Port] 
- One or more allowed_host_portsblocks as defined below.
- application_security_ Sequence[str]group_ ids 
- A list of Application Security Group IDs which should be associated with this Node Pool.
- Mapping[str, str]
- Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
- allowedHost List<Property Map>Ports 
- One or more allowed_host_portsblocks as defined below.
- applicationSecurity List<String>Group Ids 
- A list of Application Security Group IDs which should be associated with this Node Pool.
- Map<String>
- Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPort, KubernetesClusterDefaultNodePoolNodeNetworkProfileAllowedHostPortArgs                      
- 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 TCPandUDP.
KubernetesClusterDefaultNodePoolUpgradeSettings, KubernetesClusterDefaultNodePoolUpgradeSettingsArgs              
- MaxSurge string
- The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. - Note: If a percentage is provided, the number of surge nodes is calculated from the - node_countvalue on the current cluster. Node surge can allow a cluster to have more nodes than- max_countduring an upgrade. Ensure that your cluster has enough IP space during an upgrade.
- DrainTimeout intIn Minutes 
- The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
- NodeSoak intDuration In Minutes 
- The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
- MaxSurge string
- The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. - Note: If a percentage is provided, the number of surge nodes is calculated from the - node_countvalue on the current cluster. Node surge can allow a cluster to have more nodes than- max_countduring an upgrade. Ensure that your cluster has enough IP space during an upgrade.
- DrainTimeout intIn Minutes 
- The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
- NodeSoak intDuration In Minutes 
- The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
- maxSurge String
- The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. - Note: If a percentage is provided, the number of surge nodes is calculated from the - node_countvalue on the current cluster. Node surge can allow a cluster to have more nodes than- max_countduring an upgrade. Ensure that your cluster has enough IP space during an upgrade.
- drainTimeout IntegerIn Minutes 
- The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
- nodeSoak IntegerDuration In Minutes 
- The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
- maxSurge string
- The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. - Note: If a percentage is provided, the number of surge nodes is calculated from the - node_countvalue on the current cluster. Node surge can allow a cluster to have more nodes than- max_countduring an upgrade. Ensure that your cluster has enough IP space during an upgrade.
- drainTimeout numberIn Minutes 
- The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
- nodeSoak numberDuration In Minutes 
- The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
- max_surge str
- The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. - Note: If a percentage is provided, the number of surge nodes is calculated from the - node_countvalue on the current cluster. Node surge can allow a cluster to have more nodes than- max_countduring an upgrade. Ensure that your cluster has enough IP space during an upgrade.
- drain_timeout_ intin_ minutes 
- The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
- node_soak_ intduration_ in_ minutes 
- The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
- maxSurge String
- The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. - Note: If a percentage is provided, the number of surge nodes is calculated from the - node_countvalue on the current cluster. Node surge can allow a cluster to have more nodes than- max_countduring an upgrade. Ensure that your cluster has enough IP space during an upgrade.
- drainTimeout NumberIn Minutes 
- The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
- nodeSoak NumberDuration In Minutes 
- The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
KubernetesClusterHttpProxyConfig, KubernetesClusterHttpProxyConfigArgs          
- HttpProxy string
- The proxy address to be used when communicating over HTTP.
- HttpsProxy string
- The proxy address to be used when communicating over HTTPS.
- NoProxies List<string>
- TrustedCa string
- The base64 encoded alternative CA certificate content in PEM format.
- HttpProxy string
- The proxy address to be used when communicating over HTTP.
- HttpsProxy string
- The proxy address to be used when communicating over HTTPS.
- NoProxies []string
- TrustedCa string
- The base64 encoded alternative CA certificate content in PEM format.
- httpProxy String
- The proxy address to be used when communicating over HTTP.
- httpsProxy String
- The proxy address to be used when communicating over HTTPS.
- noProxies List<String>
- trustedCa String
- The base64 encoded alternative CA certificate content in PEM format.
- httpProxy string
- The proxy address to be used when communicating over HTTP.
- httpsProxy string
- The proxy address to be used when communicating over HTTPS.
- noProxies string[]
- trustedCa string
- The base64 encoded alternative CA certificate content in PEM format.
- http_proxy str
- The proxy address to be used when communicating over HTTP.
- https_proxy str
- The proxy address to be used when communicating over HTTPS.
- no_proxies Sequence[str]
- trusted_ca str
- The base64 encoded alternative CA certificate content in PEM format.
- httpProxy String
- The proxy address to be used when communicating over HTTP.
- httpsProxy String
- The proxy address to be used when communicating over HTTPS.
- noProxies List<String>
- trustedCa String
- The base64 encoded alternative CA certificate content in PEM format.
KubernetesClusterIdentity, KubernetesClusterIdentityArgs      
- Type string
- Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssignedorUserAssigned.
- IdentityIds List<string>
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster. - Note: This is required when - typeis set to- UserAssigned. Currently only one User Assigned Identity is supported.
- PrincipalId string
- The Principal ID associated with this Managed Service Identity.
- TenantId string
- The Tenant ID associated with this Managed Service Identity.
- Type string
- Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssignedorUserAssigned.
- IdentityIds []string
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster. - Note: This is required when - typeis set to- UserAssigned. Currently only one User Assigned Identity is supported.
- PrincipalId string
- The Principal ID associated with this Managed Service Identity.
- TenantId string
- The Tenant ID associated with this Managed Service Identity.
- type String
- Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssignedorUserAssigned.
- identityIds List<String>
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster. - Note: This is required when - typeis set to- UserAssigned. Currently only one User Assigned Identity is supported.
- principalId String
- The Principal ID associated with this Managed Service Identity.
- tenantId String
- The Tenant ID associated with this Managed Service Identity.
- type string
- Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssignedorUserAssigned.
- identityIds string[]
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster. - Note: This is required when - typeis set to- UserAssigned. Currently only one User Assigned Identity is supported.
- principalId string
- The Principal ID associated with this Managed Service Identity.
- tenantId string
- The Tenant ID associated with this Managed Service Identity.
- type str
- Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssignedorUserAssigned.
- identity_ids Sequence[str]
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster. - Note: This is required when - typeis set to- UserAssigned. Currently only one User Assigned Identity is supported.
- principal_id str
- The Principal ID associated with this Managed Service Identity.
- tenant_id str
- The Tenant ID associated with this Managed Service Identity.
- type String
- Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssignedorUserAssigned.
- identityIds List<String>
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster. - Note: This is required when - typeis set to- UserAssigned. Currently only one User Assigned Identity is supported.
- principalId String
- The Principal ID associated with this Managed Service Identity.
- tenantId String
- The Tenant ID associated with this Managed Service Identity.
KubernetesClusterIngressApplicationGateway, KubernetesClusterIngressApplicationGatewayArgs          
- EffectiveGateway stringId 
- The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.
- GatewayId string
- The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
- GatewayName string
- The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- IngressApplication List<KubernetesGateway Identities Cluster Ingress Application Gateway Ingress Application Gateway Identity> 
- An ingress_application_gateway_identityblock is exported. The exported attributes are defined below.
- SubnetCidr string
- The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- SubnetId string
- The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details. - Note: Exactly one of - gateway_id,- subnet_idor- subnet_cidrmust be specified.- Note: If specifying - ingress_application_gatewayin conjunction with- only_critical_addons_enabled, the AGIC pod will fail to start. A separate- azure.containerservice.KubernetesClusterNodePoolis required to run the AGIC pod successfully. This is because AGIC is classed as a "non-critical addon".
- EffectiveGateway stringId 
- The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.
- GatewayId string
- The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
- GatewayName string
- The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- IngressApplication []KubernetesGateway Identities Cluster Ingress Application Gateway Ingress Application Gateway Identity 
- An ingress_application_gateway_identityblock is exported. The exported attributes are defined below.
- SubnetCidr string
- The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- SubnetId string
- The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details. - Note: Exactly one of - gateway_id,- subnet_idor- subnet_cidrmust be specified.- Note: If specifying - ingress_application_gatewayin conjunction with- only_critical_addons_enabled, the AGIC pod will fail to start. A separate- azure.containerservice.KubernetesClusterNodePoolis required to run the AGIC pod successfully. This is because AGIC is classed as a "non-critical addon".
- effectiveGateway StringId 
- The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.
- gatewayId String
- The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
- gatewayName String
- The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- ingressApplication List<KubernetesGateway Identities Cluster Ingress Application Gateway Ingress Application Gateway Identity> 
- An ingress_application_gateway_identityblock is exported. The exported attributes are defined below.
- subnetCidr String
- The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- subnetId String
- The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details. - Note: Exactly one of - gateway_id,- subnet_idor- subnet_cidrmust be specified.- Note: If specifying - ingress_application_gatewayin conjunction with- only_critical_addons_enabled, the AGIC pod will fail to start. A separate- azure.containerservice.KubernetesClusterNodePoolis required to run the AGIC pod successfully. This is because AGIC is classed as a "non-critical addon".
- effectiveGateway stringId 
- The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.
- gatewayId string
- The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
- gatewayName string
- The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- ingressApplication KubernetesGateway Identities Cluster Ingress Application Gateway Ingress Application Gateway Identity[] 
- An ingress_application_gateway_identityblock is exported. The exported attributes are defined below.
- subnetCidr string
- The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- subnetId string
- The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details. - Note: Exactly one of - gateway_id,- subnet_idor- subnet_cidrmust be specified.- Note: If specifying - ingress_application_gatewayin conjunction with- only_critical_addons_enabled, the AGIC pod will fail to start. A separate- azure.containerservice.KubernetesClusterNodePoolis required to run the AGIC pod successfully. This is because AGIC is classed as a "non-critical addon".
- effective_gateway_ strid 
- The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.
- gateway_id str
- The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
- gateway_name str
- The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- ingress_application_ Sequence[Kubernetesgateway_ identities Cluster Ingress Application Gateway Ingress Application Gateway Identity] 
- An ingress_application_gateway_identityblock is exported. The exported attributes are defined below.
- subnet_cidr str
- The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- subnet_id str
- The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details. - Note: Exactly one of - gateway_id,- subnet_idor- subnet_cidrmust be specified.- Note: If specifying - ingress_application_gatewayin conjunction with- only_critical_addons_enabled, the AGIC pod will fail to start. A separate- azure.containerservice.KubernetesClusterNodePoolis required to run the AGIC pod successfully. This is because AGIC is classed as a "non-critical addon".
- effectiveGateway StringId 
- The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.
- gatewayId String
- The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
- gatewayName String
- The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- ingressApplication List<Property Map>Gateway Identities 
- An ingress_application_gateway_identityblock is exported. The exported attributes are defined below.
- subnetCidr String
- The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
- subnetId String
- The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details. - Note: Exactly one of - gateway_id,- subnet_idor- subnet_cidrmust be specified.- Note: If specifying - ingress_application_gatewayin conjunction with- only_critical_addons_enabled, the AGIC pod will fail to start. A separate- azure.containerservice.KubernetesClusterNodePoolis required to run the AGIC pod successfully. This is because AGIC is classed as a "non-critical addon".
KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity, KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityArgs                  
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- client_id str
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- object_id str
- The Object ID of the user-defined Managed Identity used for Web App Routing
- user_assigned_ stridentity_ id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
KubernetesClusterKeyManagementService, KubernetesClusterKeyManagementServiceArgs          
- KeyVault stringKey Id 
- Identifier of Azure Key Vault key. See key identifier format for more details.
- KeyVault stringNetwork Access 
- Network access of the key vault Network access of key vault. The possible values are PublicandPrivate.Publicmeans the key vault allows public access from all networks.Privatemeans the key vault disables public access and enables private link. Defaults toPublic.
- KeyVault stringKey Id 
- Identifier of Azure Key Vault key. See key identifier format for more details.
- KeyVault stringNetwork Access 
- Network access of the key vault Network access of key vault. The possible values are PublicandPrivate.Publicmeans the key vault allows public access from all networks.Privatemeans the key vault disables public access and enables private link. Defaults toPublic.
- keyVault StringKey Id 
- Identifier of Azure Key Vault key. See key identifier format for more details.
- keyVault StringNetwork Access 
- Network access of the key vault Network access of key vault. The possible values are PublicandPrivate.Publicmeans the key vault allows public access from all networks.Privatemeans the key vault disables public access and enables private link. Defaults toPublic.
- keyVault stringKey Id 
- Identifier of Azure Key Vault key. See key identifier format for more details.
- keyVault stringNetwork Access 
- Network access of the key vault Network access of key vault. The possible values are PublicandPrivate.Publicmeans the key vault allows public access from all networks.Privatemeans the key vault disables public access and enables private link. Defaults toPublic.
- key_vault_ strkey_ id 
- Identifier of Azure Key Vault key. See key identifier format for more details.
- key_vault_ strnetwork_ access 
- Network access of the key vault Network access of key vault. The possible values are PublicandPrivate.Publicmeans the key vault allows public access from all networks.Privatemeans the key vault disables public access and enables private link. Defaults toPublic.
- keyVault StringKey Id 
- Identifier of Azure Key Vault key. See key identifier format for more details.
- keyVault StringNetwork Access 
- Network access of the key vault Network access of key vault. The possible values are PublicandPrivate.Publicmeans the key vault allows public access from all networks.Privatemeans the key vault disables public access and enables private link. Defaults toPublic.
KubernetesClusterKeyVaultSecretsProvider, KubernetesClusterKeyVaultSecretsProviderArgs            
- SecretIdentities List<KubernetesCluster Key Vault Secrets Provider Secret Identity> 
- An secret_identityblock is exported. The exported attributes are defined below.
- SecretRotation boolEnabled 
- Should the secret store CSI driver on the AKS cluster be enabled?
- SecretRotation stringInterval 
- The interval to poll for secret rotation. This attribute is only set when - secret_rotation_enabledis true. Defaults to- 2m.- Note: To enable - key_vault_secrets_providereither- secret_rotation_enabledor- secret_rotation_intervalmust be specified.
- SecretIdentities []KubernetesCluster Key Vault Secrets Provider Secret Identity 
- An secret_identityblock is exported. The exported attributes are defined below.
- SecretRotation boolEnabled 
- Should the secret store CSI driver on the AKS cluster be enabled?
- SecretRotation stringInterval 
- The interval to poll for secret rotation. This attribute is only set when - secret_rotation_enabledis true. Defaults to- 2m.- Note: To enable - key_vault_secrets_providereither- secret_rotation_enabledor- secret_rotation_intervalmust be specified.
- secretIdentities List<KubernetesCluster Key Vault Secrets Provider Secret Identity> 
- An secret_identityblock is exported. The exported attributes are defined below.
- secretRotation BooleanEnabled 
- Should the secret store CSI driver on the AKS cluster be enabled?
- secretRotation StringInterval 
- The interval to poll for secret rotation. This attribute is only set when - secret_rotation_enabledis true. Defaults to- 2m.- Note: To enable - key_vault_secrets_providereither- secret_rotation_enabledor- secret_rotation_intervalmust be specified.
- secretIdentities KubernetesCluster Key Vault Secrets Provider Secret Identity[] 
- An secret_identityblock is exported. The exported attributes are defined below.
- secretRotation booleanEnabled 
- Should the secret store CSI driver on the AKS cluster be enabled?
- secretRotation stringInterval 
- The interval to poll for secret rotation. This attribute is only set when - secret_rotation_enabledis true. Defaults to- 2m.- Note: To enable - key_vault_secrets_providereither- secret_rotation_enabledor- secret_rotation_intervalmust be specified.
- secret_identities Sequence[KubernetesCluster Key Vault Secrets Provider Secret Identity] 
- An secret_identityblock is exported. The exported attributes are defined below.
- secret_rotation_ boolenabled 
- Should the secret store CSI driver on the AKS cluster be enabled?
- secret_rotation_ strinterval 
- The interval to poll for secret rotation. This attribute is only set when - secret_rotation_enabledis true. Defaults to- 2m.- Note: To enable - key_vault_secrets_providereither- secret_rotation_enabledor- secret_rotation_intervalmust be specified.
- secretIdentities List<Property Map>
- An secret_identityblock is exported. The exported attributes are defined below.
- secretRotation BooleanEnabled 
- Should the secret store CSI driver on the AKS cluster be enabled?
- secretRotation StringInterval 
- The interval to poll for secret rotation. This attribute is only set when - secret_rotation_enabledis true. Defaults to- 2m.- Note: To enable - key_vault_secrets_providereither- secret_rotation_enabledor- secret_rotation_intervalmust be specified.
KubernetesClusterKeyVaultSecretsProviderSecretIdentity, KubernetesClusterKeyVaultSecretsProviderSecretIdentityArgs                
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- client_id str
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- object_id str
- The Object ID of the user-defined Managed Identity used for Web App Routing
- user_assigned_ stridentity_ id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
KubernetesClusterKubeAdminConfig, KubernetesClusterKubeAdminConfigArgs          
- ClientCertificate string
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- ClientKey string
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- ClusterCa stringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- Host string
- The Kubernetes cluster server host.
- Password string
- A password or token used to authenticate to the Kubernetes cluster.
- Username string
- A username used to authenticate to the Kubernetes cluster.
- ClientCertificate string
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- ClientKey string
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- ClusterCa stringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- Host string
- The Kubernetes cluster server host.
- Password string
- A password or token used to authenticate to the Kubernetes cluster.
- Username string
- A username used to authenticate to the Kubernetes cluster.
- clientCertificate String
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- clientKey String
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- clusterCa StringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- host String
- The Kubernetes cluster server host.
- password String
- A password or token used to authenticate to the Kubernetes cluster.
- username String
- A username used to authenticate to the Kubernetes cluster.
- clientCertificate string
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- clientKey string
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- clusterCa stringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- host string
- The Kubernetes cluster server host.
- password string
- A password or token used to authenticate to the Kubernetes cluster.
- username string
- A username used to authenticate to the Kubernetes cluster.
- client_certificate str
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- client_key str
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- cluster_ca_ strcertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- host str
- The Kubernetes cluster server host.
- password str
- A password or token used to authenticate to the Kubernetes cluster.
- username str
- A username used to authenticate to the Kubernetes cluster.
- clientCertificate String
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- clientKey String
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- clusterCa StringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- host String
- The Kubernetes cluster server host.
- password String
- A password or token used to authenticate to the Kubernetes cluster.
- username String
- A username used to authenticate to the Kubernetes cluster.
KubernetesClusterKubeConfig, KubernetesClusterKubeConfigArgs        
- ClientCertificate string
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- ClientKey string
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- ClusterCa stringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- Host string
- The Kubernetes cluster server host.
- Password string
- A password or token used to authenticate to the Kubernetes cluster.
- Username string
- A username used to authenticate to the Kubernetes cluster.
- ClientCertificate string
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- ClientKey string
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- ClusterCa stringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- Host string
- The Kubernetes cluster server host.
- Password string
- A password or token used to authenticate to the Kubernetes cluster.
- Username string
- A username used to authenticate to the Kubernetes cluster.
- clientCertificate String
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- clientKey String
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- clusterCa StringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- host String
- The Kubernetes cluster server host.
- password String
- A password or token used to authenticate to the Kubernetes cluster.
- username String
- A username used to authenticate to the Kubernetes cluster.
- clientCertificate string
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- clientKey string
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- clusterCa stringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- host string
- The Kubernetes cluster server host.
- password string
- A password or token used to authenticate to the Kubernetes cluster.
- username string
- A username used to authenticate to the Kubernetes cluster.
- client_certificate str
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- client_key str
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- cluster_ca_ strcertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- host str
- The Kubernetes cluster server host.
- password str
- A password or token used to authenticate to the Kubernetes cluster.
- username str
- A username used to authenticate to the Kubernetes cluster.
- clientCertificate String
- Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
- clientKey String
- Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
- clusterCa StringCertificate 
- Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
- host String
- The Kubernetes cluster server host.
- password String
- A password or token used to authenticate to the Kubernetes cluster.
- username String
- A username used to authenticate to the Kubernetes cluster.
KubernetesClusterKubeletIdentity, KubernetesClusterKubeletIdentityArgs        
- ClientId string
- The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- ObjectId string
- The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- ClientId string
- The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- ObjectId string
- The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- clientId String
- The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- objectId String
- The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- clientId string
- The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- objectId string
- The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- userAssigned stringIdentity Id 
- The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- client_id str
- The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- object_id str
- The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- user_assigned_ stridentity_ id 
- The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- clientId String
- The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- objectId String
- The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
KubernetesClusterLinuxProfile, KubernetesClusterLinuxProfileArgs        
- AdminUsername string
- The Admin Username for the Cluster. Changing this forces a new resource to be created.
- SshKey KubernetesCluster Linux Profile Ssh Key 
- An ssh_keyblock as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
- AdminUsername string
- The Admin Username for the Cluster. Changing this forces a new resource to be created.
- SshKey KubernetesCluster Linux Profile Ssh Key 
- An ssh_keyblock as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
- adminUsername String
- The Admin Username for the Cluster. Changing this forces a new resource to be created.
- sshKey KubernetesCluster Linux Profile Ssh Key 
- An ssh_keyblock as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
- adminUsername string
- The Admin Username for the Cluster. Changing this forces a new resource to be created.
- sshKey KubernetesCluster Linux Profile Ssh Key 
- An ssh_keyblock as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
- admin_username str
- The Admin Username for the Cluster. Changing this forces a new resource to be created.
- ssh_key KubernetesCluster Linux Profile Ssh Key 
- An ssh_keyblock as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
- adminUsername String
- The Admin Username for the Cluster. Changing this forces a new resource to be created.
- sshKey Property Map
- An ssh_keyblock as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
KubernetesClusterLinuxProfileSshKey, KubernetesClusterLinuxProfileSshKeyArgs            
- KeyData string
- The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
- KeyData string
- The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
- keyData String
- The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
- keyData string
- The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
- key_data str
- The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
- keyData String
- The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
KubernetesClusterMaintenanceWindow, KubernetesClusterMaintenanceWindowArgs        
- Alloweds
List<KubernetesCluster Maintenance Window Allowed> 
- One or more allowedblocks as defined below.
- NotAlloweds List<KubernetesCluster Maintenance Window Not Allowed> 
- One or more not_allowedblock as defined below.
- Alloweds
[]KubernetesCluster Maintenance Window Allowed 
- One or more allowedblocks as defined below.
- NotAlloweds []KubernetesCluster Maintenance Window Not Allowed 
- One or more not_allowedblock as defined below.
- alloweds
List<KubernetesCluster Maintenance Window Allowed> 
- One or more allowedblocks as defined below.
- notAlloweds List<KubernetesCluster Maintenance Window Not Allowed> 
- One or more not_allowedblock as defined below.
- alloweds
KubernetesCluster Maintenance Window Allowed[] 
- One or more allowedblocks as defined below.
- notAlloweds KubernetesCluster Maintenance Window Not Allowed[] 
- One or more not_allowedblock as defined below.
- alloweds
Sequence[KubernetesCluster Maintenance Window Allowed] 
- One or more allowedblocks as defined below.
- not_alloweds Sequence[KubernetesCluster Maintenance Window Not Allowed] 
- One or more not_allowedblock as defined below.
- alloweds List<Property Map>
- One or more allowedblocks as defined below.
- notAlloweds List<Property Map>
- One or more not_allowedblock as defined below.
KubernetesClusterMaintenanceWindowAllowed, KubernetesClusterMaintenanceWindowAllowedArgs          
- Day string
- A day in a week. Possible values are Sunday,Monday,Tuesday,Wednesday,Thursday,FridayandSaturday.
- Hours List<int>
- An array of hour slots in a day. For example, specifying 1will allow maintenance from 1:00am to 2:00am. Specifying1,2will allow maintenance from 1:00am to 3:00m. Possible values are between0and23.
- Day string
- A day in a week. Possible values are Sunday,Monday,Tuesday,Wednesday,Thursday,FridayandSaturday.
- Hours []int
- An array of hour slots in a day. For example, specifying 1will allow maintenance from 1:00am to 2:00am. Specifying1,2will allow maintenance from 1:00am to 3:00m. Possible values are between0and23.
- day String
- A day in a week. Possible values are Sunday,Monday,Tuesday,Wednesday,Thursday,FridayandSaturday.
- hours List<Integer>
- An array of hour slots in a day. For example, specifying 1will allow maintenance from 1:00am to 2:00am. Specifying1,2will allow maintenance from 1:00am to 3:00m. Possible values are between0and23.
- day string
- A day in a week. Possible values are Sunday,Monday,Tuesday,Wednesday,Thursday,FridayandSaturday.
- hours number[]
- An array of hour slots in a day. For example, specifying 1will allow maintenance from 1:00am to 2:00am. Specifying1,2will allow maintenance from 1:00am to 3:00m. Possible values are between0and23.
- day str
- A day in a week. Possible values are Sunday,Monday,Tuesday,Wednesday,Thursday,FridayandSaturday.
- hours Sequence[int]
- An array of hour slots in a day. For example, specifying 1will allow maintenance from 1:00am to 2:00am. Specifying1,2will allow maintenance from 1:00am to 3:00m. Possible values are between0and23.
- day String
- A day in a week. Possible values are Sunday,Monday,Tuesday,Wednesday,Thursday,FridayandSaturday.
- hours List<Number>
- An array of hour slots in a day. For example, specifying 1will allow maintenance from 1:00am to 2:00am. Specifying1,2will allow maintenance from 1:00am to 3:00m. Possible values are between0and23.
KubernetesClusterMaintenanceWindowAutoUpgrade, KubernetesClusterMaintenanceWindowAutoUpgradeArgs            
- Duration int
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- Frequency string
- Frequency of maintenance. Possible options are Weekly,AbsoluteMonthlyandRelativeMonthly.
- Interval int
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- DayOf intMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- DayOf stringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- NotAlloweds List<KubernetesCluster Maintenance Window Auto Upgrade Not Allowed> 
- One or more not_allowedblock as defined below.
- StartDate string
- The date on which the maintenance window begins to take effect.
- StartTime string
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- UtcOffset string
- Used to determine the timezone for cluster maintenance.
- WeekIndex string
- Specifies on which instance of the allowed days specified in day_of_weekthe maintenance occurs. Options areFirst,Second,Third,Fourth, andLast. Required in combination with relative monthly frequency.
- Duration int
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- Frequency string
- Frequency of maintenance. Possible options are Weekly,AbsoluteMonthlyandRelativeMonthly.
- Interval int
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- DayOf intMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- DayOf stringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- NotAlloweds []KubernetesCluster Maintenance Window Auto Upgrade Not Allowed 
- One or more not_allowedblock as defined below.
- StartDate string
- The date on which the maintenance window begins to take effect.
- StartTime string
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- UtcOffset string
- Used to determine the timezone for cluster maintenance.
- WeekIndex string
- Specifies on which instance of the allowed days specified in day_of_weekthe maintenance occurs. Options areFirst,Second,Third,Fourth, andLast. Required in combination with relative monthly frequency.
- duration Integer
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- frequency String
- Frequency of maintenance. Possible options are Weekly,AbsoluteMonthlyandRelativeMonthly.
- interval Integer
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- dayOf IntegerMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- dayOf StringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- notAlloweds List<KubernetesCluster Maintenance Window Auto Upgrade Not Allowed> 
- One or more not_allowedblock as defined below.
- startDate String
- The date on which the maintenance window begins to take effect.
- startTime String
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- utcOffset String
- Used to determine the timezone for cluster maintenance.
- weekIndex String
- Specifies on which instance of the allowed days specified in day_of_weekthe maintenance occurs. Options areFirst,Second,Third,Fourth, andLast. Required in combination with relative monthly frequency.
- duration number
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- frequency string
- Frequency of maintenance. Possible options are Weekly,AbsoluteMonthlyandRelativeMonthly.
- interval number
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- dayOf numberMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- dayOf stringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- notAlloweds KubernetesCluster Maintenance Window Auto Upgrade Not Allowed[] 
- One or more not_allowedblock as defined below.
- startDate string
- The date on which the maintenance window begins to take effect.
- startTime string
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- utcOffset string
- Used to determine the timezone for cluster maintenance.
- weekIndex string
- Specifies on which instance of the allowed days specified in day_of_weekthe maintenance occurs. Options areFirst,Second,Third,Fourth, andLast. Required in combination with relative monthly frequency.
- duration int
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- frequency str
- Frequency of maintenance. Possible options are Weekly,AbsoluteMonthlyandRelativeMonthly.
- interval int
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- day_of_ intmonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- day_of_ strweek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- not_alloweds Sequence[KubernetesCluster Maintenance Window Auto Upgrade Not Allowed] 
- One or more not_allowedblock as defined below.
- start_date str
- The date on which the maintenance window begins to take effect.
- start_time str
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- utc_offset str
- Used to determine the timezone for cluster maintenance.
- week_index str
- Specifies on which instance of the allowed days specified in day_of_weekthe maintenance occurs. Options areFirst,Second,Third,Fourth, andLast. Required in combination with relative monthly frequency.
- duration Number
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- frequency String
- Frequency of maintenance. Possible options are Weekly,AbsoluteMonthlyandRelativeMonthly.
- interval Number
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- dayOf NumberMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- dayOf StringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- notAlloweds List<Property Map>
- One or more not_allowedblock as defined below.
- startDate String
- The date on which the maintenance window begins to take effect.
- startTime String
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- utcOffset String
- Used to determine the timezone for cluster maintenance.
- weekIndex String
- Specifies on which instance of the allowed days specified in day_of_weekthe maintenance occurs. Options areFirst,Second,Third,Fourth, andLast. Required in combination with relative monthly frequency.
KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowed, KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowedArgs                
KubernetesClusterMaintenanceWindowNodeOs, KubernetesClusterMaintenanceWindowNodeOsArgs            
- Duration int
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- Frequency string
- Frequency of maintenance. Possible options are Daily,Weekly,AbsoluteMonthlyandRelativeMonthly.
- Interval int
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- DayOf intMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- DayOf stringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- NotAlloweds List<KubernetesCluster Maintenance Window Node Os Not Allowed> 
- One or more not_allowedblock as defined below.
- StartDate string
- The date on which the maintenance window begins to take effect.
- StartTime string
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- UtcOffset string
- Used to determine the timezone for cluster maintenance.
- WeekIndex string
- The week in the month used for the maintenance run. Options are First,Second,Third,Fourth, andLast.
- Duration int
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- Frequency string
- Frequency of maintenance. Possible options are Daily,Weekly,AbsoluteMonthlyandRelativeMonthly.
- Interval int
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- DayOf intMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- DayOf stringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- NotAlloweds []KubernetesCluster Maintenance Window Node Os Not Allowed 
- One or more not_allowedblock as defined below.
- StartDate string
- The date on which the maintenance window begins to take effect.
- StartTime string
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- UtcOffset string
- Used to determine the timezone for cluster maintenance.
- WeekIndex string
- The week in the month used for the maintenance run. Options are First,Second,Third,Fourth, andLast.
- duration Integer
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- frequency String
- Frequency of maintenance. Possible options are Daily,Weekly,AbsoluteMonthlyandRelativeMonthly.
- interval Integer
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- dayOf IntegerMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- dayOf StringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- notAlloweds List<KubernetesCluster Maintenance Window Node Os Not Allowed> 
- One or more not_allowedblock as defined below.
- startDate String
- The date on which the maintenance window begins to take effect.
- startTime String
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- utcOffset String
- Used to determine the timezone for cluster maintenance.
- weekIndex String
- The week in the month used for the maintenance run. Options are First,Second,Third,Fourth, andLast.
- duration number
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- frequency string
- Frequency of maintenance. Possible options are Daily,Weekly,AbsoluteMonthlyandRelativeMonthly.
- interval number
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- dayOf numberMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- dayOf stringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- notAlloweds KubernetesCluster Maintenance Window Node Os Not Allowed[] 
- One or more not_allowedblock as defined below.
- startDate string
- The date on which the maintenance window begins to take effect.
- startTime string
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- utcOffset string
- Used to determine the timezone for cluster maintenance.
- weekIndex string
- The week in the month used for the maintenance run. Options are First,Second,Third,Fourth, andLast.
- duration int
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- frequency str
- Frequency of maintenance. Possible options are Daily,Weekly,AbsoluteMonthlyandRelativeMonthly.
- interval int
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- day_of_ intmonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- day_of_ strweek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- not_alloweds Sequence[KubernetesCluster Maintenance Window Node Os Not Allowed] 
- One or more not_allowedblock as defined below.
- start_date str
- The date on which the maintenance window begins to take effect.
- start_time str
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- utc_offset str
- Used to determine the timezone for cluster maintenance.
- week_index str
- The week in the month used for the maintenance run. Options are First,Second,Third,Fourth, andLast.
- duration Number
- The duration of the window for maintenance to run in hours. Possible options are between 4to24.
- frequency String
- Frequency of maintenance. Possible options are Daily,Weekly,AbsoluteMonthlyandRelativeMonthly.
- interval Number
- The interval for maintenance runs. Depending on the frequency this interval is week or month based.
- dayOf NumberMonth 
- The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
- dayOf StringWeek 
- The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday,Monday,Saturday,Sunday,Thursday,TuesdayandWednesday.
- notAlloweds List<Property Map>
- One or more not_allowedblock as defined below.
- startDate String
- The date on which the maintenance window begins to take effect.
- startTime String
- The time for maintenance to begin, based on the timezone determined by utc_offset. Format isHH:mm.
- utcOffset String
- Used to determine the timezone for cluster maintenance.
- weekIndex String
- The week in the month used for the maintenance run. Options are First,Second,Third,Fourth, andLast.
KubernetesClusterMaintenanceWindowNodeOsNotAllowed, KubernetesClusterMaintenanceWindowNodeOsNotAllowedArgs                
KubernetesClusterMaintenanceWindowNotAllowed, KubernetesClusterMaintenanceWindowNotAllowedArgs            
KubernetesClusterMicrosoftDefender, KubernetesClusterMicrosoftDefenderArgs        
- LogAnalytics stringWorkspace Id 
- Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
- LogAnalytics stringWorkspace Id 
- Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
- logAnalytics StringWorkspace Id 
- Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
- logAnalytics stringWorkspace Id 
- Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
- log_analytics_ strworkspace_ id 
- Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
- logAnalytics StringWorkspace Id 
- Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
KubernetesClusterMonitorMetrics, KubernetesClusterMonitorMetricsArgs        
- AnnotationsAllowed string
- Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
- LabelsAllowed string
- Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. - Note: Both properties - annotations_allowedand- labels_allowedare required if you are enabling Managed Prometheus with an existing Azure Monitor Workspace.
- AnnotationsAllowed string
- Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
- LabelsAllowed string
- Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. - Note: Both properties - annotations_allowedand- labels_allowedare required if you are enabling Managed Prometheus with an existing Azure Monitor Workspace.
- annotationsAllowed String
- Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
- labelsAllowed String
- Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. - Note: Both properties - annotations_allowedand- labels_allowedare required if you are enabling Managed Prometheus with an existing Azure Monitor Workspace.
- annotationsAllowed string
- Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
- labelsAllowed string
- Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. - Note: Both properties - annotations_allowedand- labels_allowedare required if you are enabling Managed Prometheus with an existing Azure Monitor Workspace.
- annotations_allowed str
- Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
- labels_allowed str
- Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. - Note: Both properties - annotations_allowedand- labels_allowedare required if you are enabling Managed Prometheus with an existing Azure Monitor Workspace.
- annotationsAllowed String
- Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
- labelsAllowed String
- Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. - Note: Both properties - annotations_allowedand- labels_allowedare required if you are enabling Managed Prometheus with an existing Azure Monitor Workspace.
KubernetesClusterNetworkProfile, KubernetesClusterNetworkProfileArgs        
- NetworkPlugin string
- Network plugin to use for networking. Currently supported values are - azure,- kubenetand- none. Changing this forces a new resource to be created.- Note: When - network_pluginis set to- azure- the- pod_cidrfield must not be set, unless specifying- network_plugin_modeto- overlay.
- DnsService stringIp 
- IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
- IpVersions List<string>
- Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are - IPv4and/or- IPv6.- IPv4must always be specified. Changing this forces a new resource to be created.- ->Note: To configure dual-stack networking - ip_versionsshould be set to- ["IPv4", "IPv6"].- ->Note: Dual-stack networking requires that the Preview Feature - Microsoft.ContainerService/AKS-EnableDualStackis enabled and the Resource Provider is re-registered, see the documentation for more information.
- LoadBalancer KubernetesProfile Cluster Network Profile Load Balancer Profile 
- A load_balancer_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandard. Changing this forces a new resource to be created.
- LoadBalancer stringSku 
- Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basicandstandard. Defaults tostandard. Changing this forces a new resource to be created.
- NatGateway KubernetesProfile Cluster Network Profile Nat Gateway Profile 
- A nat_gateway_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandardandoutbound_typeis set tomanagedNATGatewayoruserAssignedNATGateway. Changing this forces a new resource to be created.
- NetworkData stringPlane 
- Specifies the data plane used for building the Kubernetes network. Possible values are - azureand- cilium. Defaults to- azure. Disabling this forces a new resource to be created.- Note: When - network_data_planeis set to- cilium, the- network_pluginfield can only be set to- azure.- Note: When - network_data_planeis set to- cilium, one of either- network_plugin_mode = "overlay"or- pod_subnet_idmust be specified.
- NetworkMode string
- Network mode to be used with Azure CNI. Possible values are - bridgeand- transparent. Changing this forces a new resource to be created.- Note: - network_modecan only be set to- bridgefor existing Kubernetes Clusters and cannot be used to provision new Clusters - this will be removed by Azure in the future.- Note: This property can only be set when - network_pluginis set to- azure.
- NetworkPlugin stringMode 
- Specifies the network plugin mode used for building the Kubernetes network. Possible value is - overlay.- Note: When - network_plugin_modeis set to- overlay, the- network_pluginfield can only be set to- azure. When upgrading from Azure CNI without overlay,- pod_subnet_idmust be specified.
- NetworkPolicy string
- Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are - calico,- azureand- cilium.- Note: When - network_policyis set to- azure, the- network_pluginfield can only be set to- azure.- Note: When - network_policyis set to- cilium, the- network_data_planefield must be set to- cilium.
- OutboundType string
- The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer,userDefinedRouting,managedNATGatewayanduserAssignedNATGateway. Defaults toloadBalancer. More information on supported migration paths foroutbound_typecan be found in this documentation.
- PodCidr string
- The CIDR to use for pod IP addresses. This field can only be set when network_pluginis set tokubenetornetwork_plugin_modeis set tooverlay. Changing this forces a new resource to be created.
- PodCidrs List<string>
- A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
- ServiceCidr string
- The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
- ServiceCidrs List<string>
- A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. - Note: This range should not be used by any network element on or connected to this VNet. Service address CIDR must be smaller than /12. - docker_bridge_cidr,- dns_service_ipand- service_cidrshould all be empty or all should be set.
- NetworkPlugin string
- Network plugin to use for networking. Currently supported values are - azure,- kubenetand- none. Changing this forces a new resource to be created.- Note: When - network_pluginis set to- azure- the- pod_cidrfield must not be set, unless specifying- network_plugin_modeto- overlay.
- DnsService stringIp 
- IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
- IpVersions []string
- Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are - IPv4and/or- IPv6.- IPv4must always be specified. Changing this forces a new resource to be created.- ->Note: To configure dual-stack networking - ip_versionsshould be set to- ["IPv4", "IPv6"].- ->Note: Dual-stack networking requires that the Preview Feature - Microsoft.ContainerService/AKS-EnableDualStackis enabled and the Resource Provider is re-registered, see the documentation for more information.
- LoadBalancer KubernetesProfile Cluster Network Profile Load Balancer Profile 
- A load_balancer_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandard. Changing this forces a new resource to be created.
- LoadBalancer stringSku 
- Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basicandstandard. Defaults tostandard. Changing this forces a new resource to be created.
- NatGateway KubernetesProfile Cluster Network Profile Nat Gateway Profile 
- A nat_gateway_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandardandoutbound_typeis set tomanagedNATGatewayoruserAssignedNATGateway. Changing this forces a new resource to be created.
- NetworkData stringPlane 
- Specifies the data plane used for building the Kubernetes network. Possible values are - azureand- cilium. Defaults to- azure. Disabling this forces a new resource to be created.- Note: When - network_data_planeis set to- cilium, the- network_pluginfield can only be set to- azure.- Note: When - network_data_planeis set to- cilium, one of either- network_plugin_mode = "overlay"or- pod_subnet_idmust be specified.
- NetworkMode string
- Network mode to be used with Azure CNI. Possible values are - bridgeand- transparent. Changing this forces a new resource to be created.- Note: - network_modecan only be set to- bridgefor existing Kubernetes Clusters and cannot be used to provision new Clusters - this will be removed by Azure in the future.- Note: This property can only be set when - network_pluginis set to- azure.
- NetworkPlugin stringMode 
- Specifies the network plugin mode used for building the Kubernetes network. Possible value is - overlay.- Note: When - network_plugin_modeis set to- overlay, the- network_pluginfield can only be set to- azure. When upgrading from Azure CNI without overlay,- pod_subnet_idmust be specified.
- NetworkPolicy string
- Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are - calico,- azureand- cilium.- Note: When - network_policyis set to- azure, the- network_pluginfield can only be set to- azure.- Note: When - network_policyis set to- cilium, the- network_data_planefield must be set to- cilium.
- OutboundType string
- The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer,userDefinedRouting,managedNATGatewayanduserAssignedNATGateway. Defaults toloadBalancer. More information on supported migration paths foroutbound_typecan be found in this documentation.
- PodCidr string
- The CIDR to use for pod IP addresses. This field can only be set when network_pluginis set tokubenetornetwork_plugin_modeis set tooverlay. Changing this forces a new resource to be created.
- PodCidrs []string
- A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
- ServiceCidr string
- The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
- ServiceCidrs []string
- A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. - Note: This range should not be used by any network element on or connected to this VNet. Service address CIDR must be smaller than /12. - docker_bridge_cidr,- dns_service_ipand- service_cidrshould all be empty or all should be set.
- networkPlugin String
- Network plugin to use for networking. Currently supported values are - azure,- kubenetand- none. Changing this forces a new resource to be created.- Note: When - network_pluginis set to- azure- the- pod_cidrfield must not be set, unless specifying- network_plugin_modeto- overlay.
- dnsService StringIp 
- IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
- ipVersions List<String>
- Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are - IPv4and/or- IPv6.- IPv4must always be specified. Changing this forces a new resource to be created.- ->Note: To configure dual-stack networking - ip_versionsshould be set to- ["IPv4", "IPv6"].- ->Note: Dual-stack networking requires that the Preview Feature - Microsoft.ContainerService/AKS-EnableDualStackis enabled and the Resource Provider is re-registered, see the documentation for more information.
- loadBalancer KubernetesProfile Cluster Network Profile Load Balancer Profile 
- A load_balancer_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandard. Changing this forces a new resource to be created.
- loadBalancer StringSku 
- Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basicandstandard. Defaults tostandard. Changing this forces a new resource to be created.
- natGateway KubernetesProfile Cluster Network Profile Nat Gateway Profile 
- A nat_gateway_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandardandoutbound_typeis set tomanagedNATGatewayoruserAssignedNATGateway. Changing this forces a new resource to be created.
- networkData StringPlane 
- Specifies the data plane used for building the Kubernetes network. Possible values are - azureand- cilium. Defaults to- azure. Disabling this forces a new resource to be created.- Note: When - network_data_planeis set to- cilium, the- network_pluginfield can only be set to- azure.- Note: When - network_data_planeis set to- cilium, one of either- network_plugin_mode = "overlay"or- pod_subnet_idmust be specified.
- networkMode String
- Network mode to be used with Azure CNI. Possible values are - bridgeand- transparent. Changing this forces a new resource to be created.- Note: - network_modecan only be set to- bridgefor existing Kubernetes Clusters and cannot be used to provision new Clusters - this will be removed by Azure in the future.- Note: This property can only be set when - network_pluginis set to- azure.
- networkPlugin StringMode 
- Specifies the network plugin mode used for building the Kubernetes network. Possible value is - overlay.- Note: When - network_plugin_modeis set to- overlay, the- network_pluginfield can only be set to- azure. When upgrading from Azure CNI without overlay,- pod_subnet_idmust be specified.
- networkPolicy String
- Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are - calico,- azureand- cilium.- Note: When - network_policyis set to- azure, the- network_pluginfield can only be set to- azure.- Note: When - network_policyis set to- cilium, the- network_data_planefield must be set to- cilium.
- outboundType String
- The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer,userDefinedRouting,managedNATGatewayanduserAssignedNATGateway. Defaults toloadBalancer. More information on supported migration paths foroutbound_typecan be found in this documentation.
- podCidr String
- The CIDR to use for pod IP addresses. This field can only be set when network_pluginis set tokubenetornetwork_plugin_modeis set tooverlay. Changing this forces a new resource to be created.
- podCidrs List<String>
- A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
- serviceCidr String
- The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
- serviceCidrs List<String>
- A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. - Note: This range should not be used by any network element on or connected to this VNet. Service address CIDR must be smaller than /12. - docker_bridge_cidr,- dns_service_ipand- service_cidrshould all be empty or all should be set.
- networkPlugin string
- Network plugin to use for networking. Currently supported values are - azure,- kubenetand- none. Changing this forces a new resource to be created.- Note: When - network_pluginis set to- azure- the- pod_cidrfield must not be set, unless specifying- network_plugin_modeto- overlay.
- dnsService stringIp 
- IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
- ipVersions string[]
- Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are - IPv4and/or- IPv6.- IPv4must always be specified. Changing this forces a new resource to be created.- ->Note: To configure dual-stack networking - ip_versionsshould be set to- ["IPv4", "IPv6"].- ->Note: Dual-stack networking requires that the Preview Feature - Microsoft.ContainerService/AKS-EnableDualStackis enabled and the Resource Provider is re-registered, see the documentation for more information.
- loadBalancer KubernetesProfile Cluster Network Profile Load Balancer Profile 
- A load_balancer_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandard. Changing this forces a new resource to be created.
- loadBalancer stringSku 
- Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basicandstandard. Defaults tostandard. Changing this forces a new resource to be created.
- natGateway KubernetesProfile Cluster Network Profile Nat Gateway Profile 
- A nat_gateway_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandardandoutbound_typeis set tomanagedNATGatewayoruserAssignedNATGateway. Changing this forces a new resource to be created.
- networkData stringPlane 
- Specifies the data plane used for building the Kubernetes network. Possible values are - azureand- cilium. Defaults to- azure. Disabling this forces a new resource to be created.- Note: When - network_data_planeis set to- cilium, the- network_pluginfield can only be set to- azure.- Note: When - network_data_planeis set to- cilium, one of either- network_plugin_mode = "overlay"or- pod_subnet_idmust be specified.
- networkMode string
- Network mode to be used with Azure CNI. Possible values are - bridgeand- transparent. Changing this forces a new resource to be created.- Note: - network_modecan only be set to- bridgefor existing Kubernetes Clusters and cannot be used to provision new Clusters - this will be removed by Azure in the future.- Note: This property can only be set when - network_pluginis set to- azure.
- networkPlugin stringMode 
- Specifies the network plugin mode used for building the Kubernetes network. Possible value is - overlay.- Note: When - network_plugin_modeis set to- overlay, the- network_pluginfield can only be set to- azure. When upgrading from Azure CNI without overlay,- pod_subnet_idmust be specified.
- networkPolicy string
- Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are - calico,- azureand- cilium.- Note: When - network_policyis set to- azure, the- network_pluginfield can only be set to- azure.- Note: When - network_policyis set to- cilium, the- network_data_planefield must be set to- cilium.
- outboundType string
- The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer,userDefinedRouting,managedNATGatewayanduserAssignedNATGateway. Defaults toloadBalancer. More information on supported migration paths foroutbound_typecan be found in this documentation.
- podCidr string
- The CIDR to use for pod IP addresses. This field can only be set when network_pluginis set tokubenetornetwork_plugin_modeis set tooverlay. Changing this forces a new resource to be created.
- podCidrs string[]
- A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
- serviceCidr string
- The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
- serviceCidrs string[]
- A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. - Note: This range should not be used by any network element on or connected to this VNet. Service address CIDR must be smaller than /12. - docker_bridge_cidr,- dns_service_ipand- service_cidrshould all be empty or all should be set.
- network_plugin str
- Network plugin to use for networking. Currently supported values are - azure,- kubenetand- none. Changing this forces a new resource to be created.- Note: When - network_pluginis set to- azure- the- pod_cidrfield must not be set, unless specifying- network_plugin_modeto- overlay.
- dns_service_ strip 
- IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
- ip_versions Sequence[str]
- Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are - IPv4and/or- IPv6.- IPv4must always be specified. Changing this forces a new resource to be created.- ->Note: To configure dual-stack networking - ip_versionsshould be set to- ["IPv4", "IPv6"].- ->Note: Dual-stack networking requires that the Preview Feature - Microsoft.ContainerService/AKS-EnableDualStackis enabled and the Resource Provider is re-registered, see the documentation for more information.
- load_balancer_ Kubernetesprofile Cluster Network Profile Load Balancer Profile 
- A load_balancer_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandard. Changing this forces a new resource to be created.
- load_balancer_ strsku 
- Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basicandstandard. Defaults tostandard. Changing this forces a new resource to be created.
- nat_gateway_ Kubernetesprofile Cluster Network Profile Nat Gateway Profile 
- A nat_gateway_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandardandoutbound_typeis set tomanagedNATGatewayoruserAssignedNATGateway. Changing this forces a new resource to be created.
- network_data_ strplane 
- Specifies the data plane used for building the Kubernetes network. Possible values are - azureand- cilium. Defaults to- azure. Disabling this forces a new resource to be created.- Note: When - network_data_planeis set to- cilium, the- network_pluginfield can only be set to- azure.- Note: When - network_data_planeis set to- cilium, one of either- network_plugin_mode = "overlay"or- pod_subnet_idmust be specified.
- network_mode str
- Network mode to be used with Azure CNI. Possible values are - bridgeand- transparent. Changing this forces a new resource to be created.- Note: - network_modecan only be set to- bridgefor existing Kubernetes Clusters and cannot be used to provision new Clusters - this will be removed by Azure in the future.- Note: This property can only be set when - network_pluginis set to- azure.
- network_plugin_ strmode 
- Specifies the network plugin mode used for building the Kubernetes network. Possible value is - overlay.- Note: When - network_plugin_modeis set to- overlay, the- network_pluginfield can only be set to- azure. When upgrading from Azure CNI without overlay,- pod_subnet_idmust be specified.
- network_policy str
- Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are - calico,- azureand- cilium.- Note: When - network_policyis set to- azure, the- network_pluginfield can only be set to- azure.- Note: When - network_policyis set to- cilium, the- network_data_planefield must be set to- cilium.
- outbound_type str
- The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer,userDefinedRouting,managedNATGatewayanduserAssignedNATGateway. Defaults toloadBalancer. More information on supported migration paths foroutbound_typecan be found in this documentation.
- pod_cidr str
- The CIDR to use for pod IP addresses. This field can only be set when network_pluginis set tokubenetornetwork_plugin_modeis set tooverlay. Changing this forces a new resource to be created.
- pod_cidrs Sequence[str]
- A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
- service_cidr str
- The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
- service_cidrs Sequence[str]
- A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. - Note: This range should not be used by any network element on or connected to this VNet. Service address CIDR must be smaller than /12. - docker_bridge_cidr,- dns_service_ipand- service_cidrshould all be empty or all should be set.
- networkPlugin String
- Network plugin to use for networking. Currently supported values are - azure,- kubenetand- none. Changing this forces a new resource to be created.- Note: When - network_pluginis set to- azure- the- pod_cidrfield must not be set, unless specifying- network_plugin_modeto- overlay.
- dnsService StringIp 
- IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
- ipVersions List<String>
- Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are - IPv4and/or- IPv6.- IPv4must always be specified. Changing this forces a new resource to be created.- ->Note: To configure dual-stack networking - ip_versionsshould be set to- ["IPv4", "IPv6"].- ->Note: Dual-stack networking requires that the Preview Feature - Microsoft.ContainerService/AKS-EnableDualStackis enabled and the Resource Provider is re-registered, see the documentation for more information.
- loadBalancer Property MapProfile 
- A load_balancer_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandard. Changing this forces a new resource to be created.
- loadBalancer StringSku 
- Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basicandstandard. Defaults tostandard. Changing this forces a new resource to be created.
- natGateway Property MapProfile 
- A nat_gateway_profileblock as defined below. This can only be specified whenload_balancer_skuis set tostandardandoutbound_typeis set tomanagedNATGatewayoruserAssignedNATGateway. Changing this forces a new resource to be created.
- networkData StringPlane 
- Specifies the data plane used for building the Kubernetes network. Possible values are - azureand- cilium. Defaults to- azure. Disabling this forces a new resource to be created.- Note: When - network_data_planeis set to- cilium, the- network_pluginfield can only be set to- azure.- Note: When - network_data_planeis set to- cilium, one of either- network_plugin_mode = "overlay"or- pod_subnet_idmust be specified.
- networkMode String
- Network mode to be used with Azure CNI. Possible values are - bridgeand- transparent. Changing this forces a new resource to be created.- Note: - network_modecan only be set to- bridgefor existing Kubernetes Clusters and cannot be used to provision new Clusters - this will be removed by Azure in the future.- Note: This property can only be set when - network_pluginis set to- azure.
- networkPlugin StringMode 
- Specifies the network plugin mode used for building the Kubernetes network. Possible value is - overlay.- Note: When - network_plugin_modeis set to- overlay, the- network_pluginfield can only be set to- azure. When upgrading from Azure CNI without overlay,- pod_subnet_idmust be specified.
- networkPolicy String
- Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are - calico,- azureand- cilium.- Note: When - network_policyis set to- azure, the- network_pluginfield can only be set to- azure.- Note: When - network_policyis set to- cilium, the- network_data_planefield must be set to- cilium.
- outboundType String
- The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer,userDefinedRouting,managedNATGatewayanduserAssignedNATGateway. Defaults toloadBalancer. More information on supported migration paths foroutbound_typecan be found in this documentation.
- podCidr String
- The CIDR to use for pod IP addresses. This field can only be set when network_pluginis set tokubenetornetwork_plugin_modeis set tooverlay. Changing this forces a new resource to be created.
- podCidrs List<String>
- A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
- serviceCidr String
- The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
- serviceCidrs List<String>
- A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. - Note: This range should not be used by any network element on or connected to this VNet. Service address CIDR must be smaller than /12. - docker_bridge_cidr,- dns_service_ipand- service_cidrshould all be empty or all should be set.
KubernetesClusterNetworkProfileLoadBalancerProfile, KubernetesClusterNetworkProfileLoadBalancerProfileArgs              
- BackendPool stringType 
- The type of the managed inbound Load Balancer Backend Pool. Possible values are NodeIPandNodeIPConfiguration. Defaults toNodeIPConfiguration. See the documentation for more information.
- EffectiveOutbound List<string>Ips 
- The outcome (resource IDs) of the specified arguments.
- IdleTimeout intIn Minutes 
- Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4and100inclusive. Defaults to30.
- ManagedOutbound intIp Count 
- Count of desired managed outbound IPs for the cluster load balancer. Must be between 1and100inclusive.
- ManagedOutbound intIpv6Count 
- The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - Note: - managed_outbound_ipv6_countrequires dual-stack networking. To enable dual-stack networking the Preview Feature- Microsoft.ContainerService/AKS-EnableDualStackneeds to be enabled and the Resource Provider re-registered, see the documentation for more information.
- OutboundIp List<string>Address Ids 
- The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer. - Note: Set - outbound_ip_address_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_address_idswill revert the load balancing for the cluster back to a managed one.
- OutboundIp List<string>Prefix Ids 
- The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer. - Note: Set - outbound_ip_prefix_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_prefix_idswill revert the load balancing for the cluster back to a managed one.
- OutboundPorts intAllocated 
- Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0and64000inclusive. Defaults to0.
- BackendPool stringType 
- The type of the managed inbound Load Balancer Backend Pool. Possible values are NodeIPandNodeIPConfiguration. Defaults toNodeIPConfiguration. See the documentation for more information.
- EffectiveOutbound []stringIps 
- The outcome (resource IDs) of the specified arguments.
- IdleTimeout intIn Minutes 
- Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4and100inclusive. Defaults to30.
- ManagedOutbound intIp Count 
- Count of desired managed outbound IPs for the cluster load balancer. Must be between 1and100inclusive.
- ManagedOutbound intIpv6Count 
- The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - Note: - managed_outbound_ipv6_countrequires dual-stack networking. To enable dual-stack networking the Preview Feature- Microsoft.ContainerService/AKS-EnableDualStackneeds to be enabled and the Resource Provider re-registered, see the documentation for more information.
- OutboundIp []stringAddress Ids 
- The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer. - Note: Set - outbound_ip_address_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_address_idswill revert the load balancing for the cluster back to a managed one.
- OutboundIp []stringPrefix Ids 
- The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer. - Note: Set - outbound_ip_prefix_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_prefix_idswill revert the load balancing for the cluster back to a managed one.
- OutboundPorts intAllocated 
- Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0and64000inclusive. Defaults to0.
- backendPool StringType 
- The type of the managed inbound Load Balancer Backend Pool. Possible values are NodeIPandNodeIPConfiguration. Defaults toNodeIPConfiguration. See the documentation for more information.
- effectiveOutbound List<String>Ips 
- The outcome (resource IDs) of the specified arguments.
- idleTimeout IntegerIn Minutes 
- Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4and100inclusive. Defaults to30.
- managedOutbound IntegerIp Count 
- Count of desired managed outbound IPs for the cluster load balancer. Must be between 1and100inclusive.
- managedOutbound IntegerIpv6Count 
- The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - Note: - managed_outbound_ipv6_countrequires dual-stack networking. To enable dual-stack networking the Preview Feature- Microsoft.ContainerService/AKS-EnableDualStackneeds to be enabled and the Resource Provider re-registered, see the documentation for more information.
- outboundIp List<String>Address Ids 
- The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer. - Note: Set - outbound_ip_address_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_address_idswill revert the load balancing for the cluster back to a managed one.
- outboundIp List<String>Prefix Ids 
- The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer. - Note: Set - outbound_ip_prefix_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_prefix_idswill revert the load balancing for the cluster back to a managed one.
- outboundPorts IntegerAllocated 
- Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0and64000inclusive. Defaults to0.
- backendPool stringType 
- The type of the managed inbound Load Balancer Backend Pool. Possible values are NodeIPandNodeIPConfiguration. Defaults toNodeIPConfiguration. See the documentation for more information.
- effectiveOutbound string[]Ips 
- The outcome (resource IDs) of the specified arguments.
- idleTimeout numberIn Minutes 
- Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4and100inclusive. Defaults to30.
- managedOutbound numberIp Count 
- Count of desired managed outbound IPs for the cluster load balancer. Must be between 1and100inclusive.
- managedOutbound numberIpv6Count 
- The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - Note: - managed_outbound_ipv6_countrequires dual-stack networking. To enable dual-stack networking the Preview Feature- Microsoft.ContainerService/AKS-EnableDualStackneeds to be enabled and the Resource Provider re-registered, see the documentation for more information.
- outboundIp string[]Address Ids 
- The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer. - Note: Set - outbound_ip_address_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_address_idswill revert the load balancing for the cluster back to a managed one.
- outboundIp string[]Prefix Ids 
- The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer. - Note: Set - outbound_ip_prefix_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_prefix_idswill revert the load balancing for the cluster back to a managed one.
- outboundPorts numberAllocated 
- Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0and64000inclusive. Defaults to0.
- backend_pool_ strtype 
- The type of the managed inbound Load Balancer Backend Pool. Possible values are NodeIPandNodeIPConfiguration. Defaults toNodeIPConfiguration. See the documentation for more information.
- effective_outbound_ Sequence[str]ips 
- The outcome (resource IDs) of the specified arguments.
- idle_timeout_ intin_ minutes 
- Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4and100inclusive. Defaults to30.
- managed_outbound_ intip_ count 
- Count of desired managed outbound IPs for the cluster load balancer. Must be between 1and100inclusive.
- managed_outbound_ intipv6_ count 
- The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - Note: - managed_outbound_ipv6_countrequires dual-stack networking. To enable dual-stack networking the Preview Feature- Microsoft.ContainerService/AKS-EnableDualStackneeds to be enabled and the Resource Provider re-registered, see the documentation for more information.
- outbound_ip_ Sequence[str]address_ ids 
- The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer. - Note: Set - outbound_ip_address_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_address_idswill revert the load balancing for the cluster back to a managed one.
- outbound_ip_ Sequence[str]prefix_ ids 
- The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer. - Note: Set - outbound_ip_prefix_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_prefix_idswill revert the load balancing for the cluster back to a managed one.
- outbound_ports_ intallocated 
- Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0and64000inclusive. Defaults to0.
- backendPool StringType 
- The type of the managed inbound Load Balancer Backend Pool. Possible values are NodeIPandNodeIPConfiguration. Defaults toNodeIPConfiguration. See the documentation for more information.
- effectiveOutbound List<String>Ips 
- The outcome (resource IDs) of the specified arguments.
- idleTimeout NumberIn Minutes 
- Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4and100inclusive. Defaults to30.
- managedOutbound NumberIp Count 
- Count of desired managed outbound IPs for the cluster load balancer. Must be between 1and100inclusive.
- managedOutbound NumberIpv6Count 
- The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - Note: - managed_outbound_ipv6_countrequires dual-stack networking. To enable dual-stack networking the Preview Feature- Microsoft.ContainerService/AKS-EnableDualStackneeds to be enabled and the Resource Provider re-registered, see the documentation for more information.
- outboundIp List<String>Address Ids 
- The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer. - Note: Set - outbound_ip_address_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_address_idswill revert the load balancing for the cluster back to a managed one.
- outboundIp List<String>Prefix Ids 
- The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer. - Note: Set - outbound_ip_prefix_idsto an empty slice- []in order to unlink it from the cluster. Unlinking a- outbound_ip_prefix_idswill revert the load balancing for the cluster back to a managed one.
- outboundPorts NumberAllocated 
- Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0and64000inclusive. Defaults to0.
KubernetesClusterNetworkProfileNatGatewayProfile, KubernetesClusterNetworkProfileNatGatewayProfileArgs              
- EffectiveOutbound List<string>Ips 
- The outcome (resource IDs) of the specified arguments.
- IdleTimeout intIn Minutes 
- Desired outbound flow idle timeout in minutes for the managed nat gateway. Must be between 4and120inclusive. Defaults to4.
- ManagedOutbound intIp Count 
- Count of desired managed outbound IPs for the managed nat gateway. Must be between 1and16inclusive.
- EffectiveOutbound []stringIps 
- The outcome (resource IDs) of the specified arguments.
- IdleTimeout intIn Minutes 
- Desired outbound flow idle timeout in minutes for the managed nat gateway. Must be between 4and120inclusive. Defaults to4.
- ManagedOutbound intIp Count 
- Count of desired managed outbound IPs for the managed nat gateway. Must be between 1and16inclusive.
- effectiveOutbound List<String>Ips 
- The outcome (resource IDs) of the specified arguments.
- idleTimeout IntegerIn Minutes 
- Desired outbound flow idle timeout in minutes for the managed nat gateway. Must be between 4and120inclusive. Defaults to4.
- managedOutbound IntegerIp Count 
- Count of desired managed outbound IPs for the managed nat gateway. Must be between 1and16inclusive.
- effectiveOutbound string[]Ips 
- The outcome (resource IDs) of the specified arguments.
- idleTimeout numberIn Minutes 
- Desired outbound flow idle timeout in minutes for the managed nat gateway. Must be between 4and120inclusive. Defaults to4.
- managedOutbound numberIp Count 
- Count of desired managed outbound IPs for the managed nat gateway. Must be between 1and16inclusive.
- effective_outbound_ Sequence[str]ips 
- The outcome (resource IDs) of the specified arguments.
- idle_timeout_ intin_ minutes 
- Desired outbound flow idle timeout in minutes for the managed nat gateway. Must be between 4and120inclusive. Defaults to4.
- managed_outbound_ intip_ count 
- Count of desired managed outbound IPs for the managed nat gateway. Must be between 1and16inclusive.
- effectiveOutbound List<String>Ips 
- The outcome (resource IDs) of the specified arguments.
- idleTimeout NumberIn Minutes 
- Desired outbound flow idle timeout in minutes for the managed nat gateway. Must be between 4and120inclusive. Defaults to4.
- managedOutbound NumberIp Count 
- Count of desired managed outbound IPs for the managed nat gateway. Must be between 1and16inclusive.
KubernetesClusterOmsAgent, KubernetesClusterOmsAgentArgs        
- LogAnalytics stringWorkspace Id 
- The ID of the Log Analytics Workspace which the OMS Agent should send data to.
- MsiAuth boolFor Monitoring Enabled 
- Is managed identity authentication for monitoring enabled?
- OmsAgent List<KubernetesIdentities Cluster Oms Agent Oms Agent Identity> 
- An oms_agent_identityblock is exported. The exported attributes are defined below.
- LogAnalytics stringWorkspace Id 
- The ID of the Log Analytics Workspace which the OMS Agent should send data to.
- MsiAuth boolFor Monitoring Enabled 
- Is managed identity authentication for monitoring enabled?
- OmsAgent []KubernetesIdentities Cluster Oms Agent Oms Agent Identity 
- An oms_agent_identityblock is exported. The exported attributes are defined below.
- logAnalytics StringWorkspace Id 
- The ID of the Log Analytics Workspace which the OMS Agent should send data to.
- msiAuth BooleanFor Monitoring Enabled 
- Is managed identity authentication for monitoring enabled?
- omsAgent List<KubernetesIdentities Cluster Oms Agent Oms Agent Identity> 
- An oms_agent_identityblock is exported. The exported attributes are defined below.
- logAnalytics stringWorkspace Id 
- The ID of the Log Analytics Workspace which the OMS Agent should send data to.
- msiAuth booleanFor Monitoring Enabled 
- Is managed identity authentication for monitoring enabled?
- omsAgent KubernetesIdentities Cluster Oms Agent Oms Agent Identity[] 
- An oms_agent_identityblock is exported. The exported attributes are defined below.
- log_analytics_ strworkspace_ id 
- The ID of the Log Analytics Workspace which the OMS Agent should send data to.
- msi_auth_ boolfor_ monitoring_ enabled 
- Is managed identity authentication for monitoring enabled?
- oms_agent_ Sequence[Kubernetesidentities Cluster Oms Agent Oms Agent Identity] 
- An oms_agent_identityblock is exported. The exported attributes are defined below.
- logAnalytics StringWorkspace Id 
- The ID of the Log Analytics Workspace which the OMS Agent should send data to.
- msiAuth BooleanFor Monitoring Enabled 
- Is managed identity authentication for monitoring enabled?
- omsAgent List<Property Map>Identities 
- An oms_agent_identityblock is exported. The exported attributes are defined below.
KubernetesClusterOmsAgentOmsAgentIdentity, KubernetesClusterOmsAgentOmsAgentIdentityArgs              
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- client_id str
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- object_id str
- The Object ID of the user-defined Managed Identity used for Web App Routing
- user_assigned_ stridentity_ id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
KubernetesClusterServiceMeshProfile, KubernetesClusterServiceMeshProfileArgs          
- Mode string
- The mode of the service mesh. Possible value is Istio.
- Revisions List<string>
- Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with - revisionsset to- ["asm-1-20"], or leave it empty (the- revisionswill only be known after apply). To start the canary upgrade, change- revisionsto- ["asm-1-20", "asm-1-21"]. To roll back the canary upgrade, revert to- ["asm-1-20"]. To confirm the upgrade, change to- ["asm-1-21"].- NOTE: Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. Learn more. 
- 
KubernetesCluster Service Mesh Profile Certificate Authority 
- A certificate_authorityblock as defined below. When this property is specified,key_vault_secrets_provideris also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
- ExternalIngress boolGateway Enabled 
- Is Istio External Ingress Gateway enabled? - NOTE: Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster 
- InternalIngress boolGateway Enabled 
- Is Istio Internal Ingress Gateway enabled?
- Mode string
- The mode of the service mesh. Possible value is Istio.
- Revisions []string
- Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with - revisionsset to- ["asm-1-20"], or leave it empty (the- revisionswill only be known after apply). To start the canary upgrade, change- revisionsto- ["asm-1-20", "asm-1-21"]. To roll back the canary upgrade, revert to- ["asm-1-20"]. To confirm the upgrade, change to- ["asm-1-21"].- NOTE: Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. Learn more. 
- 
KubernetesCluster Service Mesh Profile Certificate Authority 
- A certificate_authorityblock as defined below. When this property is specified,key_vault_secrets_provideris also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
- ExternalIngress boolGateway Enabled 
- Is Istio External Ingress Gateway enabled? - NOTE: Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster 
- InternalIngress boolGateway Enabled 
- Is Istio Internal Ingress Gateway enabled?
- mode String
- The mode of the service mesh. Possible value is Istio.
- revisions List<String>
- Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with - revisionsset to- ["asm-1-20"], or leave it empty (the- revisionswill only be known after apply). To start the canary upgrade, change- revisionsto- ["asm-1-20", "asm-1-21"]. To roll back the canary upgrade, revert to- ["asm-1-20"]. To confirm the upgrade, change to- ["asm-1-21"].- NOTE: Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. Learn more. 
- 
KubernetesCluster Service Mesh Profile Certificate Authority 
- A certificate_authorityblock as defined below. When this property is specified,key_vault_secrets_provideris also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
- externalIngress BooleanGateway Enabled 
- Is Istio External Ingress Gateway enabled? - NOTE: Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster 
- internalIngress BooleanGateway Enabled 
- Is Istio Internal Ingress Gateway enabled?
- mode string
- The mode of the service mesh. Possible value is Istio.
- revisions string[]
- Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with - revisionsset to- ["asm-1-20"], or leave it empty (the- revisionswill only be known after apply). To start the canary upgrade, change- revisionsto- ["asm-1-20", "asm-1-21"]. To roll back the canary upgrade, revert to- ["asm-1-20"]. To confirm the upgrade, change to- ["asm-1-21"].- NOTE: Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. Learn more. 
- 
KubernetesCluster Service Mesh Profile Certificate Authority 
- A certificate_authorityblock as defined below. When this property is specified,key_vault_secrets_provideris also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
- externalIngress booleanGateway Enabled 
- Is Istio External Ingress Gateway enabled? - NOTE: Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster 
- internalIngress booleanGateway Enabled 
- Is Istio Internal Ingress Gateway enabled?
- mode str
- The mode of the service mesh. Possible value is Istio.
- revisions Sequence[str]
- Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with - revisionsset to- ["asm-1-20"], or leave it empty (the- revisionswill only be known after apply). To start the canary upgrade, change- revisionsto- ["asm-1-20", "asm-1-21"]. To roll back the canary upgrade, revert to- ["asm-1-20"]. To confirm the upgrade, change to- ["asm-1-21"].- NOTE: Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. Learn more. 
- 
KubernetesCluster Service Mesh Profile Certificate Authority 
- A certificate_authorityblock as defined below. When this property is specified,key_vault_secrets_provideris also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
- external_ingress_ boolgateway_ enabled 
- Is Istio External Ingress Gateway enabled? - NOTE: Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster 
- internal_ingress_ boolgateway_ enabled 
- Is Istio Internal Ingress Gateway enabled?
- mode String
- The mode of the service mesh. Possible value is Istio.
- revisions List<String>
- Specify 1 or 2 Istio control plane revisions for managing minor upgrades using the canary upgrade process. For example, create the resource with - revisionsset to- ["asm-1-20"], or leave it empty (the- revisionswill only be known after apply). To start the canary upgrade, change- revisionsto- ["asm-1-20", "asm-1-21"]. To roll back the canary upgrade, revert to- ["asm-1-20"]. To confirm the upgrade, change to- ["asm-1-21"].- NOTE: Upgrading to a new (canary) revision does not affect existing sidecar proxies. You need to apply the canary revision label to selected namespaces and restart pods with kubectl to inject the new sidecar proxy. Learn more. 
- Property Map
- A certificate_authorityblock as defined below. When this property is specified,key_vault_secrets_provideris also required to be set. This configuration allows you to bring your own root certificate and keys for Istio CA in the Istio-based service mesh add-on for Azure Kubernetes Service.
- externalIngress BooleanGateway Enabled 
- Is Istio External Ingress Gateway enabled? - NOTE: Currently only one Internal Ingress Gateway and one External Ingress Gateway are allowed per cluster 
- internalIngress BooleanGateway Enabled 
- Is Istio Internal Ingress Gateway enabled?
KubernetesClusterServiceMeshProfileCertificateAuthority, KubernetesClusterServiceMeshProfileCertificateAuthorityArgs              
- CertChain stringObject Name 
- The certificate chain object name in Azure Key Vault.
- CertObject stringName 
- The intermediate certificate object name in Azure Key Vault.
- KeyObject stringName 
- The intermediate certificate private key object name in Azure Key Vault. - Note: For more information on Istio-based service mesh add-on with plug-in CA certificates and how to generate these certificates, 
- KeyVault stringId 
- The resource ID of the Key Vault.
- RootCert stringObject Name 
- The root certificate object name in Azure Key Vault.
- CertChain stringObject Name 
- The certificate chain object name in Azure Key Vault.
- CertObject stringName 
- The intermediate certificate object name in Azure Key Vault.
- KeyObject stringName 
- The intermediate certificate private key object name in Azure Key Vault. - Note: For more information on Istio-based service mesh add-on with plug-in CA certificates and how to generate these certificates, 
- KeyVault stringId 
- The resource ID of the Key Vault.
- RootCert stringObject Name 
- The root certificate object name in Azure Key Vault.
- certChain StringObject Name 
- The certificate chain object name in Azure Key Vault.
- certObject StringName 
- The intermediate certificate object name in Azure Key Vault.
- keyObject StringName 
- The intermediate certificate private key object name in Azure Key Vault. - Note: For more information on Istio-based service mesh add-on with plug-in CA certificates and how to generate these certificates, 
- keyVault StringId 
- The resource ID of the Key Vault.
- rootCert StringObject Name 
- The root certificate object name in Azure Key Vault.
- certChain stringObject Name 
- The certificate chain object name in Azure Key Vault.
- certObject stringName 
- The intermediate certificate object name in Azure Key Vault.
- keyObject stringName 
- The intermediate certificate private key object name in Azure Key Vault. - Note: For more information on Istio-based service mesh add-on with plug-in CA certificates and how to generate these certificates, 
- keyVault stringId 
- The resource ID of the Key Vault.
- rootCert stringObject Name 
- The root certificate object name in Azure Key Vault.
- cert_chain_ strobject_ name 
- The certificate chain object name in Azure Key Vault.
- cert_object_ strname 
- The intermediate certificate object name in Azure Key Vault.
- key_object_ strname 
- The intermediate certificate private key object name in Azure Key Vault. - Note: For more information on Istio-based service mesh add-on with plug-in CA certificates and how to generate these certificates, 
- key_vault_ strid 
- The resource ID of the Key Vault.
- root_cert_ strobject_ name 
- The root certificate object name in Azure Key Vault.
- certChain StringObject Name 
- The certificate chain object name in Azure Key Vault.
- certObject StringName 
- The intermediate certificate object name in Azure Key Vault.
- keyObject StringName 
- The intermediate certificate private key object name in Azure Key Vault. - Note: For more information on Istio-based service mesh add-on with plug-in CA certificates and how to generate these certificates, 
- keyVault StringId 
- The resource ID of the Key Vault.
- rootCert StringObject Name 
- The root certificate object name in Azure Key Vault.
KubernetesClusterServicePrincipal, KubernetesClusterServicePrincipalArgs        
- ClientId string
- The Client ID for the Service Principal.
- ClientSecret string
- The Client Secret for the Service Principal.
- ClientId string
- The Client ID for the Service Principal.
- ClientSecret string
- The Client Secret for the Service Principal.
- clientId String
- The Client ID for the Service Principal.
- clientSecret String
- The Client Secret for the Service Principal.
- clientId string
- The Client ID for the Service Principal.
- clientSecret string
- The Client Secret for the Service Principal.
- client_id str
- The Client ID for the Service Principal.
- client_secret str
- The Client Secret for the Service Principal.
- clientId String
- The Client ID for the Service Principal.
- clientSecret String
- The Client Secret for the Service Principal.
KubernetesClusterStorageProfile, KubernetesClusterStorageProfileArgs        
- BlobDriver boolEnabled 
- Is the Blob CSI driver enabled? Defaults to false.
- DiskDriver boolEnabled 
- Is the Disk CSI driver enabled? Defaults to true.
- FileDriver boolEnabled 
- Is the File CSI driver enabled? Defaults to true.
- SnapshotController boolEnabled 
- Is the Snapshot Controller enabled? Defaults to true.
- BlobDriver boolEnabled 
- Is the Blob CSI driver enabled? Defaults to false.
- DiskDriver boolEnabled 
- Is the Disk CSI driver enabled? Defaults to true.
- FileDriver boolEnabled 
- Is the File CSI driver enabled? Defaults to true.
- SnapshotController boolEnabled 
- Is the Snapshot Controller enabled? Defaults to true.
- blobDriver BooleanEnabled 
- Is the Blob CSI driver enabled? Defaults to false.
- diskDriver BooleanEnabled 
- Is the Disk CSI driver enabled? Defaults to true.
- fileDriver BooleanEnabled 
- Is the File CSI driver enabled? Defaults to true.
- snapshotController BooleanEnabled 
- Is the Snapshot Controller enabled? Defaults to true.
- blobDriver booleanEnabled 
- Is the Blob CSI driver enabled? Defaults to false.
- diskDriver booleanEnabled 
- Is the Disk CSI driver enabled? Defaults to true.
- fileDriver booleanEnabled 
- Is the File CSI driver enabled? Defaults to true.
- snapshotController booleanEnabled 
- Is the Snapshot Controller enabled? Defaults to true.
- blob_driver_ boolenabled 
- Is the Blob CSI driver enabled? Defaults to false.
- disk_driver_ boolenabled 
- Is the Disk CSI driver enabled? Defaults to true.
- file_driver_ boolenabled 
- Is the File CSI driver enabled? Defaults to true.
- snapshot_controller_ boolenabled 
- Is the Snapshot Controller enabled? Defaults to true.
- blobDriver BooleanEnabled 
- Is the Blob CSI driver enabled? Defaults to false.
- diskDriver BooleanEnabled 
- Is the Disk CSI driver enabled? Defaults to true.
- fileDriver BooleanEnabled 
- Is the File CSI driver enabled? Defaults to true.
- snapshotController BooleanEnabled 
- Is the Snapshot Controller enabled? Defaults to true.
KubernetesClusterUpgradeOverride, KubernetesClusterUpgradeOverrideArgs        
- ForceUpgrade boolEnabled 
- Whether to force upgrade the cluster. Possible values are - trueor- false.- !> Note: The - force_upgrade_enabledfield instructs the upgrade operation to bypass upgrade protections (e.g. checking for deprecated API usage) which may render the cluster inoperative after the upgrade process has completed. Use the- force_upgrade_enabledoption with extreme caution only.
- EffectiveUntil string
- Specifies the duration, in RFC 3339 format (e.g., - 2025-10-01T13:00:00Z), the- upgrade_overridevalues are effective. This field must be set for the- upgrade_overridevalues to take effect. The date-time must be within the next 30 days.- Note: This only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the - effective_untilvalue expires as the upgrade proceeds.
- ForceUpgrade boolEnabled 
- Whether to force upgrade the cluster. Possible values are - trueor- false.- !> Note: The - force_upgrade_enabledfield instructs the upgrade operation to bypass upgrade protections (e.g. checking for deprecated API usage) which may render the cluster inoperative after the upgrade process has completed. Use the- force_upgrade_enabledoption with extreme caution only.
- EffectiveUntil string
- Specifies the duration, in RFC 3339 format (e.g., - 2025-10-01T13:00:00Z), the- upgrade_overridevalues are effective. This field must be set for the- upgrade_overridevalues to take effect. The date-time must be within the next 30 days.- Note: This only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the - effective_untilvalue expires as the upgrade proceeds.
- forceUpgrade BooleanEnabled 
- Whether to force upgrade the cluster. Possible values are - trueor- false.- !> Note: The - force_upgrade_enabledfield instructs the upgrade operation to bypass upgrade protections (e.g. checking for deprecated API usage) which may render the cluster inoperative after the upgrade process has completed. Use the- force_upgrade_enabledoption with extreme caution only.
- effectiveUntil String
- Specifies the duration, in RFC 3339 format (e.g., - 2025-10-01T13:00:00Z), the- upgrade_overridevalues are effective. This field must be set for the- upgrade_overridevalues to take effect. The date-time must be within the next 30 days.- Note: This only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the - effective_untilvalue expires as the upgrade proceeds.
- forceUpgrade booleanEnabled 
- Whether to force upgrade the cluster. Possible values are - trueor- false.- !> Note: The - force_upgrade_enabledfield instructs the upgrade operation to bypass upgrade protections (e.g. checking for deprecated API usage) which may render the cluster inoperative after the upgrade process has completed. Use the- force_upgrade_enabledoption with extreme caution only.
- effectiveUntil string
- Specifies the duration, in RFC 3339 format (e.g., - 2025-10-01T13:00:00Z), the- upgrade_overridevalues are effective. This field must be set for the- upgrade_overridevalues to take effect. The date-time must be within the next 30 days.- Note: This only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the - effective_untilvalue expires as the upgrade proceeds.
- force_upgrade_ boolenabled 
- Whether to force upgrade the cluster. Possible values are - trueor- false.- !> Note: The - force_upgrade_enabledfield instructs the upgrade operation to bypass upgrade protections (e.g. checking for deprecated API usage) which may render the cluster inoperative after the upgrade process has completed. Use the- force_upgrade_enabledoption with extreme caution only.
- effective_until str
- Specifies the duration, in RFC 3339 format (e.g., - 2025-10-01T13:00:00Z), the- upgrade_overridevalues are effective. This field must be set for the- upgrade_overridevalues to take effect. The date-time must be within the next 30 days.- Note: This only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the - effective_untilvalue expires as the upgrade proceeds.
- forceUpgrade BooleanEnabled 
- Whether to force upgrade the cluster. Possible values are - trueor- false.- !> Note: The - force_upgrade_enabledfield instructs the upgrade operation to bypass upgrade protections (e.g. checking for deprecated API usage) which may render the cluster inoperative after the upgrade process has completed. Use the- force_upgrade_enabledoption with extreme caution only.
- effectiveUntil String
- Specifies the duration, in RFC 3339 format (e.g., - 2025-10-01T13:00:00Z), the- upgrade_overridevalues are effective. This field must be set for the- upgrade_overridevalues to take effect. The date-time must be within the next 30 days.- Note: This only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the - effective_untilvalue expires as the upgrade proceeds.
KubernetesClusterWebAppRouting, KubernetesClusterWebAppRoutingArgs          
- DnsZone List<string>Ids 
- Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
- WebApp List<KubernetesRouting Identities Cluster Web App Routing Web App Routing Identity> 
- A web_app_routing_identityblock is exported. The exported attributes are defined below.
- DnsZone []stringIds 
- Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
- WebApp []KubernetesRouting Identities Cluster Web App Routing Web App Routing Identity 
- A web_app_routing_identityblock is exported. The exported attributes are defined below.
- dnsZone List<String>Ids 
- Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
- webApp List<KubernetesRouting Identities Cluster Web App Routing Web App Routing Identity> 
- A web_app_routing_identityblock is exported. The exported attributes are defined below.
- dnsZone string[]Ids 
- Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
- webApp KubernetesRouting Identities Cluster Web App Routing Web App Routing Identity[] 
- A web_app_routing_identityblock is exported. The exported attributes are defined below.
- dns_zone_ Sequence[str]ids 
- Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
- web_app_ Sequence[Kubernetesrouting_ identities Cluster Web App Routing Web App Routing Identity] 
- A web_app_routing_identityblock is exported. The exported attributes are defined below.
- dnsZone List<String>Ids 
- Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
- webApp List<Property Map>Routing Identities 
- A web_app_routing_identityblock is exported. The exported attributes are defined below.
KubernetesClusterWebAppRoutingWebAppRoutingIdentity, KubernetesClusterWebAppRoutingWebAppRoutingIdentityArgs                  
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- ClientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- ObjectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- UserAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId string
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId string
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned stringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
- client_id str
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- object_id str
- The Object ID of the user-defined Managed Identity used for Web App Routing
- user_assigned_ stridentity_ id 
- The ID of the User Assigned Identity used for Web App Routing.
- clientId String
- The Client ID of the user-defined Managed Identity used for Web App Routing.
- objectId String
- The Object ID of the user-defined Managed Identity used for Web App Routing
- userAssigned StringIdentity Id 
- The ID of the User Assigned Identity used for Web App Routing.
KubernetesClusterWindowsProfile, KubernetesClusterWindowsProfileArgs        
- AdminPassword string
- The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
- AdminUsername string
- The Admin Username for Windows VMs. Changing this forces a new resource to be created.
- Gmsa
KubernetesCluster Windows Profile Gmsa 
- A gmsablock as defined below.
- License string
- Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
- AdminPassword string
- The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
- AdminUsername string
- The Admin Username for Windows VMs. Changing this forces a new resource to be created.
- Gmsa
KubernetesCluster Windows Profile Gmsa 
- A gmsablock as defined below.
- License string
- Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
- adminPassword String
- The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
- adminUsername String
- The Admin Username for Windows VMs. Changing this forces a new resource to be created.
- gmsa
KubernetesCluster Windows Profile Gmsa 
- A gmsablock as defined below.
- license String
- Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
- adminPassword string
- The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
- adminUsername string
- The Admin Username for Windows VMs. Changing this forces a new resource to be created.
- gmsa
KubernetesCluster Windows Profile Gmsa 
- A gmsablock as defined below.
- license string
- Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
- admin_password str
- The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
- admin_username str
- The Admin Username for Windows VMs. Changing this forces a new resource to be created.
- gmsa
KubernetesCluster Windows Profile Gmsa 
- A gmsablock as defined below.
- license str
- Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
- adminPassword String
- The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
- adminUsername String
- The Admin Username for Windows VMs. Changing this forces a new resource to be created.
- gmsa Property Map
- A gmsablock as defined below.
- license String
- Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
KubernetesClusterWindowsProfileGmsa, KubernetesClusterWindowsProfileGmsaArgs          
- DnsServer string
- Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
- RootDomain string
- Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster. - Note: The properties - dns_serverand- root_domainmust both either be set or unset, i.e. empty.
- DnsServer string
- Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
- RootDomain string
- Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster. - Note: The properties - dns_serverand- root_domainmust both either be set or unset, i.e. empty.
- dnsServer String
- Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
- rootDomain String
- Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster. - Note: The properties - dns_serverand- root_domainmust both either be set or unset, i.e. empty.
- dnsServer string
- Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
- rootDomain string
- Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster. - Note: The properties - dns_serverand- root_domainmust both either be set or unset, i.e. empty.
- dns_server str
- Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
- root_domain str
- Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster. - Note: The properties - dns_serverand- root_domainmust both either be set or unset, i.e. empty.
- dnsServer String
- Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
- rootDomain String
- Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster. - Note: The properties - dns_serverand- root_domainmust both either be set or unset, i.e. empty.
KubernetesClusterWorkloadAutoscalerProfile, KubernetesClusterWorkloadAutoscalerProfileArgs          
- KedaEnabled bool
- Specifies whether KEDA Autoscaler can be used for workloads.
- VerticalPod boolAutoscaler Enabled 
- Specifies whether Vertical Pod Autoscaler should be enabled. - Note: This requires that the Preview Feature - Microsoft.ContainerService/AKS-VPAPreviewis enabled and the Resource Provider is re-registered, see the documentation for more information.
- KedaEnabled bool
- Specifies whether KEDA Autoscaler can be used for workloads.
- VerticalPod boolAutoscaler Enabled 
- Specifies whether Vertical Pod Autoscaler should be enabled. - Note: This requires that the Preview Feature - Microsoft.ContainerService/AKS-VPAPreviewis enabled and the Resource Provider is re-registered, see the documentation for more information.
- kedaEnabled Boolean
- Specifies whether KEDA Autoscaler can be used for workloads.
- verticalPod BooleanAutoscaler Enabled 
- Specifies whether Vertical Pod Autoscaler should be enabled. - Note: This requires that the Preview Feature - Microsoft.ContainerService/AKS-VPAPreviewis enabled and the Resource Provider is re-registered, see the documentation for more information.
- kedaEnabled boolean
- Specifies whether KEDA Autoscaler can be used for workloads.
- verticalPod booleanAutoscaler Enabled 
- Specifies whether Vertical Pod Autoscaler should be enabled. - Note: This requires that the Preview Feature - Microsoft.ContainerService/AKS-VPAPreviewis enabled and the Resource Provider is re-registered, see the documentation for more information.
- keda_enabled bool
- Specifies whether KEDA Autoscaler can be used for workloads.
- vertical_pod_ boolautoscaler_ enabled 
- Specifies whether Vertical Pod Autoscaler should be enabled. - Note: This requires that the Preview Feature - Microsoft.ContainerService/AKS-VPAPreviewis enabled and the Resource Provider is re-registered, see the documentation for more information.
- kedaEnabled Boolean
- Specifies whether KEDA Autoscaler can be used for workloads.
- verticalPod BooleanAutoscaler Enabled 
- Specifies whether Vertical Pod Autoscaler should be enabled. - Note: This requires that the Preview Feature - Microsoft.ContainerService/AKS-VPAPreviewis enabled and the Resource Provider is re-registered, see the documentation for more information.
Import
Managed Kubernetes Clusters can be imported using the resource id, e.g.
$ pulumi import azure:containerservice/kubernetesCluster:KubernetesCluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerService/managedClusters/cluster1
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 azurermTerraform Provider.