1. Packages
  2. Packages
  3. Azure Native
  4. API Docs
  5. containerservice
  6. ManagedCluster
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Viewing docs for Azure Native v3.18.0
published on Saturday, May 9, 2026 by Pulumi
azure-native logo
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Viewing docs for Azure Native v3.18.0
published on Saturday, May 9, 2026 by Pulumi

    Managed cluster.

    Uses Azure REST API version 2025-09-01. In version 2.x of the Azure Native provider, it used API version 2023-04-01.

    Other available API versions: 2019-11-01, 2020-01-01, 2020-02-01, 2020-03-01, 2020-04-01, 2020-06-01, 2020-07-01, 2020-09-01, 2020-11-01, 2020-12-01, 2021-02-01, 2021-03-01, 2021-05-01, 2021-07-01, 2021-08-01, 2021-09-01, 2021-10-01, 2021-11-01-preview, 2022-01-01, 2022-01-02-preview, 2022-02-01, 2022-02-02-preview, 2022-03-01, 2022-03-02-preview, 2022-04-01, 2022-04-02-preview, 2022-05-02-preview, 2022-06-01, 2022-06-02-preview, 2022-07-01, 2022-07-02-preview, 2022-08-02-preview, 2022-08-03-preview, 2022-09-01, 2022-09-02-preview, 2022-10-02-preview, 2022-11-01, 2022-11-02-preview, 2023-01-01, 2023-01-02-preview, 2023-02-01, 2023-02-02-preview, 2023-03-01, 2023-03-02-preview, 2023-04-01, 2023-04-02-preview, 2023-05-01, 2023-05-02-preview, 2023-06-01, 2023-06-02-preview, 2023-07-01, 2023-07-02-preview, 2023-08-01, 2023-08-02-preview, 2023-09-01, 2023-09-02-preview, 2023-10-01, 2023-10-02-preview, 2023-11-01, 2023-11-02-preview, 2024-01-01, 2024-01-02-preview, 2024-02-01, 2024-02-02-preview, 2024-03-02-preview, 2024-04-02-preview, 2024-05-01, 2024-05-02-preview, 2024-06-02-preview, 2024-07-01, 2024-07-02-preview, 2024-08-01, 2024-09-01, 2024-09-02-preview, 2024-10-01, 2024-10-02-preview, 2025-01-01, 2025-01-02-preview, 2025-02-01, 2025-02-02-preview, 2025-03-01, 2025-03-02-preview, 2025-04-01, 2025-04-02-preview, 2025-05-01, 2025-05-02-preview, 2025-06-02-preview, 2025-07-01, 2025-07-02-preview, 2025-08-01, 2025-08-02-preview, 2025-09-02-preview, 2025-10-01, 2025-10-02-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native containerservice [ApiVersion]. See the version guide for details.

    When creating a managed cluster you must define at least one agent pool inline via the agentPoolProfiles property. The Azure API does not currently allow this property to be updated directly. Instead, additional agent pools can be defined via the AgentPool resource. If needing to change the initial agent pool profile property, you can either trigger the whole cluster to be re-created by using the replaceOnChanges resource option, or make the change directly in Azure then use pulumi refresh to update the stack’s stack to match.

    Example Usage

    Create Managed Cluster using an agent pool snapshot

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    CreationData = new AzureNative.ContainerService.Inputs.CreationDataArgs
                    {
                        SourceResourceId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
                    },
                    EnableFIPS = true,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count: pulumi.Int(3),
    					CreationData: &containerservice.CreationDataArgs{
    						SourceResourceId: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"),
    					},
    					EnableFIPS:         pulumi.Bool(true),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.CreationDataArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .creationData(CreationDataArgs.builder()
                        .sourceResourceId("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1")
                        .build())
                    .enableFIPS(true)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            creationData: {
                sourceResourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
            },
            enableFIPS: true,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "creation_data": {
                "source_resource_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
            },
            "enable_fips": True,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              creationData:
                sourceResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1
              enableFIPS: true
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with AKS-managed NAT gateway as outbound type

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = false,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                NatGatewayProfile = new AzureNative.ContainerService.Inputs.ManagedClusterNATGatewayProfileArgs
                {
                    ManagedOutboundIPProfile = new AzureNative.ContainerService.Inputs.ManagedClusterManagedOutboundIPProfileArgs
                    {
                        Count = 2,
                    },
                },
                OutboundType = AzureNative.ContainerService.OutboundType.ManagedNATGateway,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(false),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				NatGatewayProfile: &containerservice.ManagedClusterNATGatewayProfileArgs{
    					ManagedOutboundIPProfile: &containerservice.ManagedClusterManagedOutboundIPProfileArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				OutboundType: pulumi.String(containerservice.OutboundTypeManagedNATGateway),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterNATGatewayProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterManagedOutboundIPProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(false)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerSku("standard")
                    .natGatewayProfile(ManagedClusterNATGatewayProfileArgs.builder()
                        .managedOutboundIPProfile(ManagedClusterManagedOutboundIPProfileArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .outboundType("managedNATGateway")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: false,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            natGatewayProfile: {
                managedOutboundIPProfile: {
                    count: 2,
                },
            },
            outboundType: azure_native.containerservice.OutboundType.ManagedNATGateway,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": False,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "nat_gateway_profile": {
                "managed_outbound_ip_profile": {
                    "count": 2,
                },
            },
            "outbound_type": azure_native.containerservice.OutboundType.MANAGED_NAT_GATEWAY,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: false
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerSku: standard
            natGatewayProfile:
              managedOutboundIPProfile:
                count: 2
            outboundType: managedNATGateway
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with Azure KeyVault Secrets Provider Addon

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = 
            {
                { "azureKeyvaultSecretsProvider", new AzureNative.ContainerService.Inputs.ManagedClusterAddonProfileArgs
                {
                    Config = 
                    {
                        { "enableSecretRotation", "true" },
                        { "rotationPollInterval", "2m" },
                    },
                    Enabled = true,
                } },
            },
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{
    				"azureKeyvaultSecretsProvider": &containerservice.ManagedClusterAddonProfileArgs{
    					Config: pulumi.StringMap{
    						"enableSecretRotation": pulumi.String("true"),
    						"rotationPollInterval": pulumi.String("2m"),
    					},
    					Enabled: pulumi.Bool(true),
    				},
    			},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.of("azureKeyvaultSecretsProvider", ManagedClusterAddonProfileArgs.builder()
                    .config(Map.ofEntries(
                        Map.entry("enableSecretRotation", "true"),
                        Map.entry("rotationPollInterval", "2m")
                    ))
                    .enabled(true)
                    .build()))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {
            azureKeyvaultSecretsProvider: {
                config: {
                    enableSecretRotation: "true",
                    rotationPollInterval: "2m",
                },
                enabled: true,
            },
        },
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={
            "azureKeyvaultSecretsProvider": {
                "config": {
                    "enableSecretRotation": "true",
                    "rotationPollInterval": "2m",
                },
                "enabled": True,
            },
        },
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles:
            azureKeyvaultSecretsProvider:
              config:
                enableSecretRotation: 'true'
                rotationPollInterval: 2m
              enabled: true
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with Capacity Reservation Group

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    CapacityReservationGroupID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1",
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					CapacityReservationGroupID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1"),
    					Count:                      pulumi.Int(3),
    					EnableNodePublicIP:         pulumi.Bool(true),
    					Mode:                       pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:                       pulumi.String("nodepool1"),
    					OsType:                     pulumi.String(containerservice.OSTypeLinux),
    					Type:                       pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:                     pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .capacityReservationGroupID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1")
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            capacityReservationGroupID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1",
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "capacity_reservation_group_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1",
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - capacityReservationGroupID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1
              count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with Custom CA Trust Certificates

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            SecurityProfile = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileArgs
            {
                CustomCATrustCertificates = new[]
                {
                    "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=",
                },
            },
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			SecurityProfile: &containerservice.ManagedClusterSecurityProfileArgs{
    				CustomCATrustCertificates: pulumi.StringArray{
    					pulumi.String("ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ="),
    				},
    			},
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSecurityProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .securityProfile(ManagedClusterSecurityProfileArgs.builder()
                    .customCATrustCertificates("ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=")
                    .build())
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        securityProfile: {
            customCATrustCertificates: ["ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ="],
        },
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        security_profile={
            "custom_ca_trust_certificates": ["ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ="],
        },
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          securityProfile:
            customCATrustCertificates:
              - ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with Dedicated Host Group

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    HostGroupID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1",
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					HostGroupID:        pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1"),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .hostGroupID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            hostGroupID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1",
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "host_group_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1",
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              hostGroupID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with EncryptionAtHost enabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableEncryptionAtHost = true,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:                  pulumi.Int(3),
    					EnableEncryptionAtHost: pulumi.Bool(true),
    					EnableNodePublicIP:     pulumi.Bool(true),
    					Mode:                   pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:                   pulumi.String("nodepool1"),
    					OsType:                 pulumi.String(containerservice.OSTypeLinux),
    					Type:                   pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:                 pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableEncryptionAtHost(true)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableEncryptionAtHost: true,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_encryption_at_host": True,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableEncryptionAtHost: true
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with FIPS enabled OS

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableFIPS = true,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableFIPS:         pulumi.Bool(true),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableFIPS(true)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableFIPS: true,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_fips": True,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableFIPS: true
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with GPUMIG

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    GpuInstanceProfile = AzureNative.ContainerService.GPUInstanceProfile.MIG3g,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_ND96asr_v4",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            HttpProxyConfig = new AzureNative.ContainerService.Inputs.ManagedClusterHTTPProxyConfigArgs
            {
                HttpProxy = "http://myproxy.server.com:8080",
                HttpsProxy = "https://myproxy.server.com:8080",
                NoProxy = new[]
                {
                    "localhost",
                    "127.0.0.1",
                },
                TrustedCa = "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
            },
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					GpuInstanceProfile: pulumi.String(containerservice.GPUInstanceProfileMIG3g),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_ND96asr_v4"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			HttpProxyConfig: &containerservice.ManagedClusterHTTPProxyConfigArgs{
    				HttpProxy:  pulumi.String("http://myproxy.server.com:8080"),
    				HttpsProxy: pulumi.String("https://myproxy.server.com:8080"),
    				NoProxy: pulumi.StringArray{
    					pulumi.String("localhost"),
    					pulumi.String("127.0.0.1"),
    				},
    				TrustedCa: pulumi.String("Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="),
    			},
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterHTTPProxyConfigArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .gpuInstanceProfile("MIG3g")
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_ND96asr_v4")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .httpProxyConfig(ManagedClusterHTTPProxyConfigArgs.builder()
                    .httpProxy("http://myproxy.server.com:8080")
                    .httpsProxy("https://myproxy.server.com:8080")
                    .noProxy(                
                        "localhost",
                        "127.0.0.1")
                    .trustedCa("Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=")
                    .build())
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            gpuInstanceProfile: azure_native.containerservice.GPUInstanceProfile.MIG3g,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_ND96asr_v4",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        httpProxyConfig: {
            httpProxy: "http://myproxy.server.com:8080",
            httpsProxy: "https://myproxy.server.com:8080",
            noProxy: [
                "localhost",
                "127.0.0.1",
            ],
            trustedCa: "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
        },
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "gpu_instance_profile": azure_native.containerservice.GPUInstanceProfile.MIG3G,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_ND96asr_v4",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        http_proxy_config={
            "http_proxy": "http://myproxy.server.com:8080",
            "https_proxy": "https://myproxy.server.com:8080",
            "no_proxy": [
                "localhost",
                "127.0.0.1",
            ],
            "trusted_ca": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
        },
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              gpuInstanceProfile: MIG3g
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_ND96asr_v4
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          httpProxyConfig:
            httpProxy: http://myproxy.server.com:8080
            httpsProxy: https://myproxy.server.com:8080
            noProxy:
              - localhost
              - 127.0.0.1
            trustedCa: Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with HTTP proxy configured

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            HttpProxyConfig = new AzureNative.ContainerService.Inputs.ManagedClusterHTTPProxyConfigArgs
            {
                HttpProxy = "http://myproxy.server.com:8080",
                HttpsProxy = "https://myproxy.server.com:8080",
                NoProxy = new[]
                {
                    "localhost",
                    "127.0.0.1",
                },
                TrustedCa = "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
            },
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			HttpProxyConfig: &containerservice.ManagedClusterHTTPProxyConfigArgs{
    				HttpProxy:  pulumi.String("http://myproxy.server.com:8080"),
    				HttpsProxy: pulumi.String("https://myproxy.server.com:8080"),
    				NoProxy: pulumi.StringArray{
    					pulumi.String("localhost"),
    					pulumi.String("127.0.0.1"),
    				},
    				TrustedCa: pulumi.String("Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="),
    			},
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterHTTPProxyConfigArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .httpProxyConfig(ManagedClusterHTTPProxyConfigArgs.builder()
                    .httpProxy("http://myproxy.server.com:8080")
                    .httpsProxy("https://myproxy.server.com:8080")
                    .noProxy(                
                        "localhost",
                        "127.0.0.1")
                    .trustedCa("Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=")
                    .build())
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        httpProxyConfig: {
            httpProxy: "http://myproxy.server.com:8080",
            httpsProxy: "https://myproxy.server.com:8080",
            noProxy: [
                "localhost",
                "127.0.0.1",
            ],
            trustedCa: "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
        },
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        http_proxy_config={
            "http_proxy": "http://myproxy.server.com:8080",
            "https_proxy": "https://myproxy.server.com:8080",
            "no_proxy": [
                "localhost",
                "127.0.0.1",
            ],
            "trusted_ca": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
        },
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          httpProxyConfig:
            httpProxy: http://myproxy.server.com:8080
            httpsProxy: https://myproxy.server.com:8080
            noProxy:
              - localhost
              - 127.0.0.1
            trustedCa: Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with LongTermSupport

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableEncryptionAtHost = true,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            ApiServerAccessProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAPIServerAccessProfileArgs
            {
                DisableRunCommand = true,
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = AzureNative.ContainerService.ManagedClusterSKUName.Base,
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Premium,
            },
            SupportPlan = AzureNative.ContainerService.KubernetesSupportPlan.AKSLongTermSupport,
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:                  pulumi.Int(3),
    					EnableEncryptionAtHost: pulumi.Bool(true),
    					EnableNodePublicIP:     pulumi.Bool(true),
    					Mode:                   pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:                   pulumi.String("nodepool1"),
    					OsType:                 pulumi.String(containerservice.OSTypeLinux),
    					Type:                   pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:                 pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			ApiServerAccessProfile: &containerservice.ManagedClusterAPIServerAccessProfileArgs{
    				DisableRunCommand: pulumi.Bool(true),
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DnsPrefix:         pulumi.String("dnsprefix1"),
    			EnableRBAC:        pulumi.Bool(true),
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String(containerservice.ManagedClusterSKUNameBase),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierPremium),
    			},
    			SupportPlan: pulumi.String(containerservice.KubernetesSupportPlanAKSLongTermSupport),
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAPIServerAccessProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableEncryptionAtHost(true)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .apiServerAccessProfile(ManagedClusterAPIServerAccessProfileArgs.builder()
                    .disableRunCommand(true)
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Base")
                    .tier("Premium")
                    .build())
                .supportPlan("AKSLongTermSupport")
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableEncryptionAtHost: true,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        apiServerAccessProfile: {
            disableRunCommand: true,
        },
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: azure_native.containerservice.ManagedClusterSKUName.Base,
            tier: azure_native.containerservice.ManagedClusterSKUTier.Premium,
        },
        supportPlan: azure_native.containerservice.KubernetesSupportPlan.AKSLongTermSupport,
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_encryption_at_host": True,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        api_server_access_profile={
            "disable_run_command": True,
        },
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": azure_native.containerservice.ManagedClusterSKUName.BASE,
            "tier": azure_native.containerservice.ManagedClusterSKUTier.PREMIUM,
        },
        support_plan=azure_native.containerservice.KubernetesSupportPlan.AKS_LONG_TERM_SUPPORT,
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableEncryptionAtHost: true
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          apiServerAccessProfile:
            disableRunCommand: true
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Base
            tier: Premium
          supportPlan: AKSLongTermSupport
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with Node Public IP Prefix

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    NodePublicIPPrefixID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:                pulumi.Int(3),
    					EnableNodePublicIP:   pulumi.Bool(true),
    					Mode:                 pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:                 pulumi.String("nodepool1"),
    					NodePublicIPPrefixID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"),
    					OsType:               pulumi.String(containerservice.OSTypeLinux),
    					Type:                 pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:               pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .nodePublicIPPrefixID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            nodePublicIPPrefixID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "node_public_ip_prefix_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              nodePublicIPPrefixID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with OSSKU

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsSKU = AzureNative.ContainerService.OSSKU.AzureLinux,
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            HttpProxyConfig = new AzureNative.ContainerService.Inputs.ManagedClusterHTTPProxyConfigArgs
            {
                HttpProxy = "http://myproxy.server.com:8080",
                HttpsProxy = "https://myproxy.server.com:8080",
                NoProxy = new[]
                {
                    "localhost",
                    "127.0.0.1",
                },
                TrustedCa = "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
            },
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsSKU:              pulumi.String(containerservice.OSSKUAzureLinux),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			HttpProxyConfig: &containerservice.ManagedClusterHTTPProxyConfigArgs{
    				HttpProxy:  pulumi.String("http://myproxy.server.com:8080"),
    				HttpsProxy: pulumi.String("https://myproxy.server.com:8080"),
    				NoProxy: pulumi.StringArray{
    					pulumi.String("localhost"),
    					pulumi.String("127.0.0.1"),
    				},
    				TrustedCa: pulumi.String("Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="),
    			},
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterHTTPProxyConfigArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osSKU("AzureLinux")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .httpProxyConfig(ManagedClusterHTTPProxyConfigArgs.builder()
                    .httpProxy("http://myproxy.server.com:8080")
                    .httpsProxy("https://myproxy.server.com:8080")
                    .noProxy(                
                        "localhost",
                        "127.0.0.1")
                    .trustedCa("Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=")
                    .build())
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osSKU: azure_native.containerservice.OSSKU.AzureLinux,
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        httpProxyConfig: {
            httpProxy: "http://myproxy.server.com:8080",
            httpsProxy: "https://myproxy.server.com:8080",
            noProxy: [
                "localhost",
                "127.0.0.1",
            ],
            trustedCa: "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
        },
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_sku": azure_native.containerservice.OSSKU.AZURE_LINUX,
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        http_proxy_config={
            "http_proxy": "http://myproxy.server.com:8080",
            "https_proxy": "https://myproxy.server.com:8080",
            "no_proxy": [
                "localhost",
                "127.0.0.1",
            ],
            "trusted_ca": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=",
        },
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osSKU: AzureLinux
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          httpProxyConfig:
            httpProxy: http://myproxy.server.com:8080
            httpsProxy: https://myproxy.server.com:8080
            noProxy:
              - localhost
              - 127.0.0.1
            trustedCa: Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with PPG

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    ProximityPlacementGroupID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1",
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:                     pulumi.Int(3),
    					EnableNodePublicIP:        pulumi.Bool(true),
    					Mode:                      pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:                      pulumi.String("nodepool1"),
    					OsType:                    pulumi.String(containerservice.OSTypeLinux),
    					ProximityPlacementGroupID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1"),
    					Type:                      pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:                    pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .proximityPlacementGroupID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            proximityPlacementGroupID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1",
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "proximity_placement_group_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1",
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              proximityPlacementGroupID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with PodIdentity enabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            PodIdentityProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityProfileArgs
            {
                AllowNetworkPluginKubenet = true,
                Enabled = true,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			PodIdentityProfile: &containerservice.ManagedClusterPodIdentityProfileArgs{
    				AllowNetworkPluginKubenet: pulumi.Bool(true),
    				Enabled:                   pulumi.Bool(true),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPodIdentityProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .podIdentityProfile(ManagedClusterPodIdentityProfileArgs.builder()
                    .allowNetworkPluginKubenet(true)
                    .enabled(true)
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        podIdentityProfile: {
            allowNetworkPluginKubenet: true,
            enabled: true,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        pod_identity_profile={
            "allow_network_plugin_kubenet": True,
            "enabled": True,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          podIdentityProfile:
            allowNetworkPluginKubenet: true
            enabled: true
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with RunCommand disabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableEncryptionAtHost = true,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            ApiServerAccessProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAPIServerAccessProfileArgs
            {
                DisableRunCommand = true,
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:                  pulumi.Int(3),
    					EnableEncryptionAtHost: pulumi.Bool(true),
    					EnableNodePublicIP:     pulumi.Bool(true),
    					Mode:                   pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:                   pulumi.String("nodepool1"),
    					OsType:                 pulumi.String(containerservice.OSTypeLinux),
    					Type:                   pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:                 pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			ApiServerAccessProfile: &containerservice.ManagedClusterAPIServerAccessProfileArgs{
    				DisableRunCommand: pulumi.Bool(true),
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DnsPrefix:         pulumi.String("dnsprefix1"),
    			EnableRBAC:        pulumi.Bool(true),
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAPIServerAccessProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableEncryptionAtHost(true)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .apiServerAccessProfile(ManagedClusterAPIServerAccessProfileArgs.builder()
                    .disableRunCommand(true)
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableEncryptionAtHost: true,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        apiServerAccessProfile: {
            disableRunCommand: true,
        },
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_encryption_at_host": True,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        api_server_access_profile={
            "disable_run_command": True,
        },
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableEncryptionAtHost: true
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          apiServerAccessProfile:
            disableRunCommand: true
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with Security Profile configured

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            DnsPrefix = "dnsprefix1",
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            SecurityProfile = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileArgs
            {
                Defender = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileDefenderArgs
                {
                    LogAnalyticsWorkspaceResourceId = "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME",
                    SecurityMonitoring = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs
                    {
                        Enabled = true,
                    },
                },
                WorkloadIdentity = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileWorkloadIdentityArgs
                {
                    Enabled = true,
                },
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			DnsPrefix:         pulumi.String("dnsprefix1"),
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			SecurityProfile: &containerservice.ManagedClusterSecurityProfileArgs{
    				Defender: &containerservice.ManagedClusterSecurityProfileDefenderArgs{
    					LogAnalyticsWorkspaceResourceId: pulumi.String("/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME"),
    					SecurityMonitoring: &containerservice.ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs{
    						Enabled: pulumi.Bool(true),
    					},
    				},
    				WorkloadIdentity: &containerservice.ManagedClusterSecurityProfileWorkloadIdentityArgs{
    					Enabled: pulumi.Bool(true),
    				},
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSecurityProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSecurityProfileDefenderArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSecurityProfileWorkloadIdentityArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .dnsPrefix("dnsprefix1")
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .securityProfile(ManagedClusterSecurityProfileArgs.builder()
                    .defender(ManagedClusterSecurityProfileDefenderArgs.builder()
                        .logAnalyticsWorkspaceResourceId("/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME")
                        .securityMonitoring(ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs.builder()
                            .enabled(true)
                            .build())
                        .build())
                    .workloadIdentity(ManagedClusterSecurityProfileWorkloadIdentityArgs.builder()
                        .enabled(true)
                        .build())
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        dnsPrefix: "dnsprefix1",
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        securityProfile: {
            defender: {
                logAnalyticsWorkspaceResourceId: "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME",
                securityMonitoring: {
                    enabled: true,
                },
            },
            workloadIdentity: {
                enabled: true,
            },
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        dns_prefix="dnsprefix1",
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        security_profile={
            "defender": {
                "log_analytics_workspace_resource_id": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME",
                "security_monitoring": {
                    "enabled": True,
                },
            },
            "workload_identity": {
                "enabled": True,
            },
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          dnsPrefix: dnsprefix1
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          securityProfile:
            defender:
              logAnalyticsWorkspaceResourceId: /subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME
              securityMonitoring:
                enabled: true
            workloadIdentity:
              enabled: true
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
    

    Create Managed Cluster with UltraSSD enabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    EnableUltraSSD = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					EnableUltraSSD:     pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .enableUltraSSD(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            enableUltraSSD: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "enable_ultra_ssd": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              enableUltraSSD: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Cluster with Web App Routing Ingress Profile configured

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            DnsPrefix = "dnsprefix1",
            IngressProfile = new AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileArgs
            {
                WebAppRouting = new AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileWebAppRoutingArgs
                {
                    DnsZoneResourceIds = new[]
                    {
                        "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME",
                    },
                    Enabled = true,
                },
            },
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			DnsPrefix: pulumi.String("dnsprefix1"),
    			IngressProfile: &containerservice.ManagedClusterIngressProfileArgs{
    				WebAppRouting: &containerservice.ManagedClusterIngressProfileWebAppRoutingArgs{
    					DnsZoneResourceIds: pulumi.StringArray{
    						pulumi.String("/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME"),
    					},
    					Enabled: pulumi.Bool(true),
    				},
    			},
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterIngressProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterIngressProfileWebAppRoutingArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .dnsPrefix("dnsprefix1")
                .ingressProfile(ManagedClusterIngressProfileArgs.builder()
                    .webAppRouting(ManagedClusterIngressProfileWebAppRoutingArgs.builder()
                        .dnsZoneResourceIds("/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME")
                        .enabled(true)
                        .build())
                    .build())
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        dnsPrefix: "dnsprefix1",
        ingressProfile: {
            webAppRouting: {
                dnsZoneResourceIds: ["/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME"],
                enabled: true,
            },
        },
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        dns_prefix="dnsprefix1",
        ingress_profile={
            "web_app_routing": {
                "dns_zone_resource_ids": ["/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME"],
                "enabled": True,
            },
        },
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          dnsPrefix: dnsprefix1
          ingressProfile:
            webAppRouting:
              dnsZoneResourceIds:
                - /subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME
              enabled: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
    

    Create Managed Cluster with user-assigned NAT gateway as outbound type

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = false,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.UserAssignedNATGateway,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(false),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeUserAssignedNATGateway),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(false)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerSku("standard")
                    .outboundType("userAssignedNATGateway")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: false,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.UserAssignedNATGateway,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": False,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.USER_ASSIGNED_NAT_GATEWAY,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: false
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerSku: standard
            outboundType: userAssignedNATGateway
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Private Cluster with Public FQDN specified

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableEncryptionAtHost = true,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            ApiServerAccessProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAPIServerAccessProfileArgs
            {
                EnablePrivateCluster = true,
                EnablePrivateClusterPublicFQDN = true,
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:                  pulumi.Int(3),
    					EnableEncryptionAtHost: pulumi.Bool(true),
    					EnableNodePublicIP:     pulumi.Bool(true),
    					Mode:                   pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:                   pulumi.String("nodepool1"),
    					OsType:                 pulumi.String(containerservice.OSTypeLinux),
    					Type:                   pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:                 pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			ApiServerAccessProfile: &containerservice.ManagedClusterAPIServerAccessProfileArgs{
    				EnablePrivateCluster:           pulumi.Bool(true),
    				EnablePrivateClusterPublicFQDN: pulumi.Bool(true),
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DnsPrefix:         pulumi.String("dnsprefix1"),
    			EnableRBAC:        pulumi.Bool(true),
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAPIServerAccessProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableEncryptionAtHost(true)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .apiServerAccessProfile(ManagedClusterAPIServerAccessProfileArgs.builder()
                    .enablePrivateCluster(true)
                    .enablePrivateClusterPublicFQDN(true)
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableEncryptionAtHost: true,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        apiServerAccessProfile: {
            enablePrivateCluster: true,
            enablePrivateClusterPublicFQDN: true,
        },
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_encryption_at_host": True,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        api_server_access_profile={
            "enable_private_cluster": True,
            "enable_private_cluster_public_fqdn": True,
        },
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableEncryptionAtHost: true
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          apiServerAccessProfile:
            enablePrivateCluster: true
            enablePrivateClusterPublicFQDN: true
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create Managed Private Cluster with fqdn subdomain specified

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableEncryptionAtHost = true,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            ApiServerAccessProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAPIServerAccessProfileArgs
            {
                EnablePrivateCluster = true,
                PrivateDNSZone = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io",
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            EnableRBAC = true,
            FqdnSubdomain = "domain1",
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:                  pulumi.Int(3),
    					EnableEncryptionAtHost: pulumi.Bool(true),
    					EnableNodePublicIP:     pulumi.Bool(true),
    					Mode:                   pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:                   pulumi.String("nodepool1"),
    					OsType:                 pulumi.String(containerservice.OSTypeLinux),
    					Type:                   pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:                 pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			ApiServerAccessProfile: &containerservice.ManagedClusterAPIServerAccessProfileArgs{
    				EnablePrivateCluster: pulumi.Bool(true),
    				PrivateDNSZone:       pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"),
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			EnableRBAC:        pulumi.Bool(true),
    			FqdnSubdomain:     pulumi.String("domain1"),
    			KubernetesVersion: pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAPIServerAccessProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableEncryptionAtHost(true)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .apiServerAccessProfile(ManagedClusterAPIServerAccessProfileArgs.builder()
                    .enablePrivateCluster(true)
                    .privateDNSZone("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .enableRBAC(true)
                .fqdnSubdomain("domain1")
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {},
        agentPoolProfiles: [{
            count: 3,
            enableEncryptionAtHost: true,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        apiServerAccessProfile: {
            enablePrivateCluster: true,
            privateDNSZone: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io",
        },
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        enableRBAC: true,
        fqdnSubdomain: "domain1",
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[{
            "count": 3,
            "enable_encryption_at_host": True,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        api_server_access_profile={
            "enable_private_cluster": True,
            "private_dns_zone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io",
        },
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        enable_rbac=True,
        fqdn_subdomain="domain1",
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableEncryptionAtHost: true
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          apiServerAccessProfile:
            enablePrivateCluster: true
            privateDNSZone: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          enableRBAC: true
          fqdnSubdomain: domain1
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create/Update AAD Managed Cluster with EnableAzureRBAC

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AadProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAADProfileArgs
            {
                EnableAzureRBAC = true,
                Managed = true,
            },
            AddonProfiles = null,
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    AvailabilityZones = new[]
                    {
                        "1",
                        "2",
                        "3",
                    },
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS1_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AadProfile: &containerservice.ManagedClusterAADProfileArgs{
    				EnableAzureRBAC: pulumi.Bool(true),
    				Managed:         pulumi.Bool(true),
    			},
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					AvailabilityZones: pulumi.StringArray{
    						pulumi.String("1"),
    						pulumi.String("2"),
    						pulumi.String("3"),
    					},
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS1_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAADProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .aadProfile(ManagedClusterAADProfileArgs.builder()
                    .enableAzureRBAC(true)
                    .managed(true)
                    .build())
                .addonProfiles(Map.ofEntries(
                ))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .availabilityZones(                
                        "1",
                        "2",
                        "3")
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS1_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        aadProfile: {
            enableAzureRBAC: true,
            managed: true,
        },
        addonProfiles: {},
        agentPoolProfiles: [{
            availabilityZones: [
                "1",
                "2",
                "3",
            ],
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS1_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        aad_profile={
            "enable_azure_rbac": True,
            "managed": True,
        },
        addon_profiles={},
        agent_pool_profiles=[{
            "availability_zones": [
                "1",
                "2",
                "3",
            ],
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS1_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          aadProfile:
            enableAzureRBAC: true
            managed: true
          addonProfiles: {}
          agentPoolProfiles:
            - availabilityZones:
                - '1'
                - '2'
                - '3'
              count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS1_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create/Update Managed Cluster with Azure Service Mesh

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var managedCluster = new AzureNative.ContainerService.ManagedCluster("managedCluster", new()
        {
            AddonProfiles = 
            {
                { "azureKeyvaultSecretsProvider", new AzureNative.ContainerService.Inputs.ManagedClusterAddonProfileArgs
                {
                    Config = 
                    {
                        { "enableSecretRotation", "true" },
                        { "rotationPollInterval", "2m" },
                    },
                    Enabled = true,
                } },
            },
            AgentPoolProfiles = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
                {
                    Count = 3,
                    EnableNodePublicIP = true,
                    Mode = AzureNative.ContainerService.AgentPoolMode.System,
                    Name = "nodepool1",
                    OsType = AzureNative.ContainerService.OSType.Linux,
                    Type = AzureNative.ContainerService.AgentPoolType.VirtualMachineScaleSets,
                    VmSize = "Standard_DS2_v2",
                },
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            DiskEncryptionSetID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnableRBAC = true,
            KubernetesVersion = "",
            LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
            {
                AdminUsername = "azureuser",
                Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                        {
                            KeyData = "keydata",
                        },
                    },
                },
            },
            Location = "location1",
            NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
            {
                LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
                {
                    ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                    {
                        Count = 2,
                    },
                },
                LoadBalancerSku = AzureNative.ContainerService.LoadBalancerSku.Standard,
                OutboundType = AzureNative.ContainerService.OutboundType.LoadBalancer,
            },
            ResourceGroupName = "rg1",
            ResourceName = "clustername1",
            ServiceMeshProfile = new AzureNative.ContainerService.Inputs.ServiceMeshProfileArgs
            {
                Istio = new AzureNative.ContainerService.Inputs.IstioServiceMeshArgs
                {
                    CertificateAuthority = new AzureNative.ContainerService.Inputs.IstioCertificateAuthorityArgs
                    {
                        Plugin = new AzureNative.ContainerService.Inputs.IstioPluginCertificateAuthorityArgs
                        {
                            CertChainObjectName = "cert-chain",
                            CertObjectName = "ca-cert",
                            KeyObjectName = "ca-key",
                            KeyVaultId = "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv",
                            RootCertObjectName = "root-cert",
                        },
                    },
                    Components = new AzureNative.ContainerService.Inputs.IstioComponentsArgs
                    {
                        EgressGateways = new[]
                        {
                            new AzureNative.ContainerService.Inputs.IstioEgressGatewayArgs
                            {
                                Enabled = true,
                                GatewayConfigurationName = "test-gateway-configuration",
                                Name = "test-istio-egress",
                            },
                        },
                        IngressGateways = new[]
                        {
                            new AzureNative.ContainerService.Inputs.IstioIngressGatewayArgs
                            {
                                Enabled = true,
                                Mode = AzureNative.ContainerService.IstioIngressGatewayMode.Internal,
                            },
                        },
                    },
                },
                Mode = AzureNative.ContainerService.ServiceMeshMode.Istio,
            },
            ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
            {
                ClientId = "clientid",
                Secret = "secret",
            },
            Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
            {
                Name = "Basic",
                Tier = AzureNative.ContainerService.ManagedClusterSKUTier.Free,
            },
            Tags = 
            {
                { "archv2", "" },
                { "tier", "production" },
            },
            WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
            {
                AdminPassword = "replacePassword1234$",
                AdminUsername = "azureuser",
            },
        });
    
    });
    
    package main
    
    import (
    	containerservice "github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := containerservice.NewManagedCluster(ctx, "managedCluster", &containerservice.ManagedClusterArgs{
    			AddonProfiles: containerservice.ManagedClusterAddonProfileMap{
    				"azureKeyvaultSecretsProvider": &containerservice.ManagedClusterAddonProfileArgs{
    					Config: pulumi.StringMap{
    						"enableSecretRotation": pulumi.String("true"),
    						"rotationPollInterval": pulumi.String("2m"),
    					},
    					Enabled: pulumi.Bool(true),
    				},
    			},
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					Mode:               pulumi.String(containerservice.AgentPoolModeSystem),
    					Name:               pulumi.String("nodepool1"),
    					OsType:             pulumi.String(containerservice.OSTypeLinux),
    					Type:               pulumi.String(containerservice.AgentPoolTypeVirtualMachineScaleSets),
    					VmSize:             pulumi.String("Standard_DS2_v2"),
    				},
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			DiskEncryptionSetID: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:           pulumi.String("dnsprefix1"),
    			EnableRBAC:          pulumi.Bool(true),
    			KubernetesVersion:   pulumi.String(""),
    			LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    				AdminUsername: pulumi.String("azureuser"),
    				Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    					PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    						&containerservice.ContainerServiceSshPublicKeyArgs{
    							KeyData: pulumi.String("keydata"),
    						},
    					},
    				},
    			},
    			Location: pulumi.String("location1"),
    			NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    				LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    					ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    						Count: pulumi.Int(2),
    					},
    				},
    				LoadBalancerSku: pulumi.String(containerservice.LoadBalancerSkuStandard),
    				OutboundType:    pulumi.String(containerservice.OutboundTypeLoadBalancer),
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			ResourceName:      pulumi.String("clustername1"),
    			ServiceMeshProfile: &containerservice.ServiceMeshProfileArgs{
    				Istio: &containerservice.IstioServiceMeshArgs{
    					CertificateAuthority: &containerservice.IstioCertificateAuthorityArgs{
    						Plugin: &containerservice.IstioPluginCertificateAuthorityArgs{
    							CertChainObjectName: pulumi.String("cert-chain"),
    							CertObjectName:      pulumi.String("ca-cert"),
    							KeyObjectName:       pulumi.String("ca-key"),
    							KeyVaultId:          pulumi.String("/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv"),
    							RootCertObjectName:  pulumi.String("root-cert"),
    						},
    					},
    					Components: &containerservice.IstioComponentsArgs{
    						EgressGateways: containerservice.IstioEgressGatewayArray{
    							&containerservice.IstioEgressGatewayArgs{
    								Enabled:                  pulumi.Bool(true),
    								GatewayConfigurationName: pulumi.String("test-gateway-configuration"),
    								Name:                     pulumi.String("test-istio-egress"),
    							},
    						},
    						IngressGateways: containerservice.IstioIngressGatewayArray{
    							&containerservice.IstioIngressGatewayArgs{
    								Enabled: pulumi.Bool(true),
    								Mode:    pulumi.String(containerservice.IstioIngressGatewayModeInternal),
    							},
    						},
    					},
    				},
    				Mode: pulumi.String(containerservice.ServiceMeshModeIstio),
    			},
    			ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    				ClientId: pulumi.String("clientid"),
    				Secret:   pulumi.String("secret"),
    			},
    			Sku: &containerservice.ManagedClusterSKUArgs{
    				Name: pulumi.String("Basic"),
    				Tier: pulumi.String(containerservice.ManagedClusterSKUTierFree),
    			},
    			Tags: pulumi.StringMap{
    				"archv2": pulumi.String(""),
    				"tier":   pulumi.String("production"),
    			},
    			WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    				AdminPassword: pulumi.String("replacePassword1234$"),
    				AdminUsername: pulumi.String("azureuser"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.containerservice.ManagedCluster;
    import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterAgentPoolProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterPropertiesAutoScalerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceLinuxProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceSshConfigurationArgs;
    import com.pulumi.azurenative.containerservice.inputs.ContainerServiceNetworkProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ServiceMeshProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.IstioServiceMeshArgs;
    import com.pulumi.azurenative.containerservice.inputs.IstioCertificateAuthorityArgs;
    import com.pulumi.azurenative.containerservice.inputs.IstioPluginCertificateAuthorityArgs;
    import com.pulumi.azurenative.containerservice.inputs.IstioComponentsArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterServicePrincipalProfileArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterSKUArgs;
    import com.pulumi.azurenative.containerservice.inputs.ManagedClusterWindowsProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()
                .addonProfiles(Map.of("azureKeyvaultSecretsProvider", ManagedClusterAddonProfileArgs.builder()
                    .config(Map.ofEntries(
                        Map.entry("enableSecretRotation", "true"),
                        Map.entry("rotationPollInterval", "2m")
                    ))
                    .enabled(true)
                    .build()))
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enableRBAC(true)
                .kubernetesVersion("")
                .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
                    .adminUsername("azureuser")
                    .ssh(ContainerServiceSshConfigurationArgs.builder()
                        .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                            .keyData("keydata")
                            .build())
                        .build())
                    .build())
                .location("location1")
                .networkProfile(ContainerServiceNetworkProfileArgs.builder()
                    .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                        .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                            .count(2)
                            .build())
                        .build())
                    .loadBalancerSku("standard")
                    .outboundType("loadBalancer")
                    .build())
                .resourceGroupName("rg1")
                .resourceName("clustername1")
                .serviceMeshProfile(ServiceMeshProfileArgs.builder()
                    .istio(IstioServiceMeshArgs.builder()
                        .certificateAuthority(IstioCertificateAuthorityArgs.builder()
                            .plugin(IstioPluginCertificateAuthorityArgs.builder()
                                .certChainObjectName("cert-chain")
                                .certObjectName("ca-cert")
                                .keyObjectName("ca-key")
                                .keyVaultId("/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv")
                                .rootCertObjectName("root-cert")
                                .build())
                            .build())
                        .components(IstioComponentsArgs.builder()
                            .egressGateways(IstioEgressGatewayArgs.builder()
                                .enabled(true)
                                .gatewayConfigurationName("test-gateway-configuration")
                                .name("test-istio-egress")
                                .build())
                            .ingressGateways(IstioIngressGatewayArgs.builder()
                                .enabled(true)
                                .mode("Internal")
                                .build())
                            .build())
                        .build())
                    .mode("Istio")
                    .build())
                .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
                    .clientId("clientid")
                    .secret("secret")
                    .build())
                .sku(ManagedClusterSKUArgs.builder()
                    .name("Basic")
                    .tier("Free")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("archv2", ""),
                    Map.entry("tier", "production")
                ))
                .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
                    .adminPassword("replacePassword1234$")
                    .adminUsername("azureuser")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const managedCluster = new azure_native.containerservice.ManagedCluster("managedCluster", {
        addonProfiles: {
            azureKeyvaultSecretsProvider: {
                config: {
                    enableSecretRotation: "true",
                    rotationPollInterval: "2m",
                },
                enabled: true,
            },
        },
        agentPoolProfiles: [{
            count: 3,
            enableNodePublicIP: true,
            mode: azure_native.containerservice.AgentPoolMode.System,
            name: "nodepool1",
            osType: azure_native.containerservice.OSType.Linux,
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enableRBAC: true,
        kubernetesVersion: "",
        linuxProfile: {
            adminUsername: "azureuser",
            ssh: {
                publicKeys: [{
                    keyData: "keydata",
                }],
            },
        },
        location: "location1",
        networkProfile: {
            loadBalancerProfile: {
                managedOutboundIPs: {
                    count: 2,
                },
            },
            loadBalancerSku: azure_native.containerservice.LoadBalancerSku.Standard,
            outboundType: azure_native.containerservice.OutboundType.LoadBalancer,
        },
        resourceGroupName: "rg1",
        resourceName: "clustername1",
        serviceMeshProfile: {
            istio: {
                certificateAuthority: {
                    plugin: {
                        certChainObjectName: "cert-chain",
                        certObjectName: "ca-cert",
                        keyObjectName: "ca-key",
                        keyVaultId: "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv",
                        rootCertObjectName: "root-cert",
                    },
                },
                components: {
                    egressGateways: [{
                        enabled: true,
                        gatewayConfigurationName: "test-gateway-configuration",
                        name: "test-istio-egress",
                    }],
                    ingressGateways: [{
                        enabled: true,
                        mode: azure_native.containerservice.IstioIngressGatewayMode.Internal,
                    }],
                },
            },
            mode: azure_native.containerservice.ServiceMeshMode.Istio,
        },
        servicePrincipalProfile: {
            clientId: "clientid",
            secret: "secret",
        },
        sku: {
            name: "Basic",
            tier: azure_native.containerservice.ManagedClusterSKUTier.Free,
        },
        tags: {
            archv2: "",
            tier: "production",
        },
        windowsProfile: {
            adminPassword: "replacePassword1234$",
            adminUsername: "azureuser",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={
            "azureKeyvaultSecretsProvider": {
                "config": {
                    "enableSecretRotation": "true",
                    "rotationPollInterval": "2m",
                },
                "enabled": True,
            },
        },
        agent_pool_profiles=[{
            "count": 3,
            "enable_node_public_ip": True,
            "mode": azure_native.containerservice.AgentPoolMode.SYSTEM,
            "name": "nodepool1",
            "os_type": azure_native.containerservice.OSType.LINUX,
            "type": azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            "vm_size": "Standard_DS2_v2",
        }],
        auto_scaler_profile={
            "scale_down_delay_after_add": "15m",
            "scan_interval": "20s",
        },
        disk_encryption_set_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_rbac=True,
        kubernetes_version="",
        linux_profile={
            "admin_username": "azureuser",
            "ssh": {
                "public_keys": [{
                    "key_data": "keydata",
                }],
            },
        },
        location="location1",
        network_profile={
            "load_balancer_profile": {
                "managed_outbound_ips": {
                    "count": 2,
                },
            },
            "load_balancer_sku": azure_native.containerservice.LoadBalancerSku.STANDARD,
            "outbound_type": azure_native.containerservice.OutboundType.LOAD_BALANCER,
        },
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_mesh_profile={
            "istio": {
                "certificate_authority": {
                    "plugin": {
                        "cert_chain_object_name": "cert-chain",
                        "cert_object_name": "ca-cert",
                        "key_object_name": "ca-key",
                        "key_vault_id": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv",
                        "root_cert_object_name": "root-cert",
                    },
                },
                "components": {
                    "egress_gateways": [{
                        "enabled": True,
                        "gateway_configuration_name": "test-gateway-configuration",
                        "name": "test-istio-egress",
                    }],
                    "ingress_gateways": [{
                        "enabled": True,
                        "mode": azure_native.containerservice.IstioIngressGatewayMode.INTERNAL,
                    }],
                },
            },
            "mode": azure_native.containerservice.ServiceMeshMode.ISTIO,
        },
        service_principal_profile={
            "client_id": "clientid",
            "secret": "secret",
        },
        sku={
            "name": "Basic",
            "tier": azure_native.containerservice.ManagedClusterSKUTier.FREE,
        },
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile={
            "admin_password": "replacePassword1234$",
            "admin_username": "azureuser",
        })
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles:
            azureKeyvaultSecretsProvider:
              config:
                enableSecretRotation: 'true'
                rotationPollInterval: 2m
              enabled: true
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enableRBAC: true
          kubernetesVersion: ""
          linuxProfile:
            adminUsername: azureuser
            ssh:
              publicKeys:
                - keyData: keydata
          location: location1
          networkProfile:
            loadBalancerProfile:
              managedOutboundIPs:
                count: 2
            loadBalancerSku: standard
            outboundType: loadBalancer
          resourceGroupName: rg1
          resourceName: clustername1
          serviceMeshProfile:
            istio:
              certificateAuthority:
                plugin:
                  certChainObjectName: cert-chain
                  certObjectName: ca-cert
                  keyObjectName: ca-key
                  keyVaultId: /subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv
                  rootCertObjectName: root-cert
              components:
                egressGateways:
                  - enabled: true
                    gatewayConfigurationName: test-gateway-configuration
                    name: test-istio-egress
                ingressGateways:
                  - enabled: true
                    mode: Internal
            mode: Istio
          servicePrincipalProfile:
            clientId: clientid
            secret: secret
          sku:
            name: Basic
            tier: Free
          tags:
            archv2: ""
            tier: production
          windowsProfile:
            adminPassword: replacePassword1234$
            adminUsername: azureuser
    

    Create ManagedCluster Resource

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

    Constructor syntax

    new ManagedCluster(name: string, args: ManagedClusterArgs, opts?: CustomResourceOptions);
    @overload
    def ManagedCluster(resource_name: str,
                       args: ManagedClusterArgs,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def ManagedCluster(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       resource_group_name: Optional[str] = None,
                       location: Optional[str] = None,
                       metrics_profile: Optional[ManagedClusterMetricsProfileArgs] = None,
                       ai_toolchain_operator_profile: Optional[ManagedClusterAIToolchainOperatorProfileArgs] = None,
                       api_server_access_profile: Optional[ManagedClusterAPIServerAccessProfileArgs] = None,
                       auto_scaler_profile: Optional[ManagedClusterPropertiesAutoScalerProfileArgs] = None,
                       auto_upgrade_profile: Optional[ManagedClusterAutoUpgradeProfileArgs] = None,
                       azure_monitor_profile: Optional[ManagedClusterAzureMonitorProfileArgs] = None,
                       bootstrap_profile: Optional[ManagedClusterBootstrapProfileArgs] = None,
                       disable_local_accounts: Optional[bool] = None,
                       disk_encryption_set_id: Optional[str] = None,
                       dns_prefix: Optional[str] = None,
                       enable_rbac: Optional[bool] = None,
                       extended_location: Optional[ExtendedLocationArgs] = None,
                       fqdn_subdomain: Optional[str] = None,
                       http_proxy_config: Optional[ManagedClusterHTTPProxyConfigArgs] = None,
                       identity: Optional[ManagedClusterIdentityArgs] = None,
                       identity_profile: Optional[Mapping[str, UserAssignedIdentityArgs]] = None,
                       aad_profile: Optional[ManagedClusterAADProfileArgs] = None,
                       kind: Optional[str] = None,
                       kubernetes_version: Optional[str] = None,
                       agent_pool_profiles: Optional[Sequence[ManagedClusterAgentPoolProfileArgs]] = None,
                       linux_profile: Optional[ContainerServiceLinuxProfileArgs] = None,
                       ingress_profile: Optional[ManagedClusterIngressProfileArgs] = None,
                       network_profile: Optional[ContainerServiceNetworkProfileArgs] = None,
                       node_provisioning_profile: Optional[ManagedClusterNodeProvisioningProfileArgs] = None,
                       node_resource_group: Optional[str] = None,
                       node_resource_group_profile: Optional[ManagedClusterNodeResourceGroupProfileArgs] = None,
                       oidc_issuer_profile: Optional[ManagedClusterOIDCIssuerProfileArgs] = None,
                       pod_identity_profile: Optional[ManagedClusterPodIdentityProfileArgs] = None,
                       private_link_resources: Optional[Sequence[PrivateLinkResourceArgs]] = None,
                       public_network_access: Optional[Union[str, PublicNetworkAccess]] = None,
                       addon_profiles: Optional[Mapping[str, ManagedClusterAddonProfileArgs]] = None,
                       resource_name_: Optional[str] = None,
                       security_profile: Optional[ManagedClusterSecurityProfileArgs] = None,
                       service_mesh_profile: Optional[ServiceMeshProfileArgs] = None,
                       service_principal_profile: Optional[ManagedClusterServicePrincipalProfileArgs] = None,
                       sku: Optional[ManagedClusterSKUArgs] = None,
                       storage_profile: Optional[ManagedClusterStorageProfileArgs] = None,
                       support_plan: Optional[Union[str, KubernetesSupportPlan]] = None,
                       tags: Optional[Mapping[str, str]] = None,
                       upgrade_settings: Optional[ClusterUpgradeSettingsArgs] = None,
                       windows_profile: Optional[ManagedClusterWindowsProfileArgs] = None,
                       workload_auto_scaler_profile: Optional[ManagedClusterWorkloadAutoScalerProfileArgs] = None)
    func NewManagedCluster(ctx *Context, name string, args ManagedClusterArgs, opts ...ResourceOption) (*ManagedCluster, error)
    public ManagedCluster(string name, ManagedClusterArgs args, CustomResourceOptions? opts = null)
    public ManagedCluster(String name, ManagedClusterArgs args)
    public ManagedCluster(String name, ManagedClusterArgs args, CustomResourceOptions options)
    
    type: azure-native:containerservice:ManagedCluster
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "azure-native_containerservice_managedcluster" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args ManagedClusterArgs
    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 ManagedClusterArgs
    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 ManagedClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ManagedClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ManagedClusterArgs
    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 managedClusterResource = new AzureNative.ContainerService.ManagedCluster("managedClusterResource", new()
    {
        ResourceGroupName = "string",
        Location = "string",
        MetricsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterMetricsProfileArgs
        {
            CostAnalysis = new AzureNative.ContainerService.Inputs.ManagedClusterCostAnalysisArgs
            {
                Enabled = false,
            },
        },
        AiToolchainOperatorProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAIToolchainOperatorProfileArgs
        {
            Enabled = false,
        },
        ApiServerAccessProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAPIServerAccessProfileArgs
        {
            AuthorizedIPRanges = new[]
            {
                "string",
            },
            DisableRunCommand = false,
            EnablePrivateCluster = false,
            EnablePrivateClusterPublicFQDN = false,
            EnableVnetIntegration = false,
            PrivateDNSZone = "string",
            SubnetId = "string",
        },
        AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
        {
            BalanceSimilarNodeGroups = "string",
            DaemonsetEvictionForEmptyNodes = false,
            DaemonsetEvictionForOccupiedNodes = false,
            Expander = "string",
            IgnoreDaemonsetsUtilization = false,
            MaxEmptyBulkDelete = "string",
            MaxGracefulTerminationSec = "string",
            MaxNodeProvisionTime = "string",
            MaxTotalUnreadyPercentage = "string",
            NewPodScaleUpDelay = "string",
            OkTotalUnreadyCount = "string",
            ScaleDownDelayAfterAdd = "string",
            ScaleDownDelayAfterDelete = "string",
            ScaleDownDelayAfterFailure = "string",
            ScaleDownUnneededTime = "string",
            ScaleDownUnreadyTime = "string",
            ScaleDownUtilizationThreshold = "string",
            ScanInterval = "string",
            SkipNodesWithLocalStorage = "string",
            SkipNodesWithSystemPods = "string",
        },
        AutoUpgradeProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAutoUpgradeProfileArgs
        {
            NodeOSUpgradeChannel = "string",
            UpgradeChannel = "string",
        },
        AzureMonitorProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAzureMonitorProfileArgs
        {
            Metrics = new AzureNative.ContainerService.Inputs.ManagedClusterAzureMonitorProfileMetricsArgs
            {
                Enabled = false,
                KubeStateMetrics = new AzureNative.ContainerService.Inputs.ManagedClusterAzureMonitorProfileKubeStateMetricsArgs
                {
                    MetricAnnotationsAllowList = "string",
                    MetricLabelsAllowlist = "string",
                },
            },
        },
        BootstrapProfile = new AzureNative.ContainerService.Inputs.ManagedClusterBootstrapProfileArgs
        {
            ArtifactSource = "string",
            ContainerRegistryId = "string",
        },
        DisableLocalAccounts = false,
        DiskEncryptionSetID = "string",
        DnsPrefix = "string",
        EnableRBAC = false,
        ExtendedLocation = new AzureNative.ContainerService.Inputs.ExtendedLocationArgs
        {
            Name = "string",
            Type = "string",
        },
        FqdnSubdomain = "string",
        HttpProxyConfig = new AzureNative.ContainerService.Inputs.ManagedClusterHTTPProxyConfigArgs
        {
            HttpProxy = "string",
            HttpsProxy = "string",
            NoProxy = new[]
            {
                "string",
            },
            TrustedCa = "string",
        },
        Identity = new AzureNative.ContainerService.Inputs.ManagedClusterIdentityArgs
        {
            DelegatedResources = 
            {
                { "string", new AzureNative.ContainerService.Inputs.DelegatedResourceArgs
                {
                    Location = "string",
                    ReferralResource = "string",
                    ResourceId = "string",
                    TenantId = "string",
                } },
            },
            Type = AzureNative.ContainerService.ResourceIdentityType.SystemAssigned,
            UserAssignedIdentities = new[]
            {
                "string",
            },
        },
        IdentityProfile = 
        {
            { "string", new AzureNative.ContainerService.Inputs.UserAssignedIdentityArgs
            {
                ClientId = "string",
                ObjectId = "string",
                ResourceId = "string",
            } },
        },
        AadProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAADProfileArgs
        {
            AdminGroupObjectIDs = new[]
            {
                "string",
            },
            ClientAppID = "string",
            EnableAzureRBAC = false,
            Managed = false,
            ServerAppID = "string",
            ServerAppSecret = "string",
            TenantID = "string",
        },
        Kind = "string",
        KubernetesVersion = "string",
        AgentPoolProfiles = new[]
        {
            new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
            {
                Name = "string",
                AvailabilityZones = new[]
                {
                    "string",
                },
                CapacityReservationGroupID = "string",
                Count = 0,
                CreationData = new AzureNative.ContainerService.Inputs.CreationDataArgs
                {
                    SourceResourceId = "string",
                },
                EnableAutoScaling = false,
                EnableEncryptionAtHost = false,
                EnableFIPS = false,
                EnableNodePublicIP = false,
                EnableUltraSSD = false,
                GatewayProfile = new AzureNative.ContainerService.Inputs.AgentPoolGatewayProfileArgs
                {
                    PublicIPPrefixSize = 0,
                },
                GpuInstanceProfile = "string",
                GpuProfile = new AzureNative.ContainerService.Inputs.GPUProfileArgs
                {
                    Driver = "string",
                },
                HostGroupID = "string",
                KubeletConfig = new AzureNative.ContainerService.Inputs.KubeletConfigArgs
                {
                    AllowedUnsafeSysctls = new[]
                    {
                        "string",
                    },
                    ContainerLogMaxFiles = 0,
                    ContainerLogMaxSizeMB = 0,
                    CpuCfsQuota = false,
                    CpuCfsQuotaPeriod = "string",
                    CpuManagerPolicy = "string",
                    FailSwapOn = false,
                    ImageGcHighThreshold = 0,
                    ImageGcLowThreshold = 0,
                    PodMaxPids = 0,
                    TopologyManagerPolicy = "string",
                },
                KubeletDiskType = "string",
                LinuxOSConfig = new AzureNative.ContainerService.Inputs.LinuxOSConfigArgs
                {
                    SwapFileSizeMB = 0,
                    Sysctls = new AzureNative.ContainerService.Inputs.SysctlConfigArgs
                    {
                        FsAioMaxNr = 0,
                        FsFileMax = 0,
                        FsInotifyMaxUserWatches = 0,
                        FsNrOpen = 0,
                        KernelThreadsMax = 0,
                        NetCoreNetdevMaxBacklog = 0,
                        NetCoreOptmemMax = 0,
                        NetCoreRmemDefault = 0,
                        NetCoreRmemMax = 0,
                        NetCoreSomaxconn = 0,
                        NetCoreWmemDefault = 0,
                        NetCoreWmemMax = 0,
                        NetIpv4IpLocalPortRange = "string",
                        NetIpv4NeighDefaultGcThresh1 = 0,
                        NetIpv4NeighDefaultGcThresh2 = 0,
                        NetIpv4NeighDefaultGcThresh3 = 0,
                        NetIpv4TcpFinTimeout = 0,
                        NetIpv4TcpKeepaliveProbes = 0,
                        NetIpv4TcpKeepaliveTime = 0,
                        NetIpv4TcpMaxSynBacklog = 0,
                        NetIpv4TcpMaxTwBuckets = 0,
                        NetIpv4TcpTwReuse = false,
                        NetIpv4TcpkeepaliveIntvl = 0,
                        NetNetfilterNfConntrackBuckets = 0,
                        NetNetfilterNfConntrackMax = 0,
                        VmMaxMapCount = 0,
                        VmSwappiness = 0,
                        VmVfsCachePressure = 0,
                    },
                    TransparentHugePageDefrag = "string",
                    TransparentHugePageEnabled = "string",
                },
                LocalDNSProfile = new AzureNative.ContainerService.Inputs.LocalDNSProfileArgs
                {
                    KubeDNSOverrides = 
                    {
                        { "string", new AzureNative.ContainerService.Inputs.LocalDNSOverrideArgs
                        {
                            CacheDurationInSeconds = 0,
                            ForwardDestination = "string",
                            ForwardPolicy = "string",
                            MaxConcurrent = 0,
                            Protocol = "string",
                            QueryLogging = "string",
                            ServeStale = "string",
                            ServeStaleDurationInSeconds = 0,
                        } },
                    },
                    Mode = "string",
                    VnetDNSOverrides = 
                    {
                        { "string", new AzureNative.ContainerService.Inputs.LocalDNSOverrideArgs
                        {
                            CacheDurationInSeconds = 0,
                            ForwardDestination = "string",
                            ForwardPolicy = "string",
                            MaxConcurrent = 0,
                            Protocol = "string",
                            QueryLogging = "string",
                            ServeStale = "string",
                            ServeStaleDurationInSeconds = 0,
                        } },
                    },
                },
                MaxCount = 0,
                MaxPods = 0,
                MessageOfTheDay = "string",
                MinCount = 0,
                Mode = "string",
                NetworkProfile = new AzureNative.ContainerService.Inputs.AgentPoolNetworkProfileArgs
                {
                    AllowedHostPorts = new[]
                    {
                        new AzureNative.ContainerService.Inputs.PortRangeArgs
                        {
                            PortEnd = 0,
                            PortStart = 0,
                            Protocol = "string",
                        },
                    },
                    ApplicationSecurityGroups = new[]
                    {
                        "string",
                    },
                    NodePublicIPTags = new[]
                    {
                        new AzureNative.ContainerService.Inputs.IPTagArgs
                        {
                            IpTagType = "string",
                            Tag = "string",
                        },
                    },
                },
                NodeLabels = 
                {
                    { "string", "string" },
                },
                NodePublicIPPrefixID = "string",
                NodeTaints = new[]
                {
                    "string",
                },
                OrchestratorVersion = "string",
                OsDiskSizeGB = 0,
                OsDiskType = "string",
                OsSKU = "string",
                OsType = "string",
                PodIPAllocationMode = "string",
                PodSubnetID = "string",
                PowerState = new AzureNative.ContainerService.Inputs.PowerStateArgs
                {
                    Code = "string",
                },
                ProximityPlacementGroupID = "string",
                ScaleDownMode = "string",
                ScaleSetEvictionPolicy = "string",
                ScaleSetPriority = "string",
                SecurityProfile = new AzureNative.ContainerService.Inputs.AgentPoolSecurityProfileArgs
                {
                    EnableSecureBoot = false,
                    EnableVTPM = false,
                    SshAccess = "string",
                },
                SpotMaxPrice = 0,
                Tags = 
                {
                    { "string", "string" },
                },
                Type = "string",
                UpgradeSettings = new AzureNative.ContainerService.Inputs.AgentPoolUpgradeSettingsArgs
                {
                    DrainTimeoutInMinutes = 0,
                    MaxSurge = "string",
                    MaxUnavailable = "string",
                    NodeSoakDurationInMinutes = 0,
                    UndrainableNodeBehavior = "string",
                },
                VirtualMachineNodesStatus = new[]
                {
                    new AzureNative.ContainerService.Inputs.VirtualMachineNodesArgs
                    {
                        Count = 0,
                        Size = "string",
                    },
                },
                VirtualMachinesProfile = new AzureNative.ContainerService.Inputs.VirtualMachinesProfileArgs
                {
                    Scale = new AzureNative.ContainerService.Inputs.ScaleProfileArgs
                    {
                        Manual = new[]
                        {
                            new AzureNative.ContainerService.Inputs.ManualScaleProfileArgs
                            {
                                Count = 0,
                                Size = "string",
                            },
                        },
                    },
                },
                VmSize = "string",
                VnetSubnetID = "string",
                WindowsProfile = new AzureNative.ContainerService.Inputs.AgentPoolWindowsProfileArgs
                {
                    DisableOutboundNat = false,
                },
                WorkloadRuntime = "string",
            },
        },
        LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
        {
            AdminUsername = "string",
            Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
            {
                PublicKeys = new[]
                {
                    new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                    {
                        KeyData = "string",
                    },
                },
            },
        },
        IngressProfile = new AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileArgs
        {
            WebAppRouting = new AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileWebAppRoutingArgs
            {
                DnsZoneResourceIds = new[]
                {
                    "string",
                },
                Enabled = false,
                Nginx = new AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileNginxArgs
                {
                    DefaultIngressControllerType = "string",
                },
            },
        },
        NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
        {
            AdvancedNetworking = new AzureNative.ContainerService.Inputs.AdvancedNetworkingArgs
            {
                Enabled = false,
                Observability = new AzureNative.ContainerService.Inputs.AdvancedNetworkingObservabilityArgs
                {
                    Enabled = false,
                },
                Security = new AzureNative.ContainerService.Inputs.AdvancedNetworkingSecurityArgs
                {
                    AdvancedNetworkPolicies = "string",
                    Enabled = false,
                },
            },
            DnsServiceIP = "string",
            IpFamilies = new[]
            {
                "string",
            },
            LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
            {
                AllocatedOutboundPorts = 0,
                BackendPoolType = "string",
                EnableMultipleStandardLoadBalancers = false,
                IdleTimeoutInMinutes = 0,
                ManagedOutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs
                {
                    Count = 0,
                    CountIPv6 = 0,
                },
                OutboundIPPrefixes = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs
                {
                    PublicIPPrefixes = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ResourceReferenceArgs
                        {
                            Id = "string",
                        },
                    },
                },
                OutboundIPs = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileOutboundIPsArgs
                {
                    PublicIPs = new[]
                    {
                        new AzureNative.ContainerService.Inputs.ResourceReferenceArgs
                        {
                            Id = "string",
                        },
                    },
                },
            },
            LoadBalancerSku = "string",
            NatGatewayProfile = new AzureNative.ContainerService.Inputs.ManagedClusterNATGatewayProfileArgs
            {
                IdleTimeoutInMinutes = 0,
                ManagedOutboundIPProfile = new AzureNative.ContainerService.Inputs.ManagedClusterManagedOutboundIPProfileArgs
                {
                    Count = 0,
                },
            },
            NetworkDataplane = "string",
            NetworkMode = "string",
            NetworkPlugin = "string",
            NetworkPluginMode = "string",
            NetworkPolicy = "string",
            OutboundType = "string",
            PodCidr = "string",
            PodCidrs = new[]
            {
                "string",
            },
            ServiceCidr = "string",
            ServiceCidrs = new[]
            {
                "string",
            },
            StaticEgressGatewayProfile = new AzureNative.ContainerService.Inputs.ManagedClusterStaticEgressGatewayProfileArgs
            {
                Enabled = false,
            },
        },
        NodeProvisioningProfile = new AzureNative.ContainerService.Inputs.ManagedClusterNodeProvisioningProfileArgs
        {
            DefaultNodePools = "string",
            Mode = "string",
        },
        NodeResourceGroup = "string",
        NodeResourceGroupProfile = new AzureNative.ContainerService.Inputs.ManagedClusterNodeResourceGroupProfileArgs
        {
            RestrictionLevel = "string",
        },
        OidcIssuerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterOIDCIssuerProfileArgs
        {
            Enabled = false,
        },
        PodIdentityProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityProfileArgs
        {
            AllowNetworkPluginKubenet = false,
            Enabled = false,
            UserAssignedIdentities = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityArgs
                {
                    Identity = new AzureNative.ContainerService.Inputs.UserAssignedIdentityArgs
                    {
                        ClientId = "string",
                        ObjectId = "string",
                        ResourceId = "string",
                    },
                    Name = "string",
                    Namespace = "string",
                    BindingSelector = "string",
                },
            },
            UserAssignedIdentityExceptions = new[]
            {
                new AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityExceptionArgs
                {
                    Name = "string",
                    Namespace = "string",
                    PodLabels = 
                    {
                        { "string", "string" },
                    },
                },
            },
        },
        PrivateLinkResources = new[]
        {
            new AzureNative.ContainerService.Inputs.PrivateLinkResourceArgs
            {
                GroupId = "string",
                Id = "string",
                Name = "string",
                RequiredMembers = new[]
                {
                    "string",
                },
                Type = "string",
            },
        },
        PublicNetworkAccess = "string",
        AddonProfiles = 
        {
            { "string", new AzureNative.ContainerService.Inputs.ManagedClusterAddonProfileArgs
            {
                Enabled = false,
                Config = 
                {
                    { "string", "string" },
                },
            } },
        },
        ResourceName = "string",
        SecurityProfile = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileArgs
        {
            AzureKeyVaultKms = new AzureNative.ContainerService.Inputs.AzureKeyVaultKmsArgs
            {
                Enabled = false,
                KeyId = "string",
                KeyVaultNetworkAccess = "string",
                KeyVaultResourceId = "string",
            },
            CustomCATrustCertificates = new[]
            {
                "string",
            },
            Defender = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileDefenderArgs
            {
                LogAnalyticsWorkspaceResourceId = "string",
                SecurityMonitoring = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs
                {
                    Enabled = false,
                },
            },
            ImageCleaner = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileImageCleanerArgs
            {
                Enabled = false,
                IntervalHours = 0,
            },
            WorkloadIdentity = new AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileWorkloadIdentityArgs
            {
                Enabled = false,
            },
        },
        ServiceMeshProfile = new AzureNative.ContainerService.Inputs.ServiceMeshProfileArgs
        {
            Mode = "string",
            Istio = new AzureNative.ContainerService.Inputs.IstioServiceMeshArgs
            {
                CertificateAuthority = new AzureNative.ContainerService.Inputs.IstioCertificateAuthorityArgs
                {
                    Plugin = new AzureNative.ContainerService.Inputs.IstioPluginCertificateAuthorityArgs
                    {
                        CertChainObjectName = "string",
                        CertObjectName = "string",
                        KeyObjectName = "string",
                        KeyVaultId = "string",
                        RootCertObjectName = "string",
                    },
                },
                Components = new AzureNative.ContainerService.Inputs.IstioComponentsArgs
                {
                    EgressGateways = new[]
                    {
                        new AzureNative.ContainerService.Inputs.IstioEgressGatewayArgs
                        {
                            Enabled = false,
                            Name = "string",
                            GatewayConfigurationName = "string",
                            Namespace = "string",
                        },
                    },
                    IngressGateways = new[]
                    {
                        new AzureNative.ContainerService.Inputs.IstioIngressGatewayArgs
                        {
                            Enabled = false,
                            Mode = "string",
                        },
                    },
                },
                Revisions = new[]
                {
                    "string",
                },
            },
        },
        ServicePrincipalProfile = new AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfileArgs
        {
            ClientId = "string",
            Secret = "string",
        },
        Sku = new AzureNative.ContainerService.Inputs.ManagedClusterSKUArgs
        {
            Name = "string",
            Tier = "string",
        },
        StorageProfile = new AzureNative.ContainerService.Inputs.ManagedClusterStorageProfileArgs
        {
            BlobCSIDriver = new AzureNative.ContainerService.Inputs.ManagedClusterStorageProfileBlobCSIDriverArgs
            {
                Enabled = false,
            },
            DiskCSIDriver = new AzureNative.ContainerService.Inputs.ManagedClusterStorageProfileDiskCSIDriverArgs
            {
                Enabled = false,
            },
            FileCSIDriver = new AzureNative.ContainerService.Inputs.ManagedClusterStorageProfileFileCSIDriverArgs
            {
                Enabled = false,
            },
            SnapshotController = new AzureNative.ContainerService.Inputs.ManagedClusterStorageProfileSnapshotControllerArgs
            {
                Enabled = false,
            },
        },
        SupportPlan = "string",
        Tags = 
        {
            { "string", "string" },
        },
        UpgradeSettings = new AzureNative.ContainerService.Inputs.ClusterUpgradeSettingsArgs
        {
            OverrideSettings = new AzureNative.ContainerService.Inputs.UpgradeOverrideSettingsArgs
            {
                ForceUpgrade = false,
                Until = "string",
            },
        },
        WindowsProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfileArgs
        {
            AdminUsername = "string",
            AdminPassword = "string",
            EnableCSIProxy = false,
            GmsaProfile = new AzureNative.ContainerService.Inputs.WindowsGmsaProfileArgs
            {
                DnsServer = "string",
                Enabled = false,
                RootDomainName = "string",
            },
            LicenseType = "string",
        },
        WorkloadAutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWorkloadAutoScalerProfileArgs
        {
            Keda = new AzureNative.ContainerService.Inputs.ManagedClusterWorkloadAutoScalerProfileKedaArgs
            {
                Enabled = false,
            },
            VerticalPodAutoscaler = new AzureNative.ContainerService.Inputs.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs
            {
                Enabled = false,
            },
        },
    });
    
    example, err := containerservice.NewManagedCluster(ctx, "managedClusterResource", &containerservice.ManagedClusterArgs{
    	ResourceGroupName: pulumi.String("string"),
    	Location:          pulumi.String("string"),
    	MetricsProfile: &containerservice.ManagedClusterMetricsProfileArgs{
    		CostAnalysis: &containerservice.ManagedClusterCostAnalysisArgs{
    			Enabled: pulumi.Bool(false),
    		},
    	},
    	AiToolchainOperatorProfile: &containerservice.ManagedClusterAIToolchainOperatorProfileArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	ApiServerAccessProfile: &containerservice.ManagedClusterAPIServerAccessProfileArgs{
    		AuthorizedIPRanges: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		DisableRunCommand:              pulumi.Bool(false),
    		EnablePrivateCluster:           pulumi.Bool(false),
    		EnablePrivateClusterPublicFQDN: pulumi.Bool(false),
    		EnableVnetIntegration:          pulumi.Bool(false),
    		PrivateDNSZone:                 pulumi.String("string"),
    		SubnetId:                       pulumi.String("string"),
    	},
    	AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    		BalanceSimilarNodeGroups:          pulumi.String("string"),
    		DaemonsetEvictionForEmptyNodes:    pulumi.Bool(false),
    		DaemonsetEvictionForOccupiedNodes: pulumi.Bool(false),
    		Expander:                          pulumi.String("string"),
    		IgnoreDaemonsetsUtilization:       pulumi.Bool(false),
    		MaxEmptyBulkDelete:                pulumi.String("string"),
    		MaxGracefulTerminationSec:         pulumi.String("string"),
    		MaxNodeProvisionTime:              pulumi.String("string"),
    		MaxTotalUnreadyPercentage:         pulumi.String("string"),
    		NewPodScaleUpDelay:                pulumi.String("string"),
    		OkTotalUnreadyCount:               pulumi.String("string"),
    		ScaleDownDelayAfterAdd:            pulumi.String("string"),
    		ScaleDownDelayAfterDelete:         pulumi.String("string"),
    		ScaleDownDelayAfterFailure:        pulumi.String("string"),
    		ScaleDownUnneededTime:             pulumi.String("string"),
    		ScaleDownUnreadyTime:              pulumi.String("string"),
    		ScaleDownUtilizationThreshold:     pulumi.String("string"),
    		ScanInterval:                      pulumi.String("string"),
    		SkipNodesWithLocalStorage:         pulumi.String("string"),
    		SkipNodesWithSystemPods:           pulumi.String("string"),
    	},
    	AutoUpgradeProfile: &containerservice.ManagedClusterAutoUpgradeProfileArgs{
    		NodeOSUpgradeChannel: pulumi.String("string"),
    		UpgradeChannel:       pulumi.String("string"),
    	},
    	AzureMonitorProfile: &containerservice.ManagedClusterAzureMonitorProfileArgs{
    		Metrics: &containerservice.ManagedClusterAzureMonitorProfileMetricsArgs{
    			Enabled: pulumi.Bool(false),
    			KubeStateMetrics: &containerservice.ManagedClusterAzureMonitorProfileKubeStateMetricsArgs{
    				MetricAnnotationsAllowList: pulumi.String("string"),
    				MetricLabelsAllowlist:      pulumi.String("string"),
    			},
    		},
    	},
    	BootstrapProfile: &containerservice.ManagedClusterBootstrapProfileArgs{
    		ArtifactSource:      pulumi.String("string"),
    		ContainerRegistryId: pulumi.String("string"),
    	},
    	DisableLocalAccounts: pulumi.Bool(false),
    	DiskEncryptionSetID:  pulumi.String("string"),
    	DnsPrefix:            pulumi.String("string"),
    	EnableRBAC:           pulumi.Bool(false),
    	ExtendedLocation: &containerservice.ExtendedLocationArgs{
    		Name: pulumi.String("string"),
    		Type: pulumi.String("string"),
    	},
    	FqdnSubdomain: pulumi.String("string"),
    	HttpProxyConfig: &containerservice.ManagedClusterHTTPProxyConfigArgs{
    		HttpProxy:  pulumi.String("string"),
    		HttpsProxy: pulumi.String("string"),
    		NoProxy: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		TrustedCa: pulumi.String("string"),
    	},
    	Identity: &containerservice.ManagedClusterIdentityArgs{
    		DelegatedResources: containerservice.DelegatedResourceMap{
    			"string": &containerservice.DelegatedResourceArgs{
    				Location:         pulumi.String("string"),
    				ReferralResource: pulumi.String("string"),
    				ResourceId:       pulumi.String("string"),
    				TenantId:         pulumi.String("string"),
    			},
    		},
    		Type: containerservice.ResourceIdentityTypeSystemAssigned,
    		UserAssignedIdentities: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	IdentityProfile: containerservice.UserAssignedIdentityMap{
    		"string": &containerservice.UserAssignedIdentityArgs{
    			ClientId:   pulumi.String("string"),
    			ObjectId:   pulumi.String("string"),
    			ResourceId: pulumi.String("string"),
    		},
    	},
    	AadProfile: &containerservice.ManagedClusterAADProfileArgs{
    		AdminGroupObjectIDs: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ClientAppID:     pulumi.String("string"),
    		EnableAzureRBAC: pulumi.Bool(false),
    		Managed:         pulumi.Bool(false),
    		ServerAppID:     pulumi.String("string"),
    		ServerAppSecret: pulumi.String("string"),
    		TenantID:        pulumi.String("string"),
    	},
    	Kind:              pulumi.String("string"),
    	KubernetesVersion: pulumi.String("string"),
    	AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    		&containerservice.ManagedClusterAgentPoolProfileArgs{
    			Name: pulumi.String("string"),
    			AvailabilityZones: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			CapacityReservationGroupID: pulumi.String("string"),
    			Count:                      pulumi.Int(0),
    			CreationData: &containerservice.CreationDataArgs{
    				SourceResourceId: pulumi.String("string"),
    			},
    			EnableAutoScaling:      pulumi.Bool(false),
    			EnableEncryptionAtHost: pulumi.Bool(false),
    			EnableFIPS:             pulumi.Bool(false),
    			EnableNodePublicIP:     pulumi.Bool(false),
    			EnableUltraSSD:         pulumi.Bool(false),
    			GatewayProfile: &containerservice.AgentPoolGatewayProfileArgs{
    				PublicIPPrefixSize: pulumi.Int(0),
    			},
    			GpuInstanceProfile: pulumi.String("string"),
    			GpuProfile: &containerservice.GPUProfileArgs{
    				Driver: pulumi.String("string"),
    			},
    			HostGroupID: pulumi.String("string"),
    			KubeletConfig: &containerservice.KubeletConfigArgs{
    				AllowedUnsafeSysctls: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ContainerLogMaxFiles:  pulumi.Int(0),
    				ContainerLogMaxSizeMB: pulumi.Int(0),
    				CpuCfsQuota:           pulumi.Bool(false),
    				CpuCfsQuotaPeriod:     pulumi.String("string"),
    				CpuManagerPolicy:      pulumi.String("string"),
    				FailSwapOn:            pulumi.Bool(false),
    				ImageGcHighThreshold:  pulumi.Int(0),
    				ImageGcLowThreshold:   pulumi.Int(0),
    				PodMaxPids:            pulumi.Int(0),
    				TopologyManagerPolicy: pulumi.String("string"),
    			},
    			KubeletDiskType: pulumi.String("string"),
    			LinuxOSConfig: &containerservice.LinuxOSConfigArgs{
    				SwapFileSizeMB: pulumi.Int(0),
    				Sysctls: &containerservice.SysctlConfigArgs{
    					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),
    					NetIpv4IpLocalPortRange:        pulumi.String("string"),
    					NetIpv4NeighDefaultGcThresh1:   pulumi.Int(0),
    					NetIpv4NeighDefaultGcThresh2:   pulumi.Int(0),
    					NetIpv4NeighDefaultGcThresh3:   pulumi.Int(0),
    					NetIpv4TcpFinTimeout:           pulumi.Int(0),
    					NetIpv4TcpKeepaliveProbes:      pulumi.Int(0),
    					NetIpv4TcpKeepaliveTime:        pulumi.Int(0),
    					NetIpv4TcpMaxSynBacklog:        pulumi.Int(0),
    					NetIpv4TcpMaxTwBuckets:         pulumi.Int(0),
    					NetIpv4TcpTwReuse:              pulumi.Bool(false),
    					NetIpv4TcpkeepaliveIntvl:       pulumi.Int(0),
    					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"),
    			},
    			LocalDNSProfile: &containerservice.LocalDNSProfileArgs{
    				KubeDNSOverrides: containerservice.LocalDNSOverrideMap{
    					"string": &containerservice.LocalDNSOverrideArgs{
    						CacheDurationInSeconds:      pulumi.Int(0),
    						ForwardDestination:          pulumi.String("string"),
    						ForwardPolicy:               pulumi.String("string"),
    						MaxConcurrent:               pulumi.Int(0),
    						Protocol:                    pulumi.String("string"),
    						QueryLogging:                pulumi.String("string"),
    						ServeStale:                  pulumi.String("string"),
    						ServeStaleDurationInSeconds: pulumi.Int(0),
    					},
    				},
    				Mode: pulumi.String("string"),
    				VnetDNSOverrides: containerservice.LocalDNSOverrideMap{
    					"string": &containerservice.LocalDNSOverrideArgs{
    						CacheDurationInSeconds:      pulumi.Int(0),
    						ForwardDestination:          pulumi.String("string"),
    						ForwardPolicy:               pulumi.String("string"),
    						MaxConcurrent:               pulumi.Int(0),
    						Protocol:                    pulumi.String("string"),
    						QueryLogging:                pulumi.String("string"),
    						ServeStale:                  pulumi.String("string"),
    						ServeStaleDurationInSeconds: pulumi.Int(0),
    					},
    				},
    			},
    			MaxCount:        pulumi.Int(0),
    			MaxPods:         pulumi.Int(0),
    			MessageOfTheDay: pulumi.String("string"),
    			MinCount:        pulumi.Int(0),
    			Mode:            pulumi.String("string"),
    			NetworkProfile: &containerservice.AgentPoolNetworkProfileArgs{
    				AllowedHostPorts: containerservice.PortRangeArray{
    					&containerservice.PortRangeArgs{
    						PortEnd:   pulumi.Int(0),
    						PortStart: pulumi.Int(0),
    						Protocol:  pulumi.String("string"),
    					},
    				},
    				ApplicationSecurityGroups: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NodePublicIPTags: containerservice.IPTagArray{
    					&containerservice.IPTagArgs{
    						IpTagType: pulumi.String("string"),
    						Tag:       pulumi.String("string"),
    					},
    				},
    			},
    			NodeLabels: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			NodePublicIPPrefixID: pulumi.String("string"),
    			NodeTaints: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			OrchestratorVersion: pulumi.String("string"),
    			OsDiskSizeGB:        pulumi.Int(0),
    			OsDiskType:          pulumi.String("string"),
    			OsSKU:               pulumi.String("string"),
    			OsType:              pulumi.String("string"),
    			PodIPAllocationMode: pulumi.String("string"),
    			PodSubnetID:         pulumi.String("string"),
    			PowerState: &containerservice.PowerStateArgs{
    				Code: pulumi.String("string"),
    			},
    			ProximityPlacementGroupID: pulumi.String("string"),
    			ScaleDownMode:             pulumi.String("string"),
    			ScaleSetEvictionPolicy:    pulumi.String("string"),
    			ScaleSetPriority:          pulumi.String("string"),
    			SecurityProfile: &containerservice.AgentPoolSecurityProfileArgs{
    				EnableSecureBoot: pulumi.Bool(false),
    				EnableVTPM:       pulumi.Bool(false),
    				SshAccess:        pulumi.String("string"),
    			},
    			SpotMaxPrice: pulumi.Float64(0),
    			Tags: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Type: pulumi.String("string"),
    			UpgradeSettings: &containerservice.AgentPoolUpgradeSettingsArgs{
    				DrainTimeoutInMinutes:     pulumi.Int(0),
    				MaxSurge:                  pulumi.String("string"),
    				MaxUnavailable:            pulumi.String("string"),
    				NodeSoakDurationInMinutes: pulumi.Int(0),
    				UndrainableNodeBehavior:   pulumi.String("string"),
    			},
    			VirtualMachineNodesStatus: containerservice.VirtualMachineNodesArray{
    				&containerservice.VirtualMachineNodesArgs{
    					Count: pulumi.Int(0),
    					Size:  pulumi.String("string"),
    				},
    			},
    			VirtualMachinesProfile: &containerservice.VirtualMachinesProfileArgs{
    				Scale: &containerservice.ScaleProfileArgs{
    					Manual: containerservice.ManualScaleProfileArray{
    						&containerservice.ManualScaleProfileArgs{
    							Count: pulumi.Int(0),
    							Size:  pulumi.String("string"),
    						},
    					},
    				},
    			},
    			VmSize:       pulumi.String("string"),
    			VnetSubnetID: pulumi.String("string"),
    			WindowsProfile: &containerservice.AgentPoolWindowsProfileArgs{
    				DisableOutboundNat: pulumi.Bool(false),
    			},
    			WorkloadRuntime: pulumi.String("string"),
    		},
    	},
    	LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    		AdminUsername: pulumi.String("string"),
    		Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    			PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    				&containerservice.ContainerServiceSshPublicKeyArgs{
    					KeyData: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	IngressProfile: &containerservice.ManagedClusterIngressProfileArgs{
    		WebAppRouting: &containerservice.ManagedClusterIngressProfileWebAppRoutingArgs{
    			DnsZoneResourceIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Enabled: pulumi.Bool(false),
    			Nginx: &containerservice.ManagedClusterIngressProfileNginxArgs{
    				DefaultIngressControllerType: pulumi.String("string"),
    			},
    		},
    	},
    	NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    		AdvancedNetworking: &containerservice.AdvancedNetworkingArgs{
    			Enabled: pulumi.Bool(false),
    			Observability: &containerservice.AdvancedNetworkingObservabilityArgs{
    				Enabled: pulumi.Bool(false),
    			},
    			Security: &containerservice.AdvancedNetworkingSecurityArgs{
    				AdvancedNetworkPolicies: pulumi.String("string"),
    				Enabled:                 pulumi.Bool(false),
    			},
    		},
    		DnsServiceIP: pulumi.String("string"),
    		IpFamilies: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    			AllocatedOutboundPorts:              pulumi.Int(0),
    			BackendPoolType:                     pulumi.String("string"),
    			EnableMultipleStandardLoadBalancers: pulumi.Bool(false),
    			IdleTimeoutInMinutes:                pulumi.Int(0),
    			ManagedOutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs{
    				Count:     pulumi.Int(0),
    				CountIPv6: pulumi.Int(0),
    			},
    			OutboundIPPrefixes: &containerservice.ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs{
    				PublicIPPrefixes: containerservice.ResourceReferenceArray{
    					&containerservice.ResourceReferenceArgs{
    						Id: pulumi.String("string"),
    					},
    				},
    			},
    			OutboundIPs: &containerservice.ManagedClusterLoadBalancerProfileOutboundIPsArgs{
    				PublicIPs: containerservice.ResourceReferenceArray{
    					&containerservice.ResourceReferenceArgs{
    						Id: pulumi.String("string"),
    					},
    				},
    			},
    		},
    		LoadBalancerSku: pulumi.String("string"),
    		NatGatewayProfile: &containerservice.ManagedClusterNATGatewayProfileArgs{
    			IdleTimeoutInMinutes: pulumi.Int(0),
    			ManagedOutboundIPProfile: &containerservice.ManagedClusterManagedOutboundIPProfileArgs{
    				Count: pulumi.Int(0),
    			},
    		},
    		NetworkDataplane:  pulumi.String("string"),
    		NetworkMode:       pulumi.String("string"),
    		NetworkPlugin:     pulumi.String("string"),
    		NetworkPluginMode: pulumi.String("string"),
    		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"),
    		},
    		StaticEgressGatewayProfile: &containerservice.ManagedClusterStaticEgressGatewayProfileArgs{
    			Enabled: pulumi.Bool(false),
    		},
    	},
    	NodeProvisioningProfile: &containerservice.ManagedClusterNodeProvisioningProfileArgs{
    		DefaultNodePools: pulumi.String("string"),
    		Mode:             pulumi.String("string"),
    	},
    	NodeResourceGroup: pulumi.String("string"),
    	NodeResourceGroupProfile: &containerservice.ManagedClusterNodeResourceGroupProfileArgs{
    		RestrictionLevel: pulumi.String("string"),
    	},
    	OidcIssuerProfile: &containerservice.ManagedClusterOIDCIssuerProfileArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	PodIdentityProfile: &containerservice.ManagedClusterPodIdentityProfileArgs{
    		AllowNetworkPluginKubenet: pulumi.Bool(false),
    		Enabled:                   pulumi.Bool(false),
    		UserAssignedIdentities: containerservice.ManagedClusterPodIdentityArray{
    			&containerservice.ManagedClusterPodIdentityArgs{
    				Identity: &containerservice.UserAssignedIdentityArgs{
    					ClientId:   pulumi.String("string"),
    					ObjectId:   pulumi.String("string"),
    					ResourceId: pulumi.String("string"),
    				},
    				Name:            pulumi.String("string"),
    				Namespace:       pulumi.String("string"),
    				BindingSelector: pulumi.String("string"),
    			},
    		},
    		UserAssignedIdentityExceptions: containerservice.ManagedClusterPodIdentityExceptionArray{
    			&containerservice.ManagedClusterPodIdentityExceptionArgs{
    				Name:      pulumi.String("string"),
    				Namespace: pulumi.String("string"),
    				PodLabels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    		},
    	},
    	PrivateLinkResources: containerservice.PrivateLinkResourceArray{
    		&containerservice.PrivateLinkResourceArgs{
    			GroupId: pulumi.String("string"),
    			Id:      pulumi.String("string"),
    			Name:    pulumi.String("string"),
    			RequiredMembers: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Type: pulumi.String("string"),
    		},
    	},
    	PublicNetworkAccess: pulumi.String("string"),
    	AddonProfiles: containerservice.ManagedClusterAddonProfileMap{
    		"string": &containerservice.ManagedClusterAddonProfileArgs{
    			Enabled: pulumi.Bool(false),
    			Config: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    	},
    	ResourceName: pulumi.String("string"),
    	SecurityProfile: &containerservice.ManagedClusterSecurityProfileArgs{
    		AzureKeyVaultKms: &containerservice.AzureKeyVaultKmsArgs{
    			Enabled:               pulumi.Bool(false),
    			KeyId:                 pulumi.String("string"),
    			KeyVaultNetworkAccess: pulumi.String("string"),
    			KeyVaultResourceId:    pulumi.String("string"),
    		},
    		CustomCATrustCertificates: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Defender: &containerservice.ManagedClusterSecurityProfileDefenderArgs{
    			LogAnalyticsWorkspaceResourceId: pulumi.String("string"),
    			SecurityMonitoring: &containerservice.ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs{
    				Enabled: pulumi.Bool(false),
    			},
    		},
    		ImageCleaner: &containerservice.ManagedClusterSecurityProfileImageCleanerArgs{
    			Enabled:       pulumi.Bool(false),
    			IntervalHours: pulumi.Int(0),
    		},
    		WorkloadIdentity: &containerservice.ManagedClusterSecurityProfileWorkloadIdentityArgs{
    			Enabled: pulumi.Bool(false),
    		},
    	},
    	ServiceMeshProfile: &containerservice.ServiceMeshProfileArgs{
    		Mode: pulumi.String("string"),
    		Istio: &containerservice.IstioServiceMeshArgs{
    			CertificateAuthority: &containerservice.IstioCertificateAuthorityArgs{
    				Plugin: &containerservice.IstioPluginCertificateAuthorityArgs{
    					CertChainObjectName: pulumi.String("string"),
    					CertObjectName:      pulumi.String("string"),
    					KeyObjectName:       pulumi.String("string"),
    					KeyVaultId:          pulumi.String("string"),
    					RootCertObjectName:  pulumi.String("string"),
    				},
    			},
    			Components: &containerservice.IstioComponentsArgs{
    				EgressGateways: containerservice.IstioEgressGatewayArray{
    					&containerservice.IstioEgressGatewayArgs{
    						Enabled:                  pulumi.Bool(false),
    						Name:                     pulumi.String("string"),
    						GatewayConfigurationName: pulumi.String("string"),
    						Namespace:                pulumi.String("string"),
    					},
    				},
    				IngressGateways: containerservice.IstioIngressGatewayArray{
    					&containerservice.IstioIngressGatewayArgs{
    						Enabled: pulumi.Bool(false),
    						Mode:    pulumi.String("string"),
    					},
    				},
    			},
    			Revisions: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	ServicePrincipalProfile: &containerservice.ManagedClusterServicePrincipalProfileArgs{
    		ClientId: pulumi.String("string"),
    		Secret:   pulumi.String("string"),
    	},
    	Sku: &containerservice.ManagedClusterSKUArgs{
    		Name: pulumi.String("string"),
    		Tier: pulumi.String("string"),
    	},
    	StorageProfile: &containerservice.ManagedClusterStorageProfileArgs{
    		BlobCSIDriver: &containerservice.ManagedClusterStorageProfileBlobCSIDriverArgs{
    			Enabled: pulumi.Bool(false),
    		},
    		DiskCSIDriver: &containerservice.ManagedClusterStorageProfileDiskCSIDriverArgs{
    			Enabled: pulumi.Bool(false),
    		},
    		FileCSIDriver: &containerservice.ManagedClusterStorageProfileFileCSIDriverArgs{
    			Enabled: pulumi.Bool(false),
    		},
    		SnapshotController: &containerservice.ManagedClusterStorageProfileSnapshotControllerArgs{
    			Enabled: pulumi.Bool(false),
    		},
    	},
    	SupportPlan: pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	UpgradeSettings: &containerservice.ClusterUpgradeSettingsArgs{
    		OverrideSettings: &containerservice.UpgradeOverrideSettingsArgs{
    			ForceUpgrade: pulumi.Bool(false),
    			Until:        pulumi.String("string"),
    		},
    	},
    	WindowsProfile: &containerservice.ManagedClusterWindowsProfileArgs{
    		AdminUsername:  pulumi.String("string"),
    		AdminPassword:  pulumi.String("string"),
    		EnableCSIProxy: pulumi.Bool(false),
    		GmsaProfile: &containerservice.WindowsGmsaProfileArgs{
    			DnsServer:      pulumi.String("string"),
    			Enabled:        pulumi.Bool(false),
    			RootDomainName: pulumi.String("string"),
    		},
    		LicenseType: pulumi.String("string"),
    	},
    	WorkloadAutoScalerProfile: &containerservice.ManagedClusterWorkloadAutoScalerProfileArgs{
    		Keda: &containerservice.ManagedClusterWorkloadAutoScalerProfileKedaArgs{
    			Enabled: pulumi.Bool(false),
    		},
    		VerticalPodAutoscaler: &containerservice.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs{
    			Enabled: pulumi.Bool(false),
    		},
    	},
    })
    
    resource "azure-native_containerservice_managedcluster" "managedClusterResource" {
      resource_group_name = "string"
      location            = "string"
      metrics_profile = {
        cost_analysis = {
          enabled = false
        }
      }
      ai_toolchain_operator_profile = {
        enabled = false
      }
      api_server_access_profile = {
        authorized_ip_ranges               = ["string"]
        disable_run_command                = false
        enable_private_cluster             = false
        enable_private_cluster_public_fqdn = false
        enable_vnet_integration            = false
        private_dns_zone                   = "string"
        subnet_id                          = "string"
      }
      auto_scaler_profile = {
        balance_similar_node_groups           = "string"
        daemonset_eviction_for_empty_nodes    = false
        daemonset_eviction_for_occupied_nodes = false
        expander                              = "string"
        ignore_daemonsets_utilization         = false
        max_empty_bulk_delete                 = "string"
        max_graceful_termination_sec          = "string"
        max_node_provision_time               = "string"
        max_total_unready_percentage          = "string"
        new_pod_scale_up_delay                = "string"
        ok_total_unready_count                = "string"
        scale_down_delay_after_add            = "string"
        scale_down_delay_after_delete         = "string"
        scale_down_delay_after_failure        = "string"
        scale_down_unneeded_time              = "string"
        scale_down_unready_time               = "string"
        scale_down_utilization_threshold      = "string"
        scan_interval                         = "string"
        skip_nodes_with_local_storage         = "string"
        skip_nodes_with_system_pods           = "string"
      }
      auto_upgrade_profile = {
        node_os_upgrade_channel = "string"
        upgrade_channel         = "string"
      }
      azure_monitor_profile = {
        metrics = {
          enabled = false
          kube_state_metrics = {
            metric_annotations_allow_list = "string"
            metric_labels_allowlist       = "string"
          }
        }
      }
      bootstrap_profile = {
        artifact_source       = "string"
        container_registry_id = "string"
      }
      disable_local_accounts = false
      disk_encryption_set_id = "string"
      dns_prefix             = "string"
      enable_rbac            = false
      extended_location = {
        name = "string"
        type = "string"
      }
      fqdn_subdomain = "string"
      http_proxy_config = {
        http_proxy  = "string"
        https_proxy = "string"
        no_proxy    = ["string"]
        trusted_ca  = "string"
      }
      identity = {
        delegated_resources = {
          "string" = {
            location          = "string"
            referral_resource = "string"
            resource_id       = "string"
            tenant_id         = "string"
          }
        }
        type                     = "SystemAssigned"
        user_assigned_identities = ["string"]
      }
      identity_profile = {
        "string" = {
          client_id   = "string"
          object_id   = "string"
          resource_id = "string"
        }
      }
      aad_profile = {
        admin_group_object_i_ds = ["string"]
        client_app_id           = "string"
        enable_azure_rbac       = false
        managed                 = false
        server_app_id           = "string"
        server_app_secret       = "string"
        tenant_id               = "string"
      }
      kind               = "string"
      kubernetes_version = "string"
      agent_pool_profiles {
        name                          = "string"
        availability_zones            = ["string"]
        capacity_reservation_group_id = "string"
        count                         = 0
        creation_data = {
          source_resource_id = "string"
        }
        enable_auto_scaling       = false
        enable_encryption_at_host = false
        enable_fips               = false
        enable_node_public_ip     = false
        enable_ultra_ssd          = false
        gateway_profile = {
          public_ip_prefix_size = 0
        }
        gpu_instance_profile = "string"
        gpu_profile = {
          driver = "string"
        }
        host_group_id = "string"
        kubelet_config = {
          allowed_unsafe_sysctls    = ["string"]
          container_log_max_files   = 0
          container_log_max_size_mb = 0
          cpu_cfs_quota             = false
          cpu_cfs_quota_period      = "string"
          cpu_manager_policy        = "string"
          fail_swap_on              = false
          image_gc_high_threshold   = 0
          image_gc_low_threshold    = 0
          pod_max_pids              = 0
          topology_manager_policy   = "string"
        }
        kubelet_disk_type = "string"
        linux_os_config = {
          swap_file_size_mb = 0
          sysctls = {
            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       = "string"
            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_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_ipv4_tcpkeepalive_intvl        = 0
            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"
        }
        local_dns_profile = {
          kube_dns_overrides = {
            "string" = {
              cache_duration_in_seconds       = 0
              forward_destination             = "string"
              forward_policy                  = "string"
              max_concurrent                  = 0
              protocol                        = "string"
              query_logging                   = "string"
              serve_stale                     = "string"
              serve_stale_duration_in_seconds = 0
            }
          }
          mode = "string"
          vnet_dns_overrides = {
            "string" = {
              cache_duration_in_seconds       = 0
              forward_destination             = "string"
              forward_policy                  = "string"
              max_concurrent                  = 0
              protocol                        = "string"
              query_logging                   = "string"
              serve_stale                     = "string"
              serve_stale_duration_in_seconds = 0
            }
          }
        }
        max_count          = 0
        max_pods           = 0
        message_of_the_day = "string"
        min_count          = 0
        mode               = "string"
        network_profile = {
          allowed_host_ports = [{
            "portEnd"   = 0
            "portStart" = 0
            "protocol"  = "string"
          }]
          application_security_groups = ["string"]
          node_public_ip_tags = [{
            "ipTagType" = "string"
            "tag"       = "string"
          }]
        }
        node_labels = {
          "string" = "string"
        }
        node_public_ip_prefix_id = "string"
        node_taints              = ["string"]
        orchestrator_version     = "string"
        os_disk_size_gb          = 0
        os_disk_type             = "string"
        os_sku                   = "string"
        os_type                  = "string"
        pod_ip_allocation_mode   = "string"
        pod_subnet_id            = "string"
        power_state = {
          code = "string"
        }
        proximity_placement_group_id = "string"
        scale_down_mode              = "string"
        scale_set_eviction_policy    = "string"
        scale_set_priority           = "string"
        security_profile = {
          enable_secure_boot = false
          enable_vtpm        = false
          ssh_access         = "string"
        }
        spot_max_price = 0
        tags = {
          "string" = "string"
        }
        type = "string"
        upgrade_settings = {
          drain_timeout_in_minutes      = 0
          max_surge                     = "string"
          max_unavailable               = "string"
          node_soak_duration_in_minutes = 0
          undrainable_node_behavior     = "string"
        }
        virtual_machine_nodes_status {
          count = 0
          size  = "string"
        }
        virtual_machines_profile = {
          scale = {
            manual = [{
              "count" = 0
              "size"  = "string"
            }]
          }
        }
        vm_size        = "string"
        vnet_subnet_id = "string"
        windows_profile = {
          disable_outbound_nat = false
        }
        workload_runtime = "string"
      }
      linux_profile = {
        admin_username = "string"
        ssh = {
          public_keys = [{
            "keyData" = "string"
          }]
        }
      }
      ingress_profile = {
        web_app_routing = {
          dns_zone_resource_ids = ["string"]
          enabled               = false
          nginx = {
            default_ingress_controller_type = "string"
          }
        }
      }
      network_profile = {
        advanced_networking = {
          enabled = false
          observability = {
            enabled = false
          }
          security = {
            advanced_network_policies = "string"
            enabled                   = false
          }
        }
        dns_service_ip = "string"
        ip_families    = ["string"]
        load_balancer_profile = {
          allocated_outbound_ports                = 0
          backend_pool_type                       = "string"
          enable_multiple_standard_load_balancers = false
          idle_timeout_in_minutes                 = 0
          managed_outbound_i_ps = {
            count       = 0
            count_i_pv6 = 0
          }
          outbound_ip_prefixes = {
            public_ip_prefixes = [{
              "id" = "string"
            }]
          }
          outbound_i_ps = {
            public_i_ps = [{
              "id" = "string"
            }]
          }
        }
        load_balancer_sku = "string"
        nat_gateway_profile = {
          idle_timeout_in_minutes = 0
          managed_outbound_ip_profile = {
            count = 0
          }
        }
        network_dataplane   = "string"
        network_mode        = "string"
        network_plugin      = "string"
        network_plugin_mode = "string"
        network_policy      = "string"
        outbound_type       = "string"
        pod_cidr            = "string"
        pod_cidrs           = ["string"]
        service_cidr        = "string"
        service_cidrs       = ["string"]
        static_egress_gateway_profile = {
          enabled = false
        }
      }
      node_provisioning_profile = {
        default_node_pools = "string"
        mode               = "string"
      }
      node_resource_group = "string"
      node_resource_group_profile = {
        restriction_level = "string"
      }
      oidc_issuer_profile = {
        enabled = false
      }
      pod_identity_profile = {
        allow_network_plugin_kubenet = false
        enabled                      = false
        user_assigned_identities = [{
          "identity" = {
            "clientId"   = "string"
            "objectId"   = "string"
            "resourceId" = "string"
          }
          "name"            = "string"
          "namespace"       = "string"
          "bindingSelector" = "string"
        }]
        user_assigned_identity_exceptions = [{
          "name"      = "string"
          "namespace" = "string"
          "podLabels" = {
            "string" = "string"
          }
        }]
      }
      private_link_resources {
        group_id         = "string"
        id               = "string"
        name             = "string"
        required_members = ["string"]
        type             = "string"
      }
      public_network_access = "string"
      addon_profiles = {
        "string" = {
          enabled = false
          config = {
            "string" = "string"
          }
        }
      }
      resource_name = "string"
      security_profile = {
        azure_key_vault_kms = {
          enabled                  = false
          key_id                   = "string"
          key_vault_network_access = "string"
          key_vault_resource_id    = "string"
        }
        custom_ca_trust_certificates = ["string"]
        defender = {
          log_analytics_workspace_resource_id = "string"
          security_monitoring = {
            enabled = false
          }
        }
        image_cleaner = {
          enabled        = false
          interval_hours = 0
        }
        workload_identity = {
          enabled = false
        }
      }
      service_mesh_profile = {
        mode = "string"
        istio = {
          certificate_authority = {
            plugin = {
              cert_chain_object_name = "string"
              cert_object_name       = "string"
              key_object_name        = "string"
              key_vault_id           = "string"
              root_cert_object_name  = "string"
            }
          }
          components = {
            egress_gateways = [{
              "enabled"                  = false
              "name"                     = "string"
              "gatewayConfigurationName" = "string"
              "namespace"                = "string"
            }]
            ingress_gateways = [{
              "enabled" = false
              "mode"    = "string"
            }]
          }
          revisions = ["string"]
        }
      }
      service_principal_profile = {
        client_id = "string"
        secret    = "string"
      }
      sku = {
        name = "string"
        tier = "string"
      }
      storage_profile = {
        blob_csi_driver = {
          enabled = false
        }
        disk_csi_driver = {
          enabled = false
        }
        file_csi_driver = {
          enabled = false
        }
        snapshot_controller = {
          enabled = false
        }
      }
      support_plan = "string"
      tags = {
        "string" = "string"
      }
      upgrade_settings = {
        override_settings = {
          force_upgrade = false
          until         = "string"
        }
      }
      windows_profile = {
        admin_username   = "string"
        admin_password   = "string"
        enable_csi_proxy = false
        gmsa_profile = {
          dns_server       = "string"
          enabled          = false
          root_domain_name = "string"
        }
        license_type = "string"
      }
      workload_auto_scaler_profile = {
        keda = {
          enabled = false
        }
        vertical_pod_autoscaler = {
          enabled = false
        }
      }
    }
    
    var managedClusterResource = new com.pulumi.azurenative.containerservice.ManagedCluster("managedClusterResource", com.pulumi.azurenative.containerservice.ManagedClusterArgs.builder()
        .resourceGroupName("string")
        .location("string")
        .metricsProfile(ManagedClusterMetricsProfileArgs.builder()
            .costAnalysis(ManagedClusterCostAnalysisArgs.builder()
                .enabled(false)
                .build())
            .build())
        .aiToolchainOperatorProfile(ManagedClusterAIToolchainOperatorProfileArgs.builder()
            .enabled(false)
            .build())
        .apiServerAccessProfile(ManagedClusterAPIServerAccessProfileArgs.builder()
            .authorizedIPRanges("string")
            .disableRunCommand(false)
            .enablePrivateCluster(false)
            .enablePrivateClusterPublicFQDN(false)
            .enableVnetIntegration(false)
            .privateDNSZone("string")
            .subnetId("string")
            .build())
        .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
            .balanceSimilarNodeGroups("string")
            .daemonsetEvictionForEmptyNodes(false)
            .daemonsetEvictionForOccupiedNodes(false)
            .expander("string")
            .ignoreDaemonsetsUtilization(false)
            .maxEmptyBulkDelete("string")
            .maxGracefulTerminationSec("string")
            .maxNodeProvisionTime("string")
            .maxTotalUnreadyPercentage("string")
            .newPodScaleUpDelay("string")
            .okTotalUnreadyCount("string")
            .scaleDownDelayAfterAdd("string")
            .scaleDownDelayAfterDelete("string")
            .scaleDownDelayAfterFailure("string")
            .scaleDownUnneededTime("string")
            .scaleDownUnreadyTime("string")
            .scaleDownUtilizationThreshold("string")
            .scanInterval("string")
            .skipNodesWithLocalStorage("string")
            .skipNodesWithSystemPods("string")
            .build())
        .autoUpgradeProfile(ManagedClusterAutoUpgradeProfileArgs.builder()
            .nodeOSUpgradeChannel("string")
            .upgradeChannel("string")
            .build())
        .azureMonitorProfile(ManagedClusterAzureMonitorProfileArgs.builder()
            .metrics(ManagedClusterAzureMonitorProfileMetricsArgs.builder()
                .enabled(false)
                .kubeStateMetrics(ManagedClusterAzureMonitorProfileKubeStateMetricsArgs.builder()
                    .metricAnnotationsAllowList("string")
                    .metricLabelsAllowlist("string")
                    .build())
                .build())
            .build())
        .bootstrapProfile(ManagedClusterBootstrapProfileArgs.builder()
            .artifactSource("string")
            .containerRegistryId("string")
            .build())
        .disableLocalAccounts(false)
        .diskEncryptionSetID("string")
        .dnsPrefix("string")
        .enableRBAC(false)
        .extendedLocation(ExtendedLocationArgs.builder()
            .name("string")
            .type("string")
            .build())
        .fqdnSubdomain("string")
        .httpProxyConfig(ManagedClusterHTTPProxyConfigArgs.builder()
            .httpProxy("string")
            .httpsProxy("string")
            .noProxy("string")
            .trustedCa("string")
            .build())
        .identity(ManagedClusterIdentityArgs.builder()
            .delegatedResources(Map.of("string", DelegatedResourceArgs.builder()
                .location("string")
                .referralResource("string")
                .resourceId("string")
                .tenantId("string")
                .build()))
            .type("SystemAssigned")
            .userAssignedIdentities("string")
            .build())
        .identityProfile(Map.of("string", UserAssignedIdentityArgs.builder()
            .clientId("string")
            .objectId("string")
            .resourceId("string")
            .build()))
        .aadProfile(ManagedClusterAADProfileArgs.builder()
            .adminGroupObjectIDs("string")
            .clientAppID("string")
            .enableAzureRBAC(false)
            .managed(false)
            .serverAppID("string")
            .serverAppSecret("string")
            .tenantID("string")
            .build())
        .kind("string")
        .kubernetesVersion("string")
        .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
            .name("string")
            .availabilityZones("string")
            .capacityReservationGroupID("string")
            .count(0)
            .creationData(CreationDataArgs.builder()
                .sourceResourceId("string")
                .build())
            .enableAutoScaling(false)
            .enableEncryptionAtHost(false)
            .enableFIPS(false)
            .enableNodePublicIP(false)
            .enableUltraSSD(false)
            .gatewayProfile(AgentPoolGatewayProfileArgs.builder()
                .publicIPPrefixSize(0)
                .build())
            .gpuInstanceProfile("string")
            .gpuProfile(GPUProfileArgs.builder()
                .driver("string")
                .build())
            .hostGroupID("string")
            .kubeletConfig(KubeletConfigArgs.builder()
                .allowedUnsafeSysctls("string")
                .containerLogMaxFiles(0)
                .containerLogMaxSizeMB(0)
                .cpuCfsQuota(false)
                .cpuCfsQuotaPeriod("string")
                .cpuManagerPolicy("string")
                .failSwapOn(false)
                .imageGcHighThreshold(0)
                .imageGcLowThreshold(0)
                .podMaxPids(0)
                .topologyManagerPolicy("string")
                .build())
            .kubeletDiskType("string")
            .linuxOSConfig(LinuxOSConfigArgs.builder()
                .swapFileSizeMB(0)
                .sysctls(SysctlConfigArgs.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)
                    .netIpv4IpLocalPortRange("string")
                    .netIpv4NeighDefaultGcThresh1(0)
                    .netIpv4NeighDefaultGcThresh2(0)
                    .netIpv4NeighDefaultGcThresh3(0)
                    .netIpv4TcpFinTimeout(0)
                    .netIpv4TcpKeepaliveProbes(0)
                    .netIpv4TcpKeepaliveTime(0)
                    .netIpv4TcpMaxSynBacklog(0)
                    .netIpv4TcpMaxTwBuckets(0)
                    .netIpv4TcpTwReuse(false)
                    .netIpv4TcpkeepaliveIntvl(0)
                    .netNetfilterNfConntrackBuckets(0)
                    .netNetfilterNfConntrackMax(0)
                    .vmMaxMapCount(0)
                    .vmSwappiness(0)
                    .vmVfsCachePressure(0)
                    .build())
                .transparentHugePageDefrag("string")
                .transparentHugePageEnabled("string")
                .build())
            .localDNSProfile(LocalDNSProfileArgs.builder()
                .kubeDNSOverrides(Map.of("string", LocalDNSOverrideArgs.builder()
                    .cacheDurationInSeconds(0)
                    .forwardDestination("string")
                    .forwardPolicy("string")
                    .maxConcurrent(0)
                    .protocol("string")
                    .queryLogging("string")
                    .serveStale("string")
                    .serveStaleDurationInSeconds(0)
                    .build()))
                .mode("string")
                .vnetDNSOverrides(Map.of("string", LocalDNSOverrideArgs.builder()
                    .cacheDurationInSeconds(0)
                    .forwardDestination("string")
                    .forwardPolicy("string")
                    .maxConcurrent(0)
                    .protocol("string")
                    .queryLogging("string")
                    .serveStale("string")
                    .serveStaleDurationInSeconds(0)
                    .build()))
                .build())
            .maxCount(0)
            .maxPods(0)
            .messageOfTheDay("string")
            .minCount(0)
            .mode("string")
            .networkProfile(AgentPoolNetworkProfileArgs.builder()
                .allowedHostPorts(PortRangeArgs.builder()
                    .portEnd(0)
                    .portStart(0)
                    .protocol("string")
                    .build())
                .applicationSecurityGroups("string")
                .nodePublicIPTags(IPTagArgs.builder()
                    .ipTagType("string")
                    .tag("string")
                    .build())
                .build())
            .nodeLabels(Map.of("string", "string"))
            .nodePublicIPPrefixID("string")
            .nodeTaints("string")
            .orchestratorVersion("string")
            .osDiskSizeGB(0)
            .osDiskType("string")
            .osSKU("string")
            .osType("string")
            .podIPAllocationMode("string")
            .podSubnetID("string")
            .powerState(PowerStateArgs.builder()
                .code("string")
                .build())
            .proximityPlacementGroupID("string")
            .scaleDownMode("string")
            .scaleSetEvictionPolicy("string")
            .scaleSetPriority("string")
            .securityProfile(AgentPoolSecurityProfileArgs.builder()
                .enableSecureBoot(false)
                .enableVTPM(false)
                .sshAccess("string")
                .build())
            .spotMaxPrice(0.0)
            .tags(Map.of("string", "string"))
            .type("string")
            .upgradeSettings(AgentPoolUpgradeSettingsArgs.builder()
                .drainTimeoutInMinutes(0)
                .maxSurge("string")
                .maxUnavailable("string")
                .nodeSoakDurationInMinutes(0)
                .undrainableNodeBehavior("string")
                .build())
            .virtualMachineNodesStatus(VirtualMachineNodesArgs.builder()
                .count(0)
                .size("string")
                .build())
            .virtualMachinesProfile(VirtualMachinesProfileArgs.builder()
                .scale(ScaleProfileArgs.builder()
                    .manual(ManualScaleProfileArgs.builder()
                        .count(0)
                        .size("string")
                        .build())
                    .build())
                .build())
            .vmSize("string")
            .vnetSubnetID("string")
            .windowsProfile(AgentPoolWindowsProfileArgs.builder()
                .disableOutboundNat(false)
                .build())
            .workloadRuntime("string")
            .build())
        .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
            .adminUsername("string")
            .ssh(ContainerServiceSshConfigurationArgs.builder()
                .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                    .keyData("string")
                    .build())
                .build())
            .build())
        .ingressProfile(ManagedClusterIngressProfileArgs.builder()
            .webAppRouting(ManagedClusterIngressProfileWebAppRoutingArgs.builder()
                .dnsZoneResourceIds("string")
                .enabled(false)
                .nginx(ManagedClusterIngressProfileNginxArgs.builder()
                    .defaultIngressControllerType("string")
                    .build())
                .build())
            .build())
        .networkProfile(ContainerServiceNetworkProfileArgs.builder()
            .advancedNetworking(AdvancedNetworkingArgs.builder()
                .enabled(false)
                .observability(AdvancedNetworkingObservabilityArgs.builder()
                    .enabled(false)
                    .build())
                .security(AdvancedNetworkingSecurityArgs.builder()
                    .advancedNetworkPolicies("string")
                    .enabled(false)
                    .build())
                .build())
            .dnsServiceIP("string")
            .ipFamilies("string")
            .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                .allocatedOutboundPorts(0)
                .backendPoolType("string")
                .enableMultipleStandardLoadBalancers(false)
                .idleTimeoutInMinutes(0)
                .managedOutboundIPs(ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.builder()
                    .count(0)
                    .countIPv6(0)
                    .build())
                .outboundIPPrefixes(ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs.builder()
                    .publicIPPrefixes(ResourceReferenceArgs.builder()
                        .id("string")
                        .build())
                    .build())
                .outboundIPs(ManagedClusterLoadBalancerProfileOutboundIPsArgs.builder()
                    .publicIPs(ResourceReferenceArgs.builder()
                        .id("string")
                        .build())
                    .build())
                .build())
            .loadBalancerSku("string")
            .natGatewayProfile(ManagedClusterNATGatewayProfileArgs.builder()
                .idleTimeoutInMinutes(0)
                .managedOutboundIPProfile(ManagedClusterManagedOutboundIPProfileArgs.builder()
                    .count(0)
                    .build())
                .build())
            .networkDataplane("string")
            .networkMode("string")
            .networkPlugin("string")
            .networkPluginMode("string")
            .networkPolicy("string")
            .outboundType("string")
            .podCidr("string")
            .podCidrs("string")
            .serviceCidr("string")
            .serviceCidrs("string")
            .staticEgressGatewayProfile(ManagedClusterStaticEgressGatewayProfileArgs.builder()
                .enabled(false)
                .build())
            .build())
        .nodeProvisioningProfile(ManagedClusterNodeProvisioningProfileArgs.builder()
            .defaultNodePools("string")
            .mode("string")
            .build())
        .nodeResourceGroup("string")
        .nodeResourceGroupProfile(ManagedClusterNodeResourceGroupProfileArgs.builder()
            .restrictionLevel("string")
            .build())
        .oidcIssuerProfile(ManagedClusterOIDCIssuerProfileArgs.builder()
            .enabled(false)
            .build())
        .podIdentityProfile(ManagedClusterPodIdentityProfileArgs.builder()
            .allowNetworkPluginKubenet(false)
            .enabled(false)
            .userAssignedIdentities(ManagedClusterPodIdentityArgs.builder()
                .identity(UserAssignedIdentityArgs.builder()
                    .clientId("string")
                    .objectId("string")
                    .resourceId("string")
                    .build())
                .name("string")
                .namespace("string")
                .bindingSelector("string")
                .build())
            .userAssignedIdentityExceptions(ManagedClusterPodIdentityExceptionArgs.builder()
                .name("string")
                .namespace("string")
                .podLabels(Map.of("string", "string"))
                .build())
            .build())
        .privateLinkResources(PrivateLinkResourceArgs.builder()
            .groupId("string")
            .id("string")
            .name("string")
            .requiredMembers("string")
            .type("string")
            .build())
        .publicNetworkAccess("string")
        .addonProfiles(Map.of("string", ManagedClusterAddonProfileArgs.builder()
            .enabled(false)
            .config(Map.of("string", "string"))
            .build()))
        .resourceName("string")
        .securityProfile(ManagedClusterSecurityProfileArgs.builder()
            .azureKeyVaultKms(AzureKeyVaultKmsArgs.builder()
                .enabled(false)
                .keyId("string")
                .keyVaultNetworkAccess("string")
                .keyVaultResourceId("string")
                .build())
            .customCATrustCertificates("string")
            .defender(ManagedClusterSecurityProfileDefenderArgs.builder()
                .logAnalyticsWorkspaceResourceId("string")
                .securityMonitoring(ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs.builder()
                    .enabled(false)
                    .build())
                .build())
            .imageCleaner(ManagedClusterSecurityProfileImageCleanerArgs.builder()
                .enabled(false)
                .intervalHours(0)
                .build())
            .workloadIdentity(ManagedClusterSecurityProfileWorkloadIdentityArgs.builder()
                .enabled(false)
                .build())
            .build())
        .serviceMeshProfile(ServiceMeshProfileArgs.builder()
            .mode("string")
            .istio(IstioServiceMeshArgs.builder()
                .certificateAuthority(IstioCertificateAuthorityArgs.builder()
                    .plugin(IstioPluginCertificateAuthorityArgs.builder()
                        .certChainObjectName("string")
                        .certObjectName("string")
                        .keyObjectName("string")
                        .keyVaultId("string")
                        .rootCertObjectName("string")
                        .build())
                    .build())
                .components(IstioComponentsArgs.builder()
                    .egressGateways(IstioEgressGatewayArgs.builder()
                        .enabled(false)
                        .name("string")
                        .gatewayConfigurationName("string")
                        .namespace("string")
                        .build())
                    .ingressGateways(IstioIngressGatewayArgs.builder()
                        .enabled(false)
                        .mode("string")
                        .build())
                    .build())
                .revisions("string")
                .build())
            .build())
        .servicePrincipalProfile(ManagedClusterServicePrincipalProfileArgs.builder()
            .clientId("string")
            .secret("string")
            .build())
        .sku(ManagedClusterSKUArgs.builder()
            .name("string")
            .tier("string")
            .build())
        .storageProfile(ManagedClusterStorageProfileArgs.builder()
            .blobCSIDriver(ManagedClusterStorageProfileBlobCSIDriverArgs.builder()
                .enabled(false)
                .build())
            .diskCSIDriver(ManagedClusterStorageProfileDiskCSIDriverArgs.builder()
                .enabled(false)
                .build())
            .fileCSIDriver(ManagedClusterStorageProfileFileCSIDriverArgs.builder()
                .enabled(false)
                .build())
            .snapshotController(ManagedClusterStorageProfileSnapshotControllerArgs.builder()
                .enabled(false)
                .build())
            .build())
        .supportPlan("string")
        .tags(Map.of("string", "string"))
        .upgradeSettings(ClusterUpgradeSettingsArgs.builder()
            .overrideSettings(UpgradeOverrideSettingsArgs.builder()
                .forceUpgrade(false)
                .until("string")
                .build())
            .build())
        .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
            .adminUsername("string")
            .adminPassword("string")
            .enableCSIProxy(false)
            .gmsaProfile(WindowsGmsaProfileArgs.builder()
                .dnsServer("string")
                .enabled(false)
                .rootDomainName("string")
                .build())
            .licenseType("string")
            .build())
        .workloadAutoScalerProfile(ManagedClusterWorkloadAutoScalerProfileArgs.builder()
            .keda(ManagedClusterWorkloadAutoScalerProfileKedaArgs.builder()
                .enabled(false)
                .build())
            .verticalPodAutoscaler(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs.builder()
                .enabled(false)
                .build())
            .build())
        .build());
    
    managed_cluster_resource = azure_native.containerservice.ManagedCluster("managedClusterResource",
        resource_group_name="string",
        location="string",
        metrics_profile={
            "cost_analysis": {
                "enabled": False,
            },
        },
        ai_toolchain_operator_profile={
            "enabled": False,
        },
        api_server_access_profile={
            "authorized_ip_ranges": ["string"],
            "disable_run_command": False,
            "enable_private_cluster": False,
            "enable_private_cluster_public_fqdn": False,
            "enable_vnet_integration": False,
            "private_dns_zone": "string",
            "subnet_id": "string",
        },
        auto_scaler_profile={
            "balance_similar_node_groups": "string",
            "daemonset_eviction_for_empty_nodes": False,
            "daemonset_eviction_for_occupied_nodes": False,
            "expander": "string",
            "ignore_daemonsets_utilization": False,
            "max_empty_bulk_delete": "string",
            "max_graceful_termination_sec": "string",
            "max_node_provision_time": "string",
            "max_total_unready_percentage": "string",
            "new_pod_scale_up_delay": "string",
            "ok_total_unready_count": "string",
            "scale_down_delay_after_add": "string",
            "scale_down_delay_after_delete": "string",
            "scale_down_delay_after_failure": "string",
            "scale_down_unneeded_time": "string",
            "scale_down_unready_time": "string",
            "scale_down_utilization_threshold": "string",
            "scan_interval": "string",
            "skip_nodes_with_local_storage": "string",
            "skip_nodes_with_system_pods": "string",
        },
        auto_upgrade_profile={
            "node_os_upgrade_channel": "string",
            "upgrade_channel": "string",
        },
        azure_monitor_profile={
            "metrics": {
                "enabled": False,
                "kube_state_metrics": {
                    "metric_annotations_allow_list": "string",
                    "metric_labels_allowlist": "string",
                },
            },
        },
        bootstrap_profile={
            "artifact_source": "string",
            "container_registry_id": "string",
        },
        disable_local_accounts=False,
        disk_encryption_set_id="string",
        dns_prefix="string",
        enable_rbac=False,
        extended_location={
            "name": "string",
            "type": "string",
        },
        fqdn_subdomain="string",
        http_proxy_config={
            "http_proxy": "string",
            "https_proxy": "string",
            "no_proxy": ["string"],
            "trusted_ca": "string",
        },
        identity={
            "delegated_resources": {
                "string": {
                    "location": "string",
                    "referral_resource": "string",
                    "resource_id": "string",
                    "tenant_id": "string",
                },
            },
            "type": azure_native.containerservice.ResourceIdentityType.SYSTEM_ASSIGNED,
            "user_assigned_identities": ["string"],
        },
        identity_profile={
            "string": {
                "client_id": "string",
                "object_id": "string",
                "resource_id": "string",
            },
        },
        aad_profile={
            "admin_group_object_ids": ["string"],
            "client_app_id": "string",
            "enable_azure_rbac": False,
            "managed": False,
            "server_app_id": "string",
            "server_app_secret": "string",
            "tenant_id": "string",
        },
        kind="string",
        kubernetes_version="string",
        agent_pool_profiles=[{
            "name": "string",
            "availability_zones": ["string"],
            "capacity_reservation_group_id": "string",
            "count": 0,
            "creation_data": {
                "source_resource_id": "string",
            },
            "enable_auto_scaling": False,
            "enable_encryption_at_host": False,
            "enable_fips": False,
            "enable_node_public_ip": False,
            "enable_ultra_ssd": False,
            "gateway_profile": {
                "public_ip_prefix_size": 0,
            },
            "gpu_instance_profile": "string",
            "gpu_profile": {
                "driver": "string",
            },
            "host_group_id": "string",
            "kubelet_config": {
                "allowed_unsafe_sysctls": ["string"],
                "container_log_max_files": 0,
                "container_log_max_size_mb": 0,
                "cpu_cfs_quota": False,
                "cpu_cfs_quota_period": "string",
                "cpu_manager_policy": "string",
                "fail_swap_on": False,
                "image_gc_high_threshold": 0,
                "image_gc_low_threshold": 0,
                "pod_max_pids": 0,
                "topology_manager_policy": "string",
            },
            "kubelet_disk_type": "string",
            "linux_os_config": {
                "swap_file_size_mb": 0,
                "sysctls": {
                    "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": "string",
                    "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_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_ipv4_tcpkeepalive_intvl": 0,
                    "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",
            },
            "local_dns_profile": {
                "kube_dns_overrides": {
                    "string": {
                        "cache_duration_in_seconds": 0,
                        "forward_destination": "string",
                        "forward_policy": "string",
                        "max_concurrent": 0,
                        "protocol": "string",
                        "query_logging": "string",
                        "serve_stale": "string",
                        "serve_stale_duration_in_seconds": 0,
                    },
                },
                "mode": "string",
                "vnet_dns_overrides": {
                    "string": {
                        "cache_duration_in_seconds": 0,
                        "forward_destination": "string",
                        "forward_policy": "string",
                        "max_concurrent": 0,
                        "protocol": "string",
                        "query_logging": "string",
                        "serve_stale": "string",
                        "serve_stale_duration_in_seconds": 0,
                    },
                },
            },
            "max_count": 0,
            "max_pods": 0,
            "message_of_the_day": "string",
            "min_count": 0,
            "mode": "string",
            "network_profile": {
                "allowed_host_ports": [{
                    "port_end": 0,
                    "port_start": 0,
                    "protocol": "string",
                }],
                "application_security_groups": ["string"],
                "node_public_ip_tags": [{
                    "ip_tag_type": "string",
                    "tag": "string",
                }],
            },
            "node_labels": {
                "string": "string",
            },
            "node_public_ip_prefix_id": "string",
            "node_taints": ["string"],
            "orchestrator_version": "string",
            "os_disk_size_gb": 0,
            "os_disk_type": "string",
            "os_sku": "string",
            "os_type": "string",
            "pod_ip_allocation_mode": "string",
            "pod_subnet_id": "string",
            "power_state": {
                "code": "string",
            },
            "proximity_placement_group_id": "string",
            "scale_down_mode": "string",
            "scale_set_eviction_policy": "string",
            "scale_set_priority": "string",
            "security_profile": {
                "enable_secure_boot": False,
                "enable_vtpm": False,
                "ssh_access": "string",
            },
            "spot_max_price": float(0),
            "tags": {
                "string": "string",
            },
            "type": "string",
            "upgrade_settings": {
                "drain_timeout_in_minutes": 0,
                "max_surge": "string",
                "max_unavailable": "string",
                "node_soak_duration_in_minutes": 0,
                "undrainable_node_behavior": "string",
            },
            "virtual_machine_nodes_status": [{
                "count": 0,
                "size": "string",
            }],
            "virtual_machines_profile": {
                "scale": {
                    "manual": [{
                        "count": 0,
                        "size": "string",
                    }],
                },
            },
            "vm_size": "string",
            "vnet_subnet_id": "string",
            "windows_profile": {
                "disable_outbound_nat": False,
            },
            "workload_runtime": "string",
        }],
        linux_profile={
            "admin_username": "string",
            "ssh": {
                "public_keys": [{
                    "key_data": "string",
                }],
            },
        },
        ingress_profile={
            "web_app_routing": {
                "dns_zone_resource_ids": ["string"],
                "enabled": False,
                "nginx": {
                    "default_ingress_controller_type": "string",
                },
            },
        },
        network_profile={
            "advanced_networking": {
                "enabled": False,
                "observability": {
                    "enabled": False,
                },
                "security": {
                    "advanced_network_policies": "string",
                    "enabled": False,
                },
            },
            "dns_service_ip": "string",
            "ip_families": ["string"],
            "load_balancer_profile": {
                "allocated_outbound_ports": 0,
                "backend_pool_type": "string",
                "enable_multiple_standard_load_balancers": False,
                "idle_timeout_in_minutes": 0,
                "managed_outbound_ips": {
                    "count": 0,
                    "count_i_pv6": 0,
                },
                "outbound_ip_prefixes": {
                    "public_ip_prefixes": [{
                        "id": "string",
                    }],
                },
                "outbound_ips": {
                    "public_ips": [{
                        "id": "string",
                    }],
                },
            },
            "load_balancer_sku": "string",
            "nat_gateway_profile": {
                "idle_timeout_in_minutes": 0,
                "managed_outbound_ip_profile": {
                    "count": 0,
                },
            },
            "network_dataplane": "string",
            "network_mode": "string",
            "network_plugin": "string",
            "network_plugin_mode": "string",
            "network_policy": "string",
            "outbound_type": "string",
            "pod_cidr": "string",
            "pod_cidrs": ["string"],
            "service_cidr": "string",
            "service_cidrs": ["string"],
            "static_egress_gateway_profile": {
                "enabled": False,
            },
        },
        node_provisioning_profile={
            "default_node_pools": "string",
            "mode": "string",
        },
        node_resource_group="string",
        node_resource_group_profile={
            "restriction_level": "string",
        },
        oidc_issuer_profile={
            "enabled": False,
        },
        pod_identity_profile={
            "allow_network_plugin_kubenet": False,
            "enabled": False,
            "user_assigned_identities": [{
                "identity": {
                    "client_id": "string",
                    "object_id": "string",
                    "resource_id": "string",
                },
                "name": "string",
                "namespace": "string",
                "binding_selector": "string",
            }],
            "user_assigned_identity_exceptions": [{
                "name": "string",
                "namespace": "string",
                "pod_labels": {
                    "string": "string",
                },
            }],
        },
        private_link_resources=[{
            "group_id": "string",
            "id": "string",
            "name": "string",
            "required_members": ["string"],
            "type": "string",
        }],
        public_network_access="string",
        addon_profiles={
            "string": {
                "enabled": False,
                "config": {
                    "string": "string",
                },
            },
        },
        resource_name_="string",
        security_profile={
            "azure_key_vault_kms": {
                "enabled": False,
                "key_id": "string",
                "key_vault_network_access": "string",
                "key_vault_resource_id": "string",
            },
            "custom_ca_trust_certificates": ["string"],
            "defender": {
                "log_analytics_workspace_resource_id": "string",
                "security_monitoring": {
                    "enabled": False,
                },
            },
            "image_cleaner": {
                "enabled": False,
                "interval_hours": 0,
            },
            "workload_identity": {
                "enabled": False,
            },
        },
        service_mesh_profile={
            "mode": "string",
            "istio": {
                "certificate_authority": {
                    "plugin": {
                        "cert_chain_object_name": "string",
                        "cert_object_name": "string",
                        "key_object_name": "string",
                        "key_vault_id": "string",
                        "root_cert_object_name": "string",
                    },
                },
                "components": {
                    "egress_gateways": [{
                        "enabled": False,
                        "name": "string",
                        "gateway_configuration_name": "string",
                        "namespace": "string",
                    }],
                    "ingress_gateways": [{
                        "enabled": False,
                        "mode": "string",
                    }],
                },
                "revisions": ["string"],
            },
        },
        service_principal_profile={
            "client_id": "string",
            "secret": "string",
        },
        sku={
            "name": "string",
            "tier": "string",
        },
        storage_profile={
            "blob_csi_driver": {
                "enabled": False,
            },
            "disk_csi_driver": {
                "enabled": False,
            },
            "file_csi_driver": {
                "enabled": False,
            },
            "snapshot_controller": {
                "enabled": False,
            },
        },
        support_plan="string",
        tags={
            "string": "string",
        },
        upgrade_settings={
            "override_settings": {
                "force_upgrade": False,
                "until": "string",
            },
        },
        windows_profile={
            "admin_username": "string",
            "admin_password": "string",
            "enable_csi_proxy": False,
            "gmsa_profile": {
                "dns_server": "string",
                "enabled": False,
                "root_domain_name": "string",
            },
            "license_type": "string",
        },
        workload_auto_scaler_profile={
            "keda": {
                "enabled": False,
            },
            "vertical_pod_autoscaler": {
                "enabled": False,
            },
        })
    
    const managedClusterResource = new azure_native.containerservice.ManagedCluster("managedClusterResource", {
        resourceGroupName: "string",
        location: "string",
        metricsProfile: {
            costAnalysis: {
                enabled: false,
            },
        },
        aiToolchainOperatorProfile: {
            enabled: false,
        },
        apiServerAccessProfile: {
            authorizedIPRanges: ["string"],
            disableRunCommand: false,
            enablePrivateCluster: false,
            enablePrivateClusterPublicFQDN: false,
            enableVnetIntegration: false,
            privateDNSZone: "string",
            subnetId: "string",
        },
        autoScalerProfile: {
            balanceSimilarNodeGroups: "string",
            daemonsetEvictionForEmptyNodes: false,
            daemonsetEvictionForOccupiedNodes: false,
            expander: "string",
            ignoreDaemonsetsUtilization: false,
            maxEmptyBulkDelete: "string",
            maxGracefulTerminationSec: "string",
            maxNodeProvisionTime: "string",
            maxTotalUnreadyPercentage: "string",
            newPodScaleUpDelay: "string",
            okTotalUnreadyCount: "string",
            scaleDownDelayAfterAdd: "string",
            scaleDownDelayAfterDelete: "string",
            scaleDownDelayAfterFailure: "string",
            scaleDownUnneededTime: "string",
            scaleDownUnreadyTime: "string",
            scaleDownUtilizationThreshold: "string",
            scanInterval: "string",
            skipNodesWithLocalStorage: "string",
            skipNodesWithSystemPods: "string",
        },
        autoUpgradeProfile: {
            nodeOSUpgradeChannel: "string",
            upgradeChannel: "string",
        },
        azureMonitorProfile: {
            metrics: {
                enabled: false,
                kubeStateMetrics: {
                    metricAnnotationsAllowList: "string",
                    metricLabelsAllowlist: "string",
                },
            },
        },
        bootstrapProfile: {
            artifactSource: "string",
            containerRegistryId: "string",
        },
        disableLocalAccounts: false,
        diskEncryptionSetID: "string",
        dnsPrefix: "string",
        enableRBAC: false,
        extendedLocation: {
            name: "string",
            type: "string",
        },
        fqdnSubdomain: "string",
        httpProxyConfig: {
            httpProxy: "string",
            httpsProxy: "string",
            noProxy: ["string"],
            trustedCa: "string",
        },
        identity: {
            delegatedResources: {
                string: {
                    location: "string",
                    referralResource: "string",
                    resourceId: "string",
                    tenantId: "string",
                },
            },
            type: azure_native.containerservice.ResourceIdentityType.SystemAssigned,
            userAssignedIdentities: ["string"],
        },
        identityProfile: {
            string: {
                clientId: "string",
                objectId: "string",
                resourceId: "string",
            },
        },
        aadProfile: {
            adminGroupObjectIDs: ["string"],
            clientAppID: "string",
            enableAzureRBAC: false,
            managed: false,
            serverAppID: "string",
            serverAppSecret: "string",
            tenantID: "string",
        },
        kind: "string",
        kubernetesVersion: "string",
        agentPoolProfiles: [{
            name: "string",
            availabilityZones: ["string"],
            capacityReservationGroupID: "string",
            count: 0,
            creationData: {
                sourceResourceId: "string",
            },
            enableAutoScaling: false,
            enableEncryptionAtHost: false,
            enableFIPS: false,
            enableNodePublicIP: false,
            enableUltraSSD: false,
            gatewayProfile: {
                publicIPPrefixSize: 0,
            },
            gpuInstanceProfile: "string",
            gpuProfile: {
                driver: "string",
            },
            hostGroupID: "string",
            kubeletConfig: {
                allowedUnsafeSysctls: ["string"],
                containerLogMaxFiles: 0,
                containerLogMaxSizeMB: 0,
                cpuCfsQuota: false,
                cpuCfsQuotaPeriod: "string",
                cpuManagerPolicy: "string",
                failSwapOn: false,
                imageGcHighThreshold: 0,
                imageGcLowThreshold: 0,
                podMaxPids: 0,
                topologyManagerPolicy: "string",
            },
            kubeletDiskType: "string",
            linuxOSConfig: {
                swapFileSizeMB: 0,
                sysctls: {
                    fsAioMaxNr: 0,
                    fsFileMax: 0,
                    fsInotifyMaxUserWatches: 0,
                    fsNrOpen: 0,
                    kernelThreadsMax: 0,
                    netCoreNetdevMaxBacklog: 0,
                    netCoreOptmemMax: 0,
                    netCoreRmemDefault: 0,
                    netCoreRmemMax: 0,
                    netCoreSomaxconn: 0,
                    netCoreWmemDefault: 0,
                    netCoreWmemMax: 0,
                    netIpv4IpLocalPortRange: "string",
                    netIpv4NeighDefaultGcThresh1: 0,
                    netIpv4NeighDefaultGcThresh2: 0,
                    netIpv4NeighDefaultGcThresh3: 0,
                    netIpv4TcpFinTimeout: 0,
                    netIpv4TcpKeepaliveProbes: 0,
                    netIpv4TcpKeepaliveTime: 0,
                    netIpv4TcpMaxSynBacklog: 0,
                    netIpv4TcpMaxTwBuckets: 0,
                    netIpv4TcpTwReuse: false,
                    netIpv4TcpkeepaliveIntvl: 0,
                    netNetfilterNfConntrackBuckets: 0,
                    netNetfilterNfConntrackMax: 0,
                    vmMaxMapCount: 0,
                    vmSwappiness: 0,
                    vmVfsCachePressure: 0,
                },
                transparentHugePageDefrag: "string",
                transparentHugePageEnabled: "string",
            },
            localDNSProfile: {
                kubeDNSOverrides: {
                    string: {
                        cacheDurationInSeconds: 0,
                        forwardDestination: "string",
                        forwardPolicy: "string",
                        maxConcurrent: 0,
                        protocol: "string",
                        queryLogging: "string",
                        serveStale: "string",
                        serveStaleDurationInSeconds: 0,
                    },
                },
                mode: "string",
                vnetDNSOverrides: {
                    string: {
                        cacheDurationInSeconds: 0,
                        forwardDestination: "string",
                        forwardPolicy: "string",
                        maxConcurrent: 0,
                        protocol: "string",
                        queryLogging: "string",
                        serveStale: "string",
                        serveStaleDurationInSeconds: 0,
                    },
                },
            },
            maxCount: 0,
            maxPods: 0,
            messageOfTheDay: "string",
            minCount: 0,
            mode: "string",
            networkProfile: {
                allowedHostPorts: [{
                    portEnd: 0,
                    portStart: 0,
                    protocol: "string",
                }],
                applicationSecurityGroups: ["string"],
                nodePublicIPTags: [{
                    ipTagType: "string",
                    tag: "string",
                }],
            },
            nodeLabels: {
                string: "string",
            },
            nodePublicIPPrefixID: "string",
            nodeTaints: ["string"],
            orchestratorVersion: "string",
            osDiskSizeGB: 0,
            osDiskType: "string",
            osSKU: "string",
            osType: "string",
            podIPAllocationMode: "string",
            podSubnetID: "string",
            powerState: {
                code: "string",
            },
            proximityPlacementGroupID: "string",
            scaleDownMode: "string",
            scaleSetEvictionPolicy: "string",
            scaleSetPriority: "string",
            securityProfile: {
                enableSecureBoot: false,
                enableVTPM: false,
                sshAccess: "string",
            },
            spotMaxPrice: 0,
            tags: {
                string: "string",
            },
            type: "string",
            upgradeSettings: {
                drainTimeoutInMinutes: 0,
                maxSurge: "string",
                maxUnavailable: "string",
                nodeSoakDurationInMinutes: 0,
                undrainableNodeBehavior: "string",
            },
            virtualMachineNodesStatus: [{
                count: 0,
                size: "string",
            }],
            virtualMachinesProfile: {
                scale: {
                    manual: [{
                        count: 0,
                        size: "string",
                    }],
                },
            },
            vmSize: "string",
            vnetSubnetID: "string",
            windowsProfile: {
                disableOutboundNat: false,
            },
            workloadRuntime: "string",
        }],
        linuxProfile: {
            adminUsername: "string",
            ssh: {
                publicKeys: [{
                    keyData: "string",
                }],
            },
        },
        ingressProfile: {
            webAppRouting: {
                dnsZoneResourceIds: ["string"],
                enabled: false,
                nginx: {
                    defaultIngressControllerType: "string",
                },
            },
        },
        networkProfile: {
            advancedNetworking: {
                enabled: false,
                observability: {
                    enabled: false,
                },
                security: {
                    advancedNetworkPolicies: "string",
                    enabled: false,
                },
            },
            dnsServiceIP: "string",
            ipFamilies: ["string"],
            loadBalancerProfile: {
                allocatedOutboundPorts: 0,
                backendPoolType: "string",
                enableMultipleStandardLoadBalancers: false,
                idleTimeoutInMinutes: 0,
                managedOutboundIPs: {
                    count: 0,
                    countIPv6: 0,
                },
                outboundIPPrefixes: {
                    publicIPPrefixes: [{
                        id: "string",
                    }],
                },
                outboundIPs: {
                    publicIPs: [{
                        id: "string",
                    }],
                },
            },
            loadBalancerSku: "string",
            natGatewayProfile: {
                idleTimeoutInMinutes: 0,
                managedOutboundIPProfile: {
                    count: 0,
                },
            },
            networkDataplane: "string",
            networkMode: "string",
            networkPlugin: "string",
            networkPluginMode: "string",
            networkPolicy: "string",
            outboundType: "string",
            podCidr: "string",
            podCidrs: ["string"],
            serviceCidr: "string",
            serviceCidrs: ["string"],
            staticEgressGatewayProfile: {
                enabled: false,
            },
        },
        nodeProvisioningProfile: {
            defaultNodePools: "string",
            mode: "string",
        },
        nodeResourceGroup: "string",
        nodeResourceGroupProfile: {
            restrictionLevel: "string",
        },
        oidcIssuerProfile: {
            enabled: false,
        },
        podIdentityProfile: {
            allowNetworkPluginKubenet: false,
            enabled: false,
            userAssignedIdentities: [{
                identity: {
                    clientId: "string",
                    objectId: "string",
                    resourceId: "string",
                },
                name: "string",
                namespace: "string",
                bindingSelector: "string",
            }],
            userAssignedIdentityExceptions: [{
                name: "string",
                namespace: "string",
                podLabels: {
                    string: "string",
                },
            }],
        },
        privateLinkResources: [{
            groupId: "string",
            id: "string",
            name: "string",
            requiredMembers: ["string"],
            type: "string",
        }],
        publicNetworkAccess: "string",
        addonProfiles: {
            string: {
                enabled: false,
                config: {
                    string: "string",
                },
            },
        },
        resourceName: "string",
        securityProfile: {
            azureKeyVaultKms: {
                enabled: false,
                keyId: "string",
                keyVaultNetworkAccess: "string",
                keyVaultResourceId: "string",
            },
            customCATrustCertificates: ["string"],
            defender: {
                logAnalyticsWorkspaceResourceId: "string",
                securityMonitoring: {
                    enabled: false,
                },
            },
            imageCleaner: {
                enabled: false,
                intervalHours: 0,
            },
            workloadIdentity: {
                enabled: false,
            },
        },
        serviceMeshProfile: {
            mode: "string",
            istio: {
                certificateAuthority: {
                    plugin: {
                        certChainObjectName: "string",
                        certObjectName: "string",
                        keyObjectName: "string",
                        keyVaultId: "string",
                        rootCertObjectName: "string",
                    },
                },
                components: {
                    egressGateways: [{
                        enabled: false,
                        name: "string",
                        gatewayConfigurationName: "string",
                        namespace: "string",
                    }],
                    ingressGateways: [{
                        enabled: false,
                        mode: "string",
                    }],
                },
                revisions: ["string"],
            },
        },
        servicePrincipalProfile: {
            clientId: "string",
            secret: "string",
        },
        sku: {
            name: "string",
            tier: "string",
        },
        storageProfile: {
            blobCSIDriver: {
                enabled: false,
            },
            diskCSIDriver: {
                enabled: false,
            },
            fileCSIDriver: {
                enabled: false,
            },
            snapshotController: {
                enabled: false,
            },
        },
        supportPlan: "string",
        tags: {
            string: "string",
        },
        upgradeSettings: {
            overrideSettings: {
                forceUpgrade: false,
                until: "string",
            },
        },
        windowsProfile: {
            adminUsername: "string",
            adminPassword: "string",
            enableCSIProxy: false,
            gmsaProfile: {
                dnsServer: "string",
                enabled: false,
                rootDomainName: "string",
            },
            licenseType: "string",
        },
        workloadAutoScalerProfile: {
            keda: {
                enabled: false,
            },
            verticalPodAutoscaler: {
                enabled: false,
            },
        },
    });
    
    type: azure-native:containerservice:ManagedCluster
    properties:
        aadProfile:
            adminGroupObjectIDs:
                - string
            clientAppID: string
            enableAzureRBAC: false
            managed: false
            serverAppID: string
            serverAppSecret: string
            tenantID: string
        addonProfiles:
            string:
                config:
                    string: string
                enabled: false
        agentPoolProfiles:
            - availabilityZones:
                - string
              capacityReservationGroupID: string
              count: 0
              creationData:
                sourceResourceId: string
              enableAutoScaling: false
              enableEncryptionAtHost: false
              enableFIPS: false
              enableNodePublicIP: false
              enableUltraSSD: false
              gatewayProfile:
                publicIPPrefixSize: 0
              gpuInstanceProfile: string
              gpuProfile:
                driver: string
              hostGroupID: string
              kubeletConfig:
                allowedUnsafeSysctls:
                    - string
                containerLogMaxFiles: 0
                containerLogMaxSizeMB: 0
                cpuCfsQuota: false
                cpuCfsQuotaPeriod: string
                cpuManagerPolicy: string
                failSwapOn: false
                imageGcHighThreshold: 0
                imageGcLowThreshold: 0
                podMaxPids: 0
                topologyManagerPolicy: string
              kubeletDiskType: string
              linuxOSConfig:
                swapFileSizeMB: 0
                sysctls:
                    fsAioMaxNr: 0
                    fsFileMax: 0
                    fsInotifyMaxUserWatches: 0
                    fsNrOpen: 0
                    kernelThreadsMax: 0
                    netCoreNetdevMaxBacklog: 0
                    netCoreOptmemMax: 0
                    netCoreRmemDefault: 0
                    netCoreRmemMax: 0
                    netCoreSomaxconn: 0
                    netCoreWmemDefault: 0
                    netCoreWmemMax: 0
                    netIpv4IpLocalPortRange: string
                    netIpv4NeighDefaultGcThresh1: 0
                    netIpv4NeighDefaultGcThresh2: 0
                    netIpv4NeighDefaultGcThresh3: 0
                    netIpv4TcpFinTimeout: 0
                    netIpv4TcpKeepaliveProbes: 0
                    netIpv4TcpKeepaliveTime: 0
                    netIpv4TcpMaxSynBacklog: 0
                    netIpv4TcpMaxTwBuckets: 0
                    netIpv4TcpTwReuse: false
                    netIpv4TcpkeepaliveIntvl: 0
                    netNetfilterNfConntrackBuckets: 0
                    netNetfilterNfConntrackMax: 0
                    vmMaxMapCount: 0
                    vmSwappiness: 0
                    vmVfsCachePressure: 0
                transparentHugePageDefrag: string
                transparentHugePageEnabled: string
              localDNSProfile:
                kubeDNSOverrides:
                    string:
                        cacheDurationInSeconds: 0
                        forwardDestination: string
                        forwardPolicy: string
                        maxConcurrent: 0
                        protocol: string
                        queryLogging: string
                        serveStale: string
                        serveStaleDurationInSeconds: 0
                mode: string
                vnetDNSOverrides:
                    string:
                        cacheDurationInSeconds: 0
                        forwardDestination: string
                        forwardPolicy: string
                        maxConcurrent: 0
                        protocol: string
                        queryLogging: string
                        serveStale: string
                        serveStaleDurationInSeconds: 0
              maxCount: 0
              maxPods: 0
              messageOfTheDay: string
              minCount: 0
              mode: string
              name: string
              networkProfile:
                allowedHostPorts:
                    - portEnd: 0
                      portStart: 0
                      protocol: string
                applicationSecurityGroups:
                    - string
                nodePublicIPTags:
                    - ipTagType: string
                      tag: string
              nodeLabels:
                string: string
              nodePublicIPPrefixID: string
              nodeTaints:
                - string
              orchestratorVersion: string
              osDiskSizeGB: 0
              osDiskType: string
              osSKU: string
              osType: string
              podIPAllocationMode: string
              podSubnetID: string
              powerState:
                code: string
              proximityPlacementGroupID: string
              scaleDownMode: string
              scaleSetEvictionPolicy: string
              scaleSetPriority: string
              securityProfile:
                enableSecureBoot: false
                enableVTPM: false
                sshAccess: string
              spotMaxPrice: 0
              tags:
                string: string
              type: string
              upgradeSettings:
                drainTimeoutInMinutes: 0
                maxSurge: string
                maxUnavailable: string
                nodeSoakDurationInMinutes: 0
                undrainableNodeBehavior: string
              virtualMachineNodesStatus:
                - count: 0
                  size: string
              virtualMachinesProfile:
                scale:
                    manual:
                        - count: 0
                          size: string
              vmSize: string
              vnetSubnetID: string
              windowsProfile:
                disableOutboundNat: false
              workloadRuntime: string
        aiToolchainOperatorProfile:
            enabled: false
        apiServerAccessProfile:
            authorizedIPRanges:
                - string
            disableRunCommand: false
            enablePrivateCluster: false
            enablePrivateClusterPublicFQDN: false
            enableVnetIntegration: false
            privateDNSZone: string
            subnetId: string
        autoScalerProfile:
            balanceSimilarNodeGroups: string
            daemonsetEvictionForEmptyNodes: false
            daemonsetEvictionForOccupiedNodes: false
            expander: string
            ignoreDaemonsetsUtilization: false
            maxEmptyBulkDelete: string
            maxGracefulTerminationSec: string
            maxNodeProvisionTime: string
            maxTotalUnreadyPercentage: string
            newPodScaleUpDelay: string
            okTotalUnreadyCount: string
            scaleDownDelayAfterAdd: string
            scaleDownDelayAfterDelete: string
            scaleDownDelayAfterFailure: string
            scaleDownUnneededTime: string
            scaleDownUnreadyTime: string
            scaleDownUtilizationThreshold: string
            scanInterval: string
            skipNodesWithLocalStorage: string
            skipNodesWithSystemPods: string
        autoUpgradeProfile:
            nodeOSUpgradeChannel: string
            upgradeChannel: string
        azureMonitorProfile:
            metrics:
                enabled: false
                kubeStateMetrics:
                    metricAnnotationsAllowList: string
                    metricLabelsAllowlist: string
        bootstrapProfile:
            artifactSource: string
            containerRegistryId: string
        disableLocalAccounts: false
        diskEncryptionSetID: string
        dnsPrefix: string
        enableRBAC: false
        extendedLocation:
            name: string
            type: string
        fqdnSubdomain: string
        httpProxyConfig:
            httpProxy: string
            httpsProxy: string
            noProxy:
                - string
            trustedCa: string
        identity:
            delegatedResources:
                string:
                    location: string
                    referralResource: string
                    resourceId: string
                    tenantId: string
            type: SystemAssigned
            userAssignedIdentities:
                - string
        identityProfile:
            string:
                clientId: string
                objectId: string
                resourceId: string
        ingressProfile:
            webAppRouting:
                dnsZoneResourceIds:
                    - string
                enabled: false
                nginx:
                    defaultIngressControllerType: string
        kind: string
        kubernetesVersion: string
        linuxProfile:
            adminUsername: string
            ssh:
                publicKeys:
                    - keyData: string
        location: string
        metricsProfile:
            costAnalysis:
                enabled: false
        networkProfile:
            advancedNetworking:
                enabled: false
                observability:
                    enabled: false
                security:
                    advancedNetworkPolicies: string
                    enabled: false
            dnsServiceIP: string
            ipFamilies:
                - string
            loadBalancerProfile:
                allocatedOutboundPorts: 0
                backendPoolType: string
                enableMultipleStandardLoadBalancers: false
                idleTimeoutInMinutes: 0
                managedOutboundIPs:
                    count: 0
                    countIPv6: 0
                outboundIPPrefixes:
                    publicIPPrefixes:
                        - id: string
                outboundIPs:
                    publicIPs:
                        - id: string
            loadBalancerSku: string
            natGatewayProfile:
                idleTimeoutInMinutes: 0
                managedOutboundIPProfile:
                    count: 0
            networkDataplane: string
            networkMode: string
            networkPlugin: string
            networkPluginMode: string
            networkPolicy: string
            outboundType: string
            podCidr: string
            podCidrs:
                - string
            serviceCidr: string
            serviceCidrs:
                - string
            staticEgressGatewayProfile:
                enabled: false
        nodeProvisioningProfile:
            defaultNodePools: string
            mode: string
        nodeResourceGroup: string
        nodeResourceGroupProfile:
            restrictionLevel: string
        oidcIssuerProfile:
            enabled: false
        podIdentityProfile:
            allowNetworkPluginKubenet: false
            enabled: false
            userAssignedIdentities:
                - bindingSelector: string
                  identity:
                    clientId: string
                    objectId: string
                    resourceId: string
                  name: string
                  namespace: string
            userAssignedIdentityExceptions:
                - name: string
                  namespace: string
                  podLabels:
                    string: string
        privateLinkResources:
            - groupId: string
              id: string
              name: string
              requiredMembers:
                - string
              type: string
        publicNetworkAccess: string
        resourceGroupName: string
        resourceName: string
        securityProfile:
            azureKeyVaultKms:
                enabled: false
                keyId: string
                keyVaultNetworkAccess: string
                keyVaultResourceId: string
            customCATrustCertificates:
                - string
            defender:
                logAnalyticsWorkspaceResourceId: string
                securityMonitoring:
                    enabled: false
            imageCleaner:
                enabled: false
                intervalHours: 0
            workloadIdentity:
                enabled: false
        serviceMeshProfile:
            istio:
                certificateAuthority:
                    plugin:
                        certChainObjectName: string
                        certObjectName: string
                        keyObjectName: string
                        keyVaultId: string
                        rootCertObjectName: string
                components:
                    egressGateways:
                        - enabled: false
                          gatewayConfigurationName: string
                          name: string
                          namespace: string
                    ingressGateways:
                        - enabled: false
                          mode: string
                revisions:
                    - string
            mode: string
        servicePrincipalProfile:
            clientId: string
            secret: string
        sku:
            name: string
            tier: string
        storageProfile:
            blobCSIDriver:
                enabled: false
            diskCSIDriver:
                enabled: false
            fileCSIDriver:
                enabled: false
            snapshotController:
                enabled: false
        supportPlan: string
        tags:
            string: string
        upgradeSettings:
            overrideSettings:
                forceUpgrade: false
                until: string
        windowsProfile:
            adminPassword: string
            adminUsername: string
            enableCSIProxy: false
            gmsaProfile:
                dnsServer: string
                enabled: false
                rootDomainName: string
            licenseType: string
        workloadAutoScalerProfile:
            keda:
                enabled: false
            verticalPodAutoscaler:
                enabled: false
    

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

    ResourceGroupName string
    The name of the resource group. The name is case insensitive.
    AadProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAADProfile
    The Azure Active Directory configuration.
    AddonProfiles Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAddonProfileArgs>
    The profile of managed cluster add-on.
    AgentPoolProfiles List<Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfile>
    The agent pool properties.
    AiToolchainOperatorProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAIToolchainOperatorProfile
    AI toolchain operator settings that apply to the whole cluster.
    ApiServerAccessProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAPIServerAccessProfile
    The access profile for managed cluster API server.
    AutoScalerProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfile
    Parameters to be applied to the cluster-autoscaler when enabled
    AutoUpgradeProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAutoUpgradeProfile
    The auto upgrade configuration.
    AzureMonitorProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAzureMonitorProfile
    Azure Monitor addon profiles for monitoring the managed cluster.
    BootstrapProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterBootstrapProfile
    Profile of the cluster bootstrap configuration.
    DisableLocalAccounts bool
    If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts.
    DiskEncryptionSetID string
    The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    DnsPrefix string
    The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created.
    EnableRBAC bool
    Whether to enable Kubernetes Role-Based Access Control.
    ExtendedLocation Pulumi.AzureNative.ContainerService.Inputs.ExtendedLocation
    The extended location of the Virtual Machine.
    FqdnSubdomain string
    The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created.
    HttpProxyConfig Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterHTTPProxyConfig
    Configurations for provisioning the cluster with HTTP proxy servers.
    Identity Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterIdentity
    The identity of the managed cluster, if configured.
    IdentityProfile Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.UserAssignedIdentityArgs>
    The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
    IngressProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterIngressProfile
    Ingress profile for the managed cluster.
    Kind string
    This is primarily used to expose different UI experiences in the portal for different kinds
    KubernetesVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See upgrading an AKS cluster for more details.
    LinuxProfile Pulumi.AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfile
    The profile for Linux VMs in the Managed Cluster.
    Location string
    The geo-location where the resource lives
    MetricsProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterMetricsProfile
    Optional cluster metrics configuration.
    NetworkProfile Pulumi.AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfile
    The network configuration profile.
    NodeProvisioningProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterNodeProvisioningProfile
    Node provisioning settings that apply to the whole cluster.
    NodeResourceGroup string
    The name of the resource group containing agent pool nodes.
    NodeResourceGroupProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterNodeResourceGroupProfile
    Profile of the node resource group configuration.
    OidcIssuerProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterOIDCIssuerProfile
    The OIDC issuer profile of the Managed Cluster.
    PodIdentityProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityProfile
    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on AAD pod identity integration.
    PrivateLinkResources List<Pulumi.AzureNative.ContainerService.Inputs.PrivateLinkResource>
    Private link resources associated with the cluster.
    PublicNetworkAccess string | Pulumi.AzureNative.ContainerService.PublicNetworkAccess
    PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS
    ResourceName string
    The name of the managed cluster resource.
    SecurityProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfile
    Security profile for the managed cluster.
    ServiceMeshProfile Pulumi.AzureNative.ContainerService.Inputs.ServiceMeshProfile
    Service mesh profile for a managed cluster.
    ServicePrincipalProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterServicePrincipalProfile
    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    Sku Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSKU
    The managed cluster SKU.
    StorageProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterStorageProfile
    Storage profile for the managed cluster.
    SupportPlan string | Pulumi.AzureNative.ContainerService.KubernetesSupportPlan
    The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
    Tags Dictionary<string, string>
    Resource tags.
    UpgradeSettings Pulumi.AzureNative.ContainerService.Inputs.ClusterUpgradeSettings
    Settings for upgrading a cluster.
    WindowsProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterWindowsProfile
    The profile for Windows VMs in the Managed Cluster.
    WorkloadAutoScalerProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterWorkloadAutoScalerProfile
    Workload Auto-scaler profile for the managed cluster.
    ResourceGroupName string
    The name of the resource group. The name is case insensitive.
    AadProfile ManagedClusterAADProfileArgs
    The Azure Active Directory configuration.
    AddonProfiles map[string]ManagedClusterAddonProfileArgs
    The profile of managed cluster add-on.
    AgentPoolProfiles []ManagedClusterAgentPoolProfileArgs
    The agent pool properties.
    AiToolchainOperatorProfile ManagedClusterAIToolchainOperatorProfileArgs
    AI toolchain operator settings that apply to the whole cluster.
    ApiServerAccessProfile ManagedClusterAPIServerAccessProfileArgs
    The access profile for managed cluster API server.
    AutoScalerProfile ManagedClusterPropertiesAutoScalerProfileArgs
    Parameters to be applied to the cluster-autoscaler when enabled
    AutoUpgradeProfile ManagedClusterAutoUpgradeProfileArgs
    The auto upgrade configuration.
    AzureMonitorProfile ManagedClusterAzureMonitorProfileArgs
    Azure Monitor addon profiles for monitoring the managed cluster.
    BootstrapProfile ManagedClusterBootstrapProfileArgs
    Profile of the cluster bootstrap configuration.
    DisableLocalAccounts bool
    If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts.
    DiskEncryptionSetID string
    The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    DnsPrefix string
    The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created.
    EnableRBAC bool
    Whether to enable Kubernetes Role-Based Access Control.
    ExtendedLocation ExtendedLocationArgs
    The extended location of the Virtual Machine.
    FqdnSubdomain string
    The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created.
    HttpProxyConfig ManagedClusterHTTPProxyConfigArgs
    Configurations for provisioning the cluster with HTTP proxy servers.
    Identity ManagedClusterIdentityArgs
    The identity of the managed cluster, if configured.
    IdentityProfile map[string]UserAssignedIdentityArgs
    The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
    IngressProfile ManagedClusterIngressProfileArgs
    Ingress profile for the managed cluster.
    Kind string
    This is primarily used to expose different UI experiences in the portal for different kinds
    KubernetesVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See upgrading an AKS cluster for more details.
    LinuxProfile ContainerServiceLinuxProfileArgs
    The profile for Linux VMs in the Managed Cluster.
    Location string
    The geo-location where the resource lives
    MetricsProfile ManagedClusterMetricsProfileArgs
    Optional cluster metrics configuration.
    NetworkProfile ContainerServiceNetworkProfileArgs
    The network configuration profile.
    NodeProvisioningProfile ManagedClusterNodeProvisioningProfileArgs
    Node provisioning settings that apply to the whole cluster.
    NodeResourceGroup string
    The name of the resource group containing agent pool nodes.
    NodeResourceGroupProfile ManagedClusterNodeResourceGroupProfileArgs
    Profile of the node resource group configuration.
    OidcIssuerProfile ManagedClusterOIDCIssuerProfileArgs
    The OIDC issuer profile of the Managed Cluster.
    PodIdentityProfile ManagedClusterPodIdentityProfileArgs
    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on AAD pod identity integration.
    PrivateLinkResources []PrivateLinkResourceArgs
    Private link resources associated with the cluster.
    PublicNetworkAccess string | PublicNetworkAccess
    PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS
    ResourceName string
    The name of the managed cluster resource.
    SecurityProfile ManagedClusterSecurityProfileArgs
    Security profile for the managed cluster.
    ServiceMeshProfile ServiceMeshProfileArgs
    Service mesh profile for a managed cluster.
    ServicePrincipalProfile ManagedClusterServicePrincipalProfileArgs
    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    Sku ManagedClusterSKUArgs
    The managed cluster SKU.
    StorageProfile ManagedClusterStorageProfileArgs
    Storage profile for the managed cluster.
    SupportPlan string | KubernetesSupportPlan
    The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
    Tags map[string]string
    Resource tags.
    UpgradeSettings ClusterUpgradeSettingsArgs
    Settings for upgrading a cluster.
    WindowsProfile ManagedClusterWindowsProfileArgs
    The profile for Windows VMs in the Managed Cluster.
    WorkloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfileArgs
    Workload Auto-scaler profile for the managed cluster.
    resource_group_name string
    The name of the resource group. The name is case insensitive.
    aad_profile object
    The Azure Active Directory configuration.
    addon_profiles map(object)
    The profile of managed cluster add-on.
    agent_pool_profiles list(object)
    The agent pool properties.
    ai_toolchain_operator_profile object
    AI toolchain operator settings that apply to the whole cluster.
    api_server_access_profile object
    The access profile for managed cluster API server.
    auto_scaler_profile object
    Parameters to be applied to the cluster-autoscaler when enabled
    auto_upgrade_profile object
    The auto upgrade configuration.
    azure_monitor_profile object
    Azure Monitor addon profiles for monitoring the managed cluster.
    bootstrap_profile object
    Profile of the cluster bootstrap configuration.
    disable_local_accounts bool
    If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts.
    disk_encryption_set_id string
    The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dns_prefix string
    The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created.
    enable_rbac bool
    Whether to enable Kubernetes Role-Based Access Control.
    extended_location object
    The extended location of the Virtual Machine.
    fqdn_subdomain string
    The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created.
    http_proxy_config object
    Configurations for provisioning the cluster with HTTP proxy servers.
    identity object
    The identity of the managed cluster, if configured.
    identity_profile map(object)
    The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
    ingress_profile object
    Ingress profile for the managed cluster.
    kind string
    This is primarily used to expose different UI experiences in the portal for different kinds
    kubernetes_version string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See upgrading an AKS cluster for more details.
    linux_profile object
    The profile for Linux VMs in the Managed Cluster.
    location string
    The geo-location where the resource lives
    metrics_profile object
    Optional cluster metrics configuration.
    network_profile object
    The network configuration profile.
    node_provisioning_profile object
    Node provisioning settings that apply to the whole cluster.
    node_resource_group string
    The name of the resource group containing agent pool nodes.
    node_resource_group_profile object
    Profile of the node resource group configuration.
    oidc_issuer_profile object
    The OIDC issuer profile of the Managed Cluster.
    pod_identity_profile object
    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on AAD pod identity integration.
    private_link_resources list(object)
    Private link resources associated with the cluster.
    public_network_access string | "Enabled" | "Disabled"
    PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS
    resource_name string
    The name of the managed cluster resource.
    security_profile object
    Security profile for the managed cluster.
    service_mesh_profile object
    Service mesh profile for a managed cluster.
    service_principal_profile object
    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    sku object
    The managed cluster SKU.
    storage_profile object
    Storage profile for the managed cluster.
    support_plan string | "KubernetesOfficial" | "AKSLongTermSupport"
    The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
    tags map(string)
    Resource tags.
    upgrade_settings object
    Settings for upgrading a cluster.
    windows_profile object
    The profile for Windows VMs in the Managed Cluster.
    workload_auto_scaler_profile object
    Workload Auto-scaler profile for the managed cluster.
    resourceGroupName String
    The name of the resource group. The name is case insensitive.
    aadProfile ManagedClusterAADProfile
    The Azure Active Directory configuration.
    addonProfiles Map<String,ManagedClusterAddonProfileArgs>
    The profile of managed cluster add-on.
    agentPoolProfiles List<ManagedClusterAgentPoolProfile>
    The agent pool properties.
    aiToolchainOperatorProfile ManagedClusterAIToolchainOperatorProfile
    AI toolchain operator settings that apply to the whole cluster.
    apiServerAccessProfile ManagedClusterAPIServerAccessProfile
    The access profile for managed cluster API server.
    autoScalerProfile ManagedClusterPropertiesAutoScalerProfile
    Parameters to be applied to the cluster-autoscaler when enabled
    autoUpgradeProfile ManagedClusterAutoUpgradeProfile
    The auto upgrade configuration.
    azureMonitorProfile ManagedClusterAzureMonitorProfile
    Azure Monitor addon profiles for monitoring the managed cluster.
    bootstrapProfile ManagedClusterBootstrapProfile
    Profile of the cluster bootstrap configuration.
    disableLocalAccounts Boolean
    If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts.
    diskEncryptionSetID String
    The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dnsPrefix String
    The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created.
    enableRBAC Boolean
    Whether to enable Kubernetes Role-Based Access Control.
    extendedLocation ExtendedLocation
    The extended location of the Virtual Machine.
    fqdnSubdomain String
    The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created.
    httpProxyConfig ManagedClusterHTTPProxyConfig
    Configurations for provisioning the cluster with HTTP proxy servers.
    identity ManagedClusterIdentity
    The identity of the managed cluster, if configured.
    identityProfile Map<String,UserAssignedIdentityArgs>
    The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
    ingressProfile ManagedClusterIngressProfile
    Ingress profile for the managed cluster.
    kind String
    This is primarily used to expose different UI experiences in the portal for different kinds
    kubernetesVersion String
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See upgrading an AKS cluster for more details.
    linuxProfile ContainerServiceLinuxProfile
    The profile for Linux VMs in the Managed Cluster.
    location String
    The geo-location where the resource lives
    metricsProfile ManagedClusterMetricsProfile
    Optional cluster metrics configuration.
    networkProfile ContainerServiceNetworkProfile
    The network configuration profile.
    nodeProvisioningProfile ManagedClusterNodeProvisioningProfile
    Node provisioning settings that apply to the whole cluster.
    nodeResourceGroup String
    The name of the resource group containing agent pool nodes.
    nodeResourceGroupProfile ManagedClusterNodeResourceGroupProfile
    Profile of the node resource group configuration.
    oidcIssuerProfile ManagedClusterOIDCIssuerProfile
    The OIDC issuer profile of the Managed Cluster.
    podIdentityProfile ManagedClusterPodIdentityProfile
    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on AAD pod identity integration.
    privateLinkResources List<PrivateLinkResource>
    Private link resources associated with the cluster.
    publicNetworkAccess String | PublicNetworkAccess
    PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS
    resourceName String
    The name of the managed cluster resource.
    securityProfile ManagedClusterSecurityProfile
    Security profile for the managed cluster.
    serviceMeshProfile ServiceMeshProfile
    Service mesh profile for a managed cluster.
    servicePrincipalProfile ManagedClusterServicePrincipalProfile
    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    sku ManagedClusterSKU
    The managed cluster SKU.
    storageProfile ManagedClusterStorageProfile
    Storage profile for the managed cluster.
    supportPlan String | KubernetesSupportPlan
    The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
    tags Map<String,String>
    Resource tags.
    upgradeSettings ClusterUpgradeSettings
    Settings for upgrading a cluster.
    windowsProfile ManagedClusterWindowsProfile
    The profile for Windows VMs in the Managed Cluster.
    workloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfile
    Workload Auto-scaler profile for the managed cluster.
    resourceGroupName string
    The name of the resource group. The name is case insensitive.
    aadProfile ManagedClusterAADProfile
    The Azure Active Directory configuration.
    addonProfiles {[key: string]: ManagedClusterAddonProfileArgs}
    The profile of managed cluster add-on.
    agentPoolProfiles ManagedClusterAgentPoolProfile[]
    The agent pool properties.
    aiToolchainOperatorProfile ManagedClusterAIToolchainOperatorProfile
    AI toolchain operator settings that apply to the whole cluster.
    apiServerAccessProfile ManagedClusterAPIServerAccessProfile
    The access profile for managed cluster API server.
    autoScalerProfile ManagedClusterPropertiesAutoScalerProfile
    Parameters to be applied to the cluster-autoscaler when enabled
    autoUpgradeProfile ManagedClusterAutoUpgradeProfile
    The auto upgrade configuration.
    azureMonitorProfile ManagedClusterAzureMonitorProfile
    Azure Monitor addon profiles for monitoring the managed cluster.
    bootstrapProfile ManagedClusterBootstrapProfile
    Profile of the cluster bootstrap configuration.
    disableLocalAccounts boolean
    If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts.
    diskEncryptionSetID string
    The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dnsPrefix string
    The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created.
    enableRBAC boolean
    Whether to enable Kubernetes Role-Based Access Control.
    extendedLocation ExtendedLocation
    The extended location of the Virtual Machine.
    fqdnSubdomain string
    The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created.
    httpProxyConfig ManagedClusterHTTPProxyConfig
    Configurations for provisioning the cluster with HTTP proxy servers.
    identity ManagedClusterIdentity
    The identity of the managed cluster, if configured.
    identityProfile {[key: string]: UserAssignedIdentityArgs}
    The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
    ingressProfile ManagedClusterIngressProfile
    Ingress profile for the managed cluster.
    kind string
    This is primarily used to expose different UI experiences in the portal for different kinds
    kubernetesVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See upgrading an AKS cluster for more details.
    linuxProfile ContainerServiceLinuxProfile
    The profile for Linux VMs in the Managed Cluster.
    location string
    The geo-location where the resource lives
    metricsProfile ManagedClusterMetricsProfile
    Optional cluster metrics configuration.
    networkProfile ContainerServiceNetworkProfile
    The network configuration profile.
    nodeProvisioningProfile ManagedClusterNodeProvisioningProfile
    Node provisioning settings that apply to the whole cluster.
    nodeResourceGroup string
    The name of the resource group containing agent pool nodes.
    nodeResourceGroupProfile ManagedClusterNodeResourceGroupProfile
    Profile of the node resource group configuration.
    oidcIssuerProfile ManagedClusterOIDCIssuerProfile
    The OIDC issuer profile of the Managed Cluster.
    podIdentityProfile ManagedClusterPodIdentityProfile
    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on AAD pod identity integration.
    privateLinkResources PrivateLinkResource[]
    Private link resources associated with the cluster.
    publicNetworkAccess string | PublicNetworkAccess
    PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS
    resourceName string
    The name of the managed cluster resource.
    securityProfile ManagedClusterSecurityProfile
    Security profile for the managed cluster.
    serviceMeshProfile ServiceMeshProfile
    Service mesh profile for a managed cluster.
    servicePrincipalProfile ManagedClusterServicePrincipalProfile
    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    sku ManagedClusterSKU
    The managed cluster SKU.
    storageProfile ManagedClusterStorageProfile
    Storage profile for the managed cluster.
    supportPlan string | KubernetesSupportPlan
    The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
    tags {[key: string]: string}
    Resource tags.
    upgradeSettings ClusterUpgradeSettings
    Settings for upgrading a cluster.
    windowsProfile ManagedClusterWindowsProfile
    The profile for Windows VMs in the Managed Cluster.
    workloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfile
    Workload Auto-scaler profile for the managed cluster.
    resource_group_name str
    The name of the resource group. The name is case insensitive.
    aad_profile ManagedClusterAADProfileArgs
    The Azure Active Directory configuration.
    addon_profiles Mapping[str, ManagedClusterAddonProfileArgs]
    The profile of managed cluster add-on.
    agent_pool_profiles Sequence[ManagedClusterAgentPoolProfileArgs]
    The agent pool properties.
    ai_toolchain_operator_profile ManagedClusterAIToolchainOperatorProfileArgs
    AI toolchain operator settings that apply to the whole cluster.
    api_server_access_profile ManagedClusterAPIServerAccessProfileArgs
    The access profile for managed cluster API server.
    auto_scaler_profile ManagedClusterPropertiesAutoScalerProfileArgs
    Parameters to be applied to the cluster-autoscaler when enabled
    auto_upgrade_profile ManagedClusterAutoUpgradeProfileArgs
    The auto upgrade configuration.
    azure_monitor_profile ManagedClusterAzureMonitorProfileArgs
    Azure Monitor addon profiles for monitoring the managed cluster.
    bootstrap_profile ManagedClusterBootstrapProfileArgs
    Profile of the cluster bootstrap configuration.
    disable_local_accounts bool
    If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts.
    disk_encryption_set_id str
    The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dns_prefix str
    The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created.
    enable_rbac bool
    Whether to enable Kubernetes Role-Based Access Control.
    extended_location ExtendedLocationArgs
    The extended location of the Virtual Machine.
    fqdn_subdomain str
    The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created.
    http_proxy_config ManagedClusterHTTPProxyConfigArgs
    Configurations for provisioning the cluster with HTTP proxy servers.
    identity ManagedClusterIdentityArgs
    The identity of the managed cluster, if configured.
    identity_profile Mapping[str, UserAssignedIdentityArgs]
    The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
    ingress_profile ManagedClusterIngressProfileArgs
    Ingress profile for the managed cluster.
    kind str
    This is primarily used to expose different UI experiences in the portal for different kinds
    kubernetes_version str
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See upgrading an AKS cluster for more details.
    linux_profile ContainerServiceLinuxProfileArgs
    The profile for Linux VMs in the Managed Cluster.
    location str
    The geo-location where the resource lives
    metrics_profile ManagedClusterMetricsProfileArgs
    Optional cluster metrics configuration.
    network_profile ContainerServiceNetworkProfileArgs
    The network configuration profile.
    node_provisioning_profile ManagedClusterNodeProvisioningProfileArgs
    Node provisioning settings that apply to the whole cluster.
    node_resource_group str
    The name of the resource group containing agent pool nodes.
    node_resource_group_profile ManagedClusterNodeResourceGroupProfileArgs
    Profile of the node resource group configuration.
    oidc_issuer_profile ManagedClusterOIDCIssuerProfileArgs
    The OIDC issuer profile of the Managed Cluster.
    pod_identity_profile ManagedClusterPodIdentityProfileArgs
    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on AAD pod identity integration.
    private_link_resources Sequence[PrivateLinkResourceArgs]
    Private link resources associated with the cluster.
    public_network_access str | PublicNetworkAccess
    PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS
    resource_name str
    The name of the managed cluster resource.
    security_profile ManagedClusterSecurityProfileArgs
    Security profile for the managed cluster.
    service_mesh_profile ServiceMeshProfileArgs
    Service mesh profile for a managed cluster.
    service_principal_profile ManagedClusterServicePrincipalProfileArgs
    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    sku ManagedClusterSKUArgs
    The managed cluster SKU.
    storage_profile ManagedClusterStorageProfileArgs
    Storage profile for the managed cluster.
    support_plan str | KubernetesSupportPlan
    The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
    tags Mapping[str, str]
    Resource tags.
    upgrade_settings ClusterUpgradeSettingsArgs
    Settings for upgrading a cluster.
    windows_profile ManagedClusterWindowsProfileArgs
    The profile for Windows VMs in the Managed Cluster.
    workload_auto_scaler_profile ManagedClusterWorkloadAutoScalerProfileArgs
    Workload Auto-scaler profile for the managed cluster.
    resourceGroupName String
    The name of the resource group. The name is case insensitive.
    aadProfile Property Map
    The Azure Active Directory configuration.
    addonProfiles Map<Property Map>
    The profile of managed cluster add-on.
    agentPoolProfiles List<Property Map>
    The agent pool properties.
    aiToolchainOperatorProfile Property Map
    AI toolchain operator settings that apply to the whole cluster.
    apiServerAccessProfile Property Map
    The access profile for managed cluster API server.
    autoScalerProfile Property Map
    Parameters to be applied to the cluster-autoscaler when enabled
    autoUpgradeProfile Property Map
    The auto upgrade configuration.
    azureMonitorProfile Property Map
    Azure Monitor addon profiles for monitoring the managed cluster.
    bootstrapProfile Property Map
    Profile of the cluster bootstrap configuration.
    disableLocalAccounts Boolean
    If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts.
    diskEncryptionSetID String
    The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dnsPrefix String
    The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created.
    enableRBAC Boolean
    Whether to enable Kubernetes Role-Based Access Control.
    extendedLocation Property Map
    The extended location of the Virtual Machine.
    fqdnSubdomain String
    The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created.
    httpProxyConfig Property Map
    Configurations for provisioning the cluster with HTTP proxy servers.
    identity Property Map
    The identity of the managed cluster, if configured.
    identityProfile Map<Property Map>
    The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
    ingressProfile Property Map
    Ingress profile for the managed cluster.
    kind String
    This is primarily used to expose different UI experiences in the portal for different kinds
    kubernetesVersion String
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See upgrading an AKS cluster for more details.
    linuxProfile Property Map
    The profile for Linux VMs in the Managed Cluster.
    location String
    The geo-location where the resource lives
    metricsProfile Property Map
    Optional cluster metrics configuration.
    networkProfile Property Map
    The network configuration profile.
    nodeProvisioningProfile Property Map
    Node provisioning settings that apply to the whole cluster.
    nodeResourceGroup String
    The name of the resource group containing agent pool nodes.
    nodeResourceGroupProfile Property Map
    Profile of the node resource group configuration.
    oidcIssuerProfile Property Map
    The OIDC issuer profile of the Managed Cluster.
    podIdentityProfile Property Map
    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on AAD pod identity integration.
    privateLinkResources List<Property Map>
    Private link resources associated with the cluster.
    publicNetworkAccess String | "Enabled" | "Disabled"
    PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS
    resourceName String
    The name of the managed cluster resource.
    securityProfile Property Map
    Security profile for the managed cluster.
    serviceMeshProfile Property Map
    Service mesh profile for a managed cluster.
    servicePrincipalProfile Property Map
    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    sku Property Map
    The managed cluster SKU.
    storageProfile Property Map
    Storage profile for the managed cluster.
    supportPlan String | "KubernetesOfficial" | "AKSLongTermSupport"
    The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
    tags Map<String>
    Resource tags.
    upgradeSettings Property Map
    Settings for upgrading a cluster.
    windowsProfile Property Map
    The profile for Windows VMs in the Managed Cluster.
    workloadAutoScalerProfile Property Map
    Workload Auto-scaler profile for the managed cluster.

    Outputs

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

    AzureApiVersion string
    The Azure API version of the resource.
    AzurePortalFQDN string
    The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.
    CurrentKubernetesVersion string
    The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used.
    ETag string
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    Fqdn string
    The FQDN of the master pool.
    Id string
    The provider-assigned unique ID for this managed resource.
    MaxAgentPools int
    The max number of agent pools for the managed cluster.
    Name string
    The name of the resource
    PowerState Pulumi.AzureNative.ContainerService.Outputs.PowerStateResponse
    The Power State of the cluster.
    PrivateFQDN string
    The FQDN of private cluster.
    ProvisioningState string
    The current provisioning state.
    ResourceUID string
    The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)
    SystemData Pulumi.AzureNative.ContainerService.Outputs.SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    Type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    Status Pulumi.AzureNative.ContainerService.Outputs.ManagedClusterStatusResponse
    Contains read-only information about the Managed Cluster.
    AzureApiVersion string
    The Azure API version of the resource.
    AzurePortalFQDN string
    The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.
    CurrentKubernetesVersion string
    The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used.
    ETag string
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    Fqdn string
    The FQDN of the master pool.
    Id string
    The provider-assigned unique ID for this managed resource.
    MaxAgentPools int
    The max number of agent pools for the managed cluster.
    Name string
    The name of the resource
    PowerState PowerStateResponse
    The Power State of the cluster.
    PrivateFQDN string
    The FQDN of private cluster.
    ProvisioningState string
    The current provisioning state.
    ResourceUID string
    The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)
    SystemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    Type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    Status ManagedClusterStatusResponse
    Contains read-only information about the Managed Cluster.
    azure_api_version string
    The Azure API version of the resource.
    azure_portal_fqdn string
    The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.
    current_kubernetes_version string
    The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used.
    e_tag string
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    fqdn string
    The FQDN of the master pool.
    id string
    The provider-assigned unique ID for this managed resource.
    max_agent_pools number
    The max number of agent pools for the managed cluster.
    name string
    The name of the resource
    power_state object
    The Power State of the cluster.
    private_fqdn string
    The FQDN of private cluster.
    provisioning_state string
    The current provisioning state.
    resource_uid string
    The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)
    system_data object
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    status object
    Contains read-only information about the Managed Cluster.
    azureApiVersion String
    The Azure API version of the resource.
    azurePortalFQDN String
    The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.
    currentKubernetesVersion String
    The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used.
    eTag String
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    fqdn String
    The FQDN of the master pool.
    id String
    The provider-assigned unique ID for this managed resource.
    maxAgentPools Integer
    The max number of agent pools for the managed cluster.
    name String
    The name of the resource
    powerState PowerStateResponse
    The Power State of the cluster.
    privateFQDN String
    The FQDN of private cluster.
    provisioningState String
    The current provisioning state.
    resourceUID String
    The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)
    systemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type String
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    status ManagedClusterStatusResponse
    Contains read-only information about the Managed Cluster.
    azureApiVersion string
    The Azure API version of the resource.
    azurePortalFQDN string
    The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.
    currentKubernetesVersion string
    The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used.
    eTag string
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    fqdn string
    The FQDN of the master pool.
    id string
    The provider-assigned unique ID for this managed resource.
    maxAgentPools number
    The max number of agent pools for the managed cluster.
    name string
    The name of the resource
    powerState PowerStateResponse
    The Power State of the cluster.
    privateFQDN string
    The FQDN of private cluster.
    provisioningState string
    The current provisioning state.
    resourceUID string
    The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)
    systemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    status ManagedClusterStatusResponse
    Contains read-only information about the Managed Cluster.
    azure_api_version str
    The Azure API version of the resource.
    azure_portal_fqdn str
    The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.
    current_kubernetes_version str
    The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used.
    e_tag str
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    fqdn str
    The FQDN of the master pool.
    id str
    The provider-assigned unique ID for this managed resource.
    max_agent_pools int
    The max number of agent pools for the managed cluster.
    name str
    The name of the resource
    power_state PowerStateResponse
    The Power State of the cluster.
    private_fqdn str
    The FQDN of private cluster.
    provisioning_state str
    The current provisioning state.
    resource_uid str
    The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)
    system_data SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type str
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    status ManagedClusterStatusResponse
    Contains read-only information about the Managed Cluster.
    azureApiVersion String
    The Azure API version of the resource.
    azurePortalFQDN String
    The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.
    currentKubernetesVersion String
    The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used.
    eTag String
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    fqdn String
    The FQDN of the master pool.
    id String
    The provider-assigned unique ID for this managed resource.
    maxAgentPools Number
    The max number of agent pools for the managed cluster.
    name String
    The name of the resource
    powerState Property Map
    The Power State of the cluster.
    privateFQDN String
    The FQDN of private cluster.
    provisioningState String
    The current provisioning state.
    resourceUID String
    The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)
    systemData Property Map
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type String
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    status Property Map
    Contains read-only information about the Managed Cluster.

    Supporting Types

    AdvancedNetworkPolicies, AdvancedNetworkPoliciesArgs

    L7
    L7 Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option.
    FQDN
    FQDN Enable FQDN based network policies
    None
    None Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)
    AdvancedNetworkPoliciesL7
    L7 Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option.
    AdvancedNetworkPoliciesFQDN
    FQDN Enable FQDN based network policies
    AdvancedNetworkPoliciesNone
    None Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)
    "L7"
    L7 Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option.
    "FQDN"
    FQDN Enable FQDN based network policies
    "None"
    None Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)
    L7
    L7 Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option.
    FQDN
    FQDN Enable FQDN based network policies
    None
    None Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)
    L7
    L7 Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option.
    FQDN
    FQDN Enable FQDN based network policies
    None
    None Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)
    L7
    L7 Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option.
    FQDN
    FQDN Enable FQDN based network policies
    NONE
    None Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)
    "L7"
    L7 Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option.
    "FQDN"
    FQDN Enable FQDN based network policies
    "None"
    None Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)

    AdvancedNetworking, AdvancedNetworkingArgs

    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    Enabled bool
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    Observability Pulumi.AzureNative.ContainerService.Inputs.AdvancedNetworkingObservability
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    Security Pulumi.AzureNative.ContainerService.Inputs.AdvancedNetworkingSecurity
    Security profile to enable security features on cilium based cluster.
    Enabled bool
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    Observability AdvancedNetworkingObservability
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    Security AdvancedNetworkingSecurity
    Security profile to enable security features on cilium based cluster.
    enabled bool
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability object
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security object
    Security profile to enable security features on cilium based cluster.
    enabled Boolean
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability AdvancedNetworkingObservability
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security AdvancedNetworkingSecurity
    Security profile to enable security features on cilium based cluster.
    enabled boolean
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability AdvancedNetworkingObservability
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security AdvancedNetworkingSecurity
    Security profile to enable security features on cilium based cluster.
    enabled bool
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability AdvancedNetworkingObservability
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security AdvancedNetworkingSecurity
    Security profile to enable security features on cilium based cluster.
    enabled Boolean
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability Property Map
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security Property Map
    Security profile to enable security features on cilium based cluster.

    AdvancedNetworkingObservability, AdvancedNetworkingObservabilityArgs

    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    Enabled bool
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    Enabled bool
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled bool
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled Boolean
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled boolean
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled bool
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled Boolean
    Indicates the enablement of Advanced Networking observability functionalities on clusters.

    AdvancedNetworkingObservabilityResponse, AdvancedNetworkingObservabilityResponseArgs

    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    Enabled bool
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    Enabled bool
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled bool
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled Boolean
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled boolean
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled bool
    Indicates the enablement of Advanced Networking observability functionalities on clusters.
    enabled Boolean
    Indicates the enablement of Advanced Networking observability functionalities on clusters.

    AdvancedNetworkingResponse, AdvancedNetworkingResponseArgs

    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    Enabled bool
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    Observability Pulumi.AzureNative.ContainerService.Inputs.AdvancedNetworkingObservabilityResponse
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    Security Pulumi.AzureNative.ContainerService.Inputs.AdvancedNetworkingSecurityResponse
    Security profile to enable security features on cilium based cluster.
    Enabled bool
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    Observability AdvancedNetworkingObservabilityResponse
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    Security AdvancedNetworkingSecurityResponse
    Security profile to enable security features on cilium based cluster.
    enabled bool
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability object
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security object
    Security profile to enable security features on cilium based cluster.
    enabled Boolean
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability AdvancedNetworkingObservabilityResponse
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security AdvancedNetworkingSecurityResponse
    Security profile to enable security features on cilium based cluster.
    enabled boolean
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability AdvancedNetworkingObservabilityResponse
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security AdvancedNetworkingSecurityResponse
    Security profile to enable security features on cilium based cluster.
    enabled bool
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability AdvancedNetworkingObservabilityResponse
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security AdvancedNetworkingSecurityResponse
    Security profile to enable security features on cilium based cluster.
    enabled Boolean
    Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false.
    observability Property Map
    Observability profile to enable advanced network metrics and flow logs with historical contexts.
    security Property Map
    Security profile to enable security features on cilium based cluster.

    AdvancedNetworkingSecurity, AdvancedNetworkingSecurityArgs

    Security profile to enable security features on cilium based cluster.
    AdvancedNetworkPolicies string | Pulumi.AzureNative.ContainerService.AdvancedNetworkPolicies
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    Enabled bool
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    AdvancedNetworkPolicies string | AdvancedNetworkPolicies
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    Enabled bool
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advanced_network_policies string | "L7" | "FQDN" | "None"
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled bool
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advancedNetworkPolicies String | AdvancedNetworkPolicies
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled Boolean
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advancedNetworkPolicies string | AdvancedNetworkPolicies
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled boolean
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advanced_network_policies str | AdvancedNetworkPolicies
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled bool
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advancedNetworkPolicies String | "L7" | "FQDN" | "None"
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled Boolean
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.

    AdvancedNetworkingSecurityResponse, AdvancedNetworkingSecurityResponseArgs

    Security profile to enable security features on cilium based cluster.
    AdvancedNetworkPolicies string
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    Enabled bool
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    AdvancedNetworkPolicies string
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    Enabled bool
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advanced_network_policies string
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled bool
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advancedNetworkPolicies String
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled Boolean
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advancedNetworkPolicies string
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled boolean
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advanced_network_policies str
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled bool
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.
    advancedNetworkPolicies String
    Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.
    enabled Boolean
    This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false.

    AgentPoolGatewayProfile, AgentPoolGatewayProfileArgs

    Profile of the managed cluster gateway agent pool.
    PublicIPPrefixSize int
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    PublicIPPrefixSize int
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    public_ip_prefix_size number
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    publicIPPrefixSize Integer
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    publicIPPrefixSize number
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    public_ip_prefix_size int
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    publicIPPrefixSize Number
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.

    AgentPoolGatewayProfileResponse, AgentPoolGatewayProfileResponseArgs

    Profile of the managed cluster gateway agent pool.
    PublicIPPrefixSize int
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    PublicIPPrefixSize int
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    public_ip_prefix_size number
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    publicIPPrefixSize Integer
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    publicIPPrefixSize number
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    public_ip_prefix_size int
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.
    publicIPPrefixSize Number
    The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.

    AgentPoolMode, AgentPoolModeArgs

    System
    System System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory.
    User
    User User agent pools are primarily for hosting your application pods.
    Gateway
    Gateway Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway.
    AgentPoolModeSystem
    System System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory.
    AgentPoolModeUser
    User User agent pools are primarily for hosting your application pods.
    AgentPoolModeGateway
    Gateway Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway.
    "System"
    System System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory.
    "User"
    User User agent pools are primarily for hosting your application pods.
    "Gateway"
    Gateway Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway.
    System
    System System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory.
    User
    User User agent pools are primarily for hosting your application pods.
    Gateway
    Gateway Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway.
    System
    System System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory.
    User
    User User agent pools are primarily for hosting your application pods.
    Gateway
    Gateway Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway.
    SYSTEM
    System System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory.
    USER
    User User agent pools are primarily for hosting your application pods.
    GATEWAY
    Gateway Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway.
    "System"
    System System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory.
    "User"
    User User agent pools are primarily for hosting your application pods.
    "Gateway"
    Gateway Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway.

    AgentPoolNetworkProfile, AgentPoolNetworkProfileArgs

    Network settings of an agent pool.
    AllowedHostPorts List<Pulumi.AzureNative.ContainerService.Inputs.PortRange>
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    ApplicationSecurityGroups List<string>
    The IDs of the application security groups which agent pool will associate when created.
    NodePublicIPTags List<Pulumi.AzureNative.ContainerService.Inputs.IPTag>
    IPTags of instance-level public IPs.
    AllowedHostPorts []PortRange
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    ApplicationSecurityGroups []string
    The IDs of the application security groups which agent pool will associate when created.
    NodePublicIPTags []IPTag
    IPTags of instance-level public IPs.
    allowed_host_ports list(object)
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    application_security_groups list(string)
    The IDs of the application security groups which agent pool will associate when created.
    node_public_ip_tags list(object)
    IPTags of instance-level public IPs.
    allowedHostPorts List<PortRange>
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    applicationSecurityGroups List<String>
    The IDs of the application security groups which agent pool will associate when created.
    nodePublicIPTags List<IPTag>
    IPTags of instance-level public IPs.
    allowedHostPorts PortRange[]
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    applicationSecurityGroups string[]
    The IDs of the application security groups which agent pool will associate when created.
    nodePublicIPTags IPTag[]
    IPTags of instance-level public IPs.
    allowed_host_ports Sequence[PortRange]
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    application_security_groups Sequence[str]
    The IDs of the application security groups which agent pool will associate when created.
    node_public_ip_tags Sequence[IPTag]
    IPTags of instance-level public IPs.
    allowedHostPorts List<Property Map>
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    applicationSecurityGroups List<String>
    The IDs of the application security groups which agent pool will associate when created.
    nodePublicIPTags List<Property Map>
    IPTags of instance-level public IPs.

    AgentPoolNetworkProfileResponse, AgentPoolNetworkProfileResponseArgs

    Network settings of an agent pool.
    AllowedHostPorts List<Pulumi.AzureNative.ContainerService.Inputs.PortRangeResponse>
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    ApplicationSecurityGroups List<string>
    The IDs of the application security groups which agent pool will associate when created.
    NodePublicIPTags List<Pulumi.AzureNative.ContainerService.Inputs.IPTagResponse>
    IPTags of instance-level public IPs.
    AllowedHostPorts []PortRangeResponse
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    ApplicationSecurityGroups []string
    The IDs of the application security groups which agent pool will associate when created.
    NodePublicIPTags []IPTagResponse
    IPTags of instance-level public IPs.
    allowed_host_ports list(object)
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    application_security_groups list(string)
    The IDs of the application security groups which agent pool will associate when created.
    node_public_ip_tags list(object)
    IPTags of instance-level public IPs.
    allowedHostPorts List<PortRangeResponse>
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    applicationSecurityGroups List<String>
    The IDs of the application security groups which agent pool will associate when created.
    nodePublicIPTags List<IPTagResponse>
    IPTags of instance-level public IPs.
    allowedHostPorts PortRangeResponse[]
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    applicationSecurityGroups string[]
    The IDs of the application security groups which agent pool will associate when created.
    nodePublicIPTags IPTagResponse[]
    IPTags of instance-level public IPs.
    allowed_host_ports Sequence[PortRangeResponse]
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    application_security_groups Sequence[str]
    The IDs of the application security groups which agent pool will associate when created.
    node_public_ip_tags Sequence[IPTagResponse]
    IPTags of instance-level public IPs.
    allowedHostPorts List<Property Map>
    The port ranges that are allowed to access. The specified ranges are allowed to overlap.
    applicationSecurityGroups List<String>
    The IDs of the application security groups which agent pool will associate when created.
    nodePublicIPTags List<Property Map>
    IPTags of instance-level public IPs.

    AgentPoolSSHAccess, AgentPoolSSHAccessArgs

    LocalUser
    LocalUser Can SSH onto the node as a local user using private key.
    Disabled
    Disabled SSH service will be turned off on the node.
    AgentPoolSSHAccessLocalUser
    LocalUser Can SSH onto the node as a local user using private key.
    AgentPoolSSHAccessDisabled
    Disabled SSH service will be turned off on the node.
    "LocalUser"
    LocalUser Can SSH onto the node as a local user using private key.
    "Disabled"
    Disabled SSH service will be turned off on the node.
    LocalUser
    LocalUser Can SSH onto the node as a local user using private key.
    Disabled
    Disabled SSH service will be turned off on the node.
    LocalUser
    LocalUser Can SSH onto the node as a local user using private key.
    Disabled
    Disabled SSH service will be turned off on the node.
    LOCAL_USER
    LocalUser Can SSH onto the node as a local user using private key.
    DISABLED
    Disabled SSH service will be turned off on the node.
    "LocalUser"
    LocalUser Can SSH onto the node as a local user using private key.
    "Disabled"
    Disabled SSH service will be turned off on the node.

    AgentPoolSecurityProfile, AgentPoolSecurityProfileArgs

    The security settings of an agent pool.
    EnableSecureBoot bool
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    EnableVTPM bool
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    SshAccess string | Pulumi.AzureNative.ContainerService.AgentPoolSSHAccess
    SSH access method of an agent pool.
    EnableSecureBoot bool
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    EnableVTPM bool
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    SshAccess string | AgentPoolSSHAccess
    SSH access method of an agent pool.
    enable_secure_boot bool
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enable_vtpm bool
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    ssh_access string | "LocalUser" | "Disabled"
    SSH access method of an agent pool.
    enableSecureBoot Boolean
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enableVTPM Boolean
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    sshAccess String | AgentPoolSSHAccess
    SSH access method of an agent pool.
    enableSecureBoot boolean
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enableVTPM boolean
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    sshAccess string | AgentPoolSSHAccess
    SSH access method of an agent pool.
    enable_secure_boot bool
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enable_vtpm bool
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    ssh_access str | AgentPoolSSHAccess
    SSH access method of an agent pool.
    enableSecureBoot Boolean
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enableVTPM Boolean
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    sshAccess String | "LocalUser" | "Disabled"
    SSH access method of an agent pool.

    AgentPoolSecurityProfileResponse, AgentPoolSecurityProfileResponseArgs

    The security settings of an agent pool.
    EnableSecureBoot bool
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    EnableVTPM bool
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    SshAccess string
    SSH access method of an agent pool.
    EnableSecureBoot bool
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    EnableVTPM bool
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    SshAccess string
    SSH access method of an agent pool.
    enable_secure_boot bool
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enable_vtpm bool
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    ssh_access string
    SSH access method of an agent pool.
    enableSecureBoot Boolean
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enableVTPM Boolean
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    sshAccess String
    SSH access method of an agent pool.
    enableSecureBoot boolean
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enableVTPM boolean
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    sshAccess string
    SSH access method of an agent pool.
    enable_secure_boot bool
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enable_vtpm bool
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    ssh_access str
    SSH access method of an agent pool.
    enableSecureBoot Boolean
    Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    enableVTPM Boolean
    vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false.
    sshAccess String
    SSH access method of an agent pool.

    AgentPoolStatusResponse, AgentPoolStatusResponseArgs

    Contains read-only information about the Agent Pool.
    ProvisioningError Pulumi.AzureNative.ContainerService.Inputs.ErrorDetailResponse
    The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.
    ProvisioningError ErrorDetailResponse
    The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioning_error object
    The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioningError ErrorDetailResponse
    The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioningError ErrorDetailResponse
    The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioning_error ErrorDetailResponse
    The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioningError Property Map
    The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.

    AgentPoolType, AgentPoolTypeArgs

    VirtualMachineScaleSets
    VirtualMachineScaleSets Create an Agent Pool backed by a Virtual Machine Scale Set.
    AvailabilitySet
    AvailabilitySet Use of this is strongly discouraged.
    VirtualMachines
    VirtualMachines Create an Agent Pool backed by a Single Instance VM orchestration mode.
    AgentPoolTypeVirtualMachineScaleSets
    VirtualMachineScaleSets Create an Agent Pool backed by a Virtual Machine Scale Set.
    AgentPoolTypeAvailabilitySet
    AvailabilitySet Use of this is strongly discouraged.
    AgentPoolTypeVirtualMachines
    VirtualMachines Create an Agent Pool backed by a Single Instance VM orchestration mode.
    "VirtualMachineScaleSets"
    VirtualMachineScaleSets Create an Agent Pool backed by a Virtual Machine Scale Set.
    "AvailabilitySet"
    AvailabilitySet Use of this is strongly discouraged.
    "VirtualMachines"
    VirtualMachines Create an Agent Pool backed by a Single Instance VM orchestration mode.
    VirtualMachineScaleSets
    VirtualMachineScaleSets Create an Agent Pool backed by a Virtual Machine Scale Set.
    AvailabilitySet
    AvailabilitySet Use of this is strongly discouraged.
    VirtualMachines
    VirtualMachines Create an Agent Pool backed by a Single Instance VM orchestration mode.
    VirtualMachineScaleSets
    VirtualMachineScaleSets Create an Agent Pool backed by a Virtual Machine Scale Set.
    AvailabilitySet
    AvailabilitySet Use of this is strongly discouraged.
    VirtualMachines
    VirtualMachines Create an Agent Pool backed by a Single Instance VM orchestration mode.
    VIRTUAL_MACHINE_SCALE_SETS
    VirtualMachineScaleSets Create an Agent Pool backed by a Virtual Machine Scale Set.
    AVAILABILITY_SET
    AvailabilitySet Use of this is strongly discouraged.
    VIRTUAL_MACHINES
    VirtualMachines Create an Agent Pool backed by a Single Instance VM orchestration mode.
    "VirtualMachineScaleSets"
    VirtualMachineScaleSets Create an Agent Pool backed by a Virtual Machine Scale Set.
    "AvailabilitySet"
    AvailabilitySet Use of this is strongly discouraged.
    "VirtualMachines"
    VirtualMachines Create an Agent Pool backed by a Single Instance VM orchestration mode.

    AgentPoolUpgradeSettings, AgentPoolUpgradeSettingsArgs

    Settings for upgrading an agentpool
    DrainTimeoutInMinutes int
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    MaxSurge string
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    MaxUnavailable string
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    NodeSoakDurationInMinutes int
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    UndrainableNodeBehavior string | Pulumi.AzureNative.ContainerService.UndrainableNodeBehavior
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    DrainTimeoutInMinutes int
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    MaxSurge string
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    MaxUnavailable string
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    NodeSoakDurationInMinutes int
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    UndrainableNodeBehavior string | UndrainableNodeBehavior
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drain_timeout_in_minutes number
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    max_surge string
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    max_unavailable string
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    node_soak_duration_in_minutes number
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainable_node_behavior string | "Cordon" | "Schedule"
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drainTimeoutInMinutes Integer
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    maxSurge String
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    maxUnavailable String
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    nodeSoakDurationInMinutes Integer
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainableNodeBehavior String | UndrainableNodeBehavior
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drainTimeoutInMinutes number
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    maxSurge string
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    maxUnavailable string
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    nodeSoakDurationInMinutes number
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainableNodeBehavior string | UndrainableNodeBehavior
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drain_timeout_in_minutes int
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    max_surge str
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    max_unavailable str
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    node_soak_duration_in_minutes int
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainable_node_behavior str | UndrainableNodeBehavior
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drainTimeoutInMinutes Number
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    maxSurge String
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    maxUnavailable String
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    nodeSoakDurationInMinutes Number
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainableNodeBehavior String | "Cordon" | "Schedule"
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.

    AgentPoolUpgradeSettingsResponse, AgentPoolUpgradeSettingsResponseArgs

    Settings for upgrading an agentpool
    DrainTimeoutInMinutes int
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    MaxSurge string
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    MaxUnavailable string
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    NodeSoakDurationInMinutes int
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    UndrainableNodeBehavior string
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    DrainTimeoutInMinutes int
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    MaxSurge string
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    MaxUnavailable string
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    NodeSoakDurationInMinutes int
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    UndrainableNodeBehavior string
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drain_timeout_in_minutes number
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    max_surge string
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    max_unavailable string
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    node_soak_duration_in_minutes number
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainable_node_behavior string
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drainTimeoutInMinutes Integer
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    maxSurge String
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    maxUnavailable String
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    nodeSoakDurationInMinutes Integer
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainableNodeBehavior String
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drainTimeoutInMinutes number
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    maxSurge string
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    maxUnavailable string
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    nodeSoakDurationInMinutes number
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainableNodeBehavior string
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drain_timeout_in_minutes int
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    max_surge str
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    max_unavailable str
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    node_soak_duration_in_minutes int
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainable_node_behavior str
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.
    drainTimeoutInMinutes Number
    The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.
    maxSurge String
    The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    maxUnavailable String
    The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster
    nodeSoakDurationInMinutes Number
    The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.
    undrainableNodeBehavior String
    Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.

    AgentPoolWindowsProfile, AgentPoolWindowsProfileArgs

    The Windows agent pool's specific profile.
    DisableOutboundNat bool
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    DisableOutboundNat bool
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disable_outbound_nat bool
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disableOutboundNat Boolean
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disableOutboundNat boolean
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disable_outbound_nat bool
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disableOutboundNat Boolean
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.

    AgentPoolWindowsProfileResponse, AgentPoolWindowsProfileResponseArgs

    The Windows agent pool's specific profile.
    DisableOutboundNat bool
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    DisableOutboundNat bool
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disable_outbound_nat bool
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disableOutboundNat Boolean
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disableOutboundNat boolean
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disable_outbound_nat bool
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.
    disableOutboundNat Boolean
    Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled.

    ArtifactSource, ArtifactSourceArgs

    Cache
    Cache pull images from Azure Container Registry with cache
    Direct
    Direct pull images from Microsoft Artifact Registry
    ArtifactSourceCache
    Cache pull images from Azure Container Registry with cache
    ArtifactSourceDirect
    Direct pull images from Microsoft Artifact Registry
    "Cache"
    Cache pull images from Azure Container Registry with cache
    "Direct"
    Direct pull images from Microsoft Artifact Registry
    Cache
    Cache pull images from Azure Container Registry with cache
    Direct
    Direct pull images from Microsoft Artifact Registry
    Cache
    Cache pull images from Azure Container Registry with cache
    Direct
    Direct pull images from Microsoft Artifact Registry
    CACHE
    Cache pull images from Azure Container Registry with cache
    DIRECT
    Direct pull images from Microsoft Artifact Registry
    "Cache"
    Cache pull images from Azure Container Registry with cache
    "Direct"
    Direct pull images from Microsoft Artifact Registry

    AzureKeyVaultKms, AzureKeyVaultKmsArgs

    Azure Key Vault key management service settings for the security profile.
    Enabled bool
    Whether to enable Azure Key Vault key management service. The default is false.
    KeyId string
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    KeyVaultNetworkAccess string | Pulumi.AzureNative.ContainerService.KeyVaultNetworkAccessTypes
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    KeyVaultResourceId string
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    Enabled bool
    Whether to enable Azure Key Vault key management service. The default is false.
    KeyId string
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    KeyVaultNetworkAccess string | KeyVaultNetworkAccessTypes
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    KeyVaultResourceId string
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled bool
    Whether to enable Azure Key Vault key management service. The default is false.
    key_id string
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    key_vault_network_access string | "Public" | "Private"
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    key_vault_resource_id string
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled Boolean
    Whether to enable Azure Key Vault key management service. The default is false.
    keyId String
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    keyVaultNetworkAccess String | KeyVaultNetworkAccessTypes
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    keyVaultResourceId String
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled boolean
    Whether to enable Azure Key Vault key management service. The default is false.
    keyId string
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    keyVaultNetworkAccess string | KeyVaultNetworkAccessTypes
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    keyVaultResourceId string
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled bool
    Whether to enable Azure Key Vault key management service. The default is false.
    key_id str
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    key_vault_network_access str | KeyVaultNetworkAccessTypes
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    key_vault_resource_id str
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled Boolean
    Whether to enable Azure Key Vault key management service. The default is false.
    keyId String
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    keyVaultNetworkAccess String | "Public" | "Private"
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    keyVaultResourceId String
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.

    AzureKeyVaultKmsResponse, AzureKeyVaultKmsResponseArgs

    Azure Key Vault key management service settings for the security profile.
    Enabled bool
    Whether to enable Azure Key Vault key management service. The default is false.
    KeyId string
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    KeyVaultNetworkAccess string
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    KeyVaultResourceId string
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    Enabled bool
    Whether to enable Azure Key Vault key management service. The default is false.
    KeyId string
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    KeyVaultNetworkAccess string
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    KeyVaultResourceId string
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled bool
    Whether to enable Azure Key Vault key management service. The default is false.
    key_id string
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    key_vault_network_access string
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    key_vault_resource_id string
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled Boolean
    Whether to enable Azure Key Vault key management service. The default is false.
    keyId String
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    keyVaultNetworkAccess String
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    keyVaultResourceId String
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled boolean
    Whether to enable Azure Key Vault key management service. The default is false.
    keyId string
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    keyVaultNetworkAccess string
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    keyVaultResourceId string
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled bool
    Whether to enable Azure Key Vault key management service. The default is false.
    key_id str
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    key_vault_network_access str
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    key_vault_resource_id str
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.
    enabled Boolean
    Whether to enable Azure Key Vault key management service. The default is false.
    keyId String
    Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty.
    keyVaultNetworkAccess String
    Network access of the key vault. Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.
    keyVaultResourceId String
    Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty.

    BackendPoolType, BackendPoolTypeArgs

    NodeIPConfiguration
    NodeIPConfiguration The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    NodeIP
    NodeIP The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    BackendPoolTypeNodeIPConfiguration
    NodeIPConfiguration The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    BackendPoolTypeNodeIP
    NodeIP The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    "NodeIPConfiguration"
    NodeIPConfiguration The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    "NodeIP"
    NodeIP The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    NodeIPConfiguration
    NodeIPConfiguration The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    NodeIP
    NodeIP The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    NodeIPConfiguration
    NodeIPConfiguration The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    NodeIP
    NodeIP The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    NODE_IP_CONFIGURATION
    NodeIPConfiguration The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    NODE_IP
    NodeIP The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    "NodeIPConfiguration"
    NodeIPConfiguration The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.
    "NodeIP"
    NodeIP The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend.

    ClusterUpgradeSettings, ClusterUpgradeSettingsArgs

    Settings for upgrading a cluster.
    override_settings object
    Settings for overrides.
    overrideSettings Property Map
    Settings for overrides.

    ClusterUpgradeSettingsResponse, ClusterUpgradeSettingsResponseArgs

    Settings for upgrading a cluster.
    override_settings object
    Settings for overrides.
    overrideSettings Property Map
    Settings for overrides.

    Code, CodeArgs

    Running
    Running The cluster is running.
    Stopped
    Stopped The cluster is stopped.
    CodeRunning
    Running The cluster is running.
    CodeStopped
    Stopped The cluster is stopped.
    "Running"
    Running The cluster is running.
    "Stopped"
    Stopped The cluster is stopped.
    Running
    Running The cluster is running.
    Stopped
    Stopped The cluster is stopped.
    Running
    Running The cluster is running.
    Stopped
    Stopped The cluster is stopped.
    RUNNING
    Running The cluster is running.
    STOPPED
    Stopped The cluster is stopped.
    "Running"
    Running The cluster is running.
    "Stopped"
    Stopped The cluster is stopped.

    ContainerServiceLinuxProfile, ContainerServiceLinuxProfileArgs

    Profile for Linux VMs in the container service cluster.
    AdminUsername string
    The administrator username to use for Linux VMs.
    Ssh Pulumi.AzureNative.ContainerService.Inputs.ContainerServiceSshConfiguration
    The SSH configuration for Linux-based VMs running on Azure.
    AdminUsername string
    The administrator username to use for Linux VMs.
    Ssh ContainerServiceSshConfiguration
    The SSH configuration for Linux-based VMs running on Azure.
    admin_username string
    The administrator username to use for Linux VMs.
    ssh object
    The SSH configuration for Linux-based VMs running on Azure.
    adminUsername String
    The administrator username to use for Linux VMs.
    ssh ContainerServiceSshConfiguration
    The SSH configuration for Linux-based VMs running on Azure.
    adminUsername string
    The administrator username to use for Linux VMs.
    ssh ContainerServiceSshConfiguration
    The SSH configuration for Linux-based VMs running on Azure.
    admin_username str
    The administrator username to use for Linux VMs.
    ssh ContainerServiceSshConfiguration
    The SSH configuration for Linux-based VMs running on Azure.
    adminUsername String
    The administrator username to use for Linux VMs.
    ssh Property Map
    The SSH configuration for Linux-based VMs running on Azure.

    ContainerServiceLinuxProfileResponse, ContainerServiceLinuxProfileResponseArgs

    Profile for Linux VMs in the container service cluster.
    AdminUsername string
    The administrator username to use for Linux VMs.
    Ssh Pulumi.AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationResponse
    The SSH configuration for Linux-based VMs running on Azure.
    AdminUsername string
    The administrator username to use for Linux VMs.
    Ssh ContainerServiceSshConfigurationResponse
    The SSH configuration for Linux-based VMs running on Azure.
    admin_username string
    The administrator username to use for Linux VMs.
    ssh object
    The SSH configuration for Linux-based VMs running on Azure.
    adminUsername String
    The administrator username to use for Linux VMs.
    ssh ContainerServiceSshConfigurationResponse
    The SSH configuration for Linux-based VMs running on Azure.
    adminUsername string
    The administrator username to use for Linux VMs.
    ssh ContainerServiceSshConfigurationResponse
    The SSH configuration for Linux-based VMs running on Azure.
    admin_username str
    The administrator username to use for Linux VMs.
    ssh ContainerServiceSshConfigurationResponse
    The SSH configuration for Linux-based VMs running on Azure.
    adminUsername String
    The administrator username to use for Linux VMs.
    ssh Property Map
    The SSH configuration for Linux-based VMs running on Azure.

    ContainerServiceNetworkProfile, ContainerServiceNetworkProfileArgs

    Profile of network configuration.
    AdvancedNetworking Pulumi.AzureNative.ContainerService.Inputs.AdvancedNetworking
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    DnsServiceIP string
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    IpFamilies List<Union<string, Pulumi.AzureNative.ContainerService.IpFamily>>
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    LoadBalancerProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfile
    Profile of the cluster load balancer.
    LoadBalancerSku string | Pulumi.AzureNative.ContainerService.LoadBalancerSku
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    NatGatewayProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterNATGatewayProfile
    Profile of the cluster NAT gateway.
    NetworkDataplane string | Pulumi.AzureNative.ContainerService.NetworkDataplane
    Network dataplane used in the Kubernetes cluster.
    NetworkMode string | Pulumi.AzureNative.ContainerService.NetworkMode
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    NetworkPlugin string | Pulumi.AzureNative.ContainerService.NetworkPlugin
    Network plugin used for building the Kubernetes network.
    NetworkPluginMode string | Pulumi.AzureNative.ContainerService.NetworkPluginMode
    The mode the network plugin should use.
    NetworkPolicy string | Pulumi.AzureNative.ContainerService.NetworkPolicy
    Network policy used for building the Kubernetes network.
    OutboundType string | Pulumi.AzureNative.ContainerService.OutboundType
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    PodCidr string
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    PodCidrs List<string>
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    ServiceCidr string
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    ServiceCidrs List<string>
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    StaticEgressGatewayProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterStaticEgressGatewayProfile
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    AdvancedNetworking AdvancedNetworking
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    DnsServiceIP string
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    IpFamilies []string
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    LoadBalancerProfile ManagedClusterLoadBalancerProfile
    Profile of the cluster load balancer.
    LoadBalancerSku string | LoadBalancerSku
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    NatGatewayProfile ManagedClusterNATGatewayProfile
    Profile of the cluster NAT gateway.
    NetworkDataplane string | NetworkDataplane
    Network dataplane used in the Kubernetes cluster.
    NetworkMode string | NetworkMode
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    NetworkPlugin string | NetworkPlugin
    Network plugin used for building the Kubernetes network.
    NetworkPluginMode string | NetworkPluginMode
    The mode the network plugin should use.
    NetworkPolicy string | NetworkPolicy
    Network policy used for building the Kubernetes network.
    OutboundType string | OutboundType
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    PodCidr string
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    PodCidrs []string
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    ServiceCidr string
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    ServiceCidrs []string
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    StaticEgressGatewayProfile ManagedClusterStaticEgressGatewayProfile
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advanced_networking object
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dns_service_ip string
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ip_families list(string | "IPv4" | "IPv6")
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    load_balancer_profile object
    Profile of the cluster load balancer.
    load_balancer_sku string | "standard" | "basic"
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    nat_gateway_profile object
    Profile of the cluster NAT gateway.
    network_dataplane string | "azure" | "cilium"
    Network dataplane used in the Kubernetes cluster.
    network_mode string | "transparent" | "bridge"
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    network_plugin string | "azure" | "kubenet" | "none"
    Network plugin used for building the Kubernetes network.
    network_plugin_mode string | "overlay"
    The mode the network plugin should use.
    network_policy string | "none" | "calico" | "azure" | "cilium"
    Network policy used for building the Kubernetes network.
    outbound_type string | "loadBalancer" | "userDefinedRouting" | "managedNATGateway" | "userAssignedNATGateway" | "none"
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    pod_cidr string
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    pod_cidrs list(string)
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    service_cidr string
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    service_cidrs list(string)
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    static_egress_gateway_profile object
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advancedNetworking AdvancedNetworking
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dnsServiceIP String
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ipFamilies List<Either<String,IpFamily>>
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    loadBalancerProfile ManagedClusterLoadBalancerProfile
    Profile of the cluster load balancer.
    loadBalancerSku String | LoadBalancerSku
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    natGatewayProfile ManagedClusterNATGatewayProfile
    Profile of the cluster NAT gateway.
    networkDataplane String | NetworkDataplane
    Network dataplane used in the Kubernetes cluster.
    networkMode String | NetworkMode
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    networkPlugin String | NetworkPlugin
    Network plugin used for building the Kubernetes network.
    networkPluginMode String | NetworkPluginMode
    The mode the network plugin should use.
    networkPolicy String | NetworkPolicy
    Network policy used for building the Kubernetes network.
    outboundType String | OutboundType
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    podCidr String
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    podCidrs List<String>
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    serviceCidr String
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    serviceCidrs List<String>
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    staticEgressGatewayProfile ManagedClusterStaticEgressGatewayProfile
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advancedNetworking AdvancedNetworking
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dnsServiceIP string
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ipFamilies (string | IpFamily)[]
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    loadBalancerProfile ManagedClusterLoadBalancerProfile
    Profile of the cluster load balancer.
    loadBalancerSku string | LoadBalancerSku
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    natGatewayProfile ManagedClusterNATGatewayProfile
    Profile of the cluster NAT gateway.
    networkDataplane string | NetworkDataplane
    Network dataplane used in the Kubernetes cluster.
    networkMode string | NetworkMode
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    networkPlugin string | NetworkPlugin
    Network plugin used for building the Kubernetes network.
    networkPluginMode string | NetworkPluginMode
    The mode the network plugin should use.
    networkPolicy string | NetworkPolicy
    Network policy used for building the Kubernetes network.
    outboundType string | OutboundType
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    podCidr string
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    podCidrs string[]
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    serviceCidr string
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    serviceCidrs string[]
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    staticEgressGatewayProfile ManagedClusterStaticEgressGatewayProfile
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advanced_networking AdvancedNetworking
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dns_service_ip str
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ip_families Sequence[Union[str, IpFamily]]
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    load_balancer_profile ManagedClusterLoadBalancerProfile
    Profile of the cluster load balancer.
    load_balancer_sku str | LoadBalancerSku
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    nat_gateway_profile ManagedClusterNATGatewayProfile
    Profile of the cluster NAT gateway.
    network_dataplane str | NetworkDataplane
    Network dataplane used in the Kubernetes cluster.
    network_mode str | NetworkMode
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    network_plugin str | NetworkPlugin
    Network plugin used for building the Kubernetes network.
    network_plugin_mode str | NetworkPluginMode
    The mode the network plugin should use.
    network_policy str | NetworkPolicy
    Network policy used for building the Kubernetes network.
    outbound_type str | OutboundType
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    pod_cidr str
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    pod_cidrs Sequence[str]
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    service_cidr str
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    service_cidrs Sequence[str]
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    static_egress_gateway_profile ManagedClusterStaticEgressGatewayProfile
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advancedNetworking Property Map
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dnsServiceIP String
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ipFamilies List<String | "IPv4" | "IPv6">
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    loadBalancerProfile Property Map
    Profile of the cluster load balancer.
    loadBalancerSku String | "standard" | "basic"
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    natGatewayProfile Property Map
    Profile of the cluster NAT gateway.
    networkDataplane String | "azure" | "cilium"
    Network dataplane used in the Kubernetes cluster.
    networkMode String | "transparent" | "bridge"
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    networkPlugin String | "azure" | "kubenet" | "none"
    Network plugin used for building the Kubernetes network.
    networkPluginMode String | "overlay"
    The mode the network plugin should use.
    networkPolicy String | "none" | "calico" | "azure" | "cilium"
    Network policy used for building the Kubernetes network.
    outboundType String | "loadBalancer" | "userDefinedRouting" | "managedNATGateway" | "userAssignedNATGateway" | "none"
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    podCidr String
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    podCidrs List<String>
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    serviceCidr String
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    serviceCidrs List<String>
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    staticEgressGatewayProfile Property Map
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.

    ContainerServiceNetworkProfileResponse, ContainerServiceNetworkProfileResponseArgs

    Profile of network configuration.
    AdvancedNetworking Pulumi.AzureNative.ContainerService.Inputs.AdvancedNetworkingResponse
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    DnsServiceIP string
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    IpFamilies List<string>
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    LoadBalancerProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileResponse
    Profile of the cluster load balancer.
    LoadBalancerSku string
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    NatGatewayProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterNATGatewayProfileResponse
    Profile of the cluster NAT gateway.
    NetworkDataplane string
    Network dataplane used in the Kubernetes cluster.
    NetworkMode string
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    NetworkPlugin string
    Network plugin used for building the Kubernetes network.
    NetworkPluginMode string
    The mode the network plugin should use.
    NetworkPolicy string
    Network policy used for building the Kubernetes network.
    OutboundType string
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    PodCidr string
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    PodCidrs List<string>
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    ServiceCidr string
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    ServiceCidrs List<string>
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    StaticEgressGatewayProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterStaticEgressGatewayProfileResponse
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    AdvancedNetworking AdvancedNetworkingResponse
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    DnsServiceIP string
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    IpFamilies []string
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    LoadBalancerProfile ManagedClusterLoadBalancerProfileResponse
    Profile of the cluster load balancer.
    LoadBalancerSku string
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    NatGatewayProfile ManagedClusterNATGatewayProfileResponse
    Profile of the cluster NAT gateway.
    NetworkDataplane string
    Network dataplane used in the Kubernetes cluster.
    NetworkMode string
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    NetworkPlugin string
    Network plugin used for building the Kubernetes network.
    NetworkPluginMode string
    The mode the network plugin should use.
    NetworkPolicy string
    Network policy used for building the Kubernetes network.
    OutboundType string
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    PodCidr string
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    PodCidrs []string
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    ServiceCidr string
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    ServiceCidrs []string
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    StaticEgressGatewayProfile ManagedClusterStaticEgressGatewayProfileResponse
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advanced_networking object
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dns_service_ip string
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ip_families list(string)
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    load_balancer_profile object
    Profile of the cluster load balancer.
    load_balancer_sku string
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    nat_gateway_profile object
    Profile of the cluster NAT gateway.
    network_dataplane string
    Network dataplane used in the Kubernetes cluster.
    network_mode string
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    network_plugin string
    Network plugin used for building the Kubernetes network.
    network_plugin_mode string
    The mode the network plugin should use.
    network_policy string
    Network policy used for building the Kubernetes network.
    outbound_type string
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    pod_cidr string
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    pod_cidrs list(string)
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    service_cidr string
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    service_cidrs list(string)
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    static_egress_gateway_profile object
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advancedNetworking AdvancedNetworkingResponse
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dnsServiceIP String
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ipFamilies List<String>
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    loadBalancerProfile ManagedClusterLoadBalancerProfileResponse
    Profile of the cluster load balancer.
    loadBalancerSku String
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    natGatewayProfile ManagedClusterNATGatewayProfileResponse
    Profile of the cluster NAT gateway.
    networkDataplane String
    Network dataplane used in the Kubernetes cluster.
    networkMode String
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    networkPlugin String
    Network plugin used for building the Kubernetes network.
    networkPluginMode String
    The mode the network plugin should use.
    networkPolicy String
    Network policy used for building the Kubernetes network.
    outboundType String
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    podCidr String
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    podCidrs List<String>
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    serviceCidr String
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    serviceCidrs List<String>
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    staticEgressGatewayProfile ManagedClusterStaticEgressGatewayProfileResponse
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advancedNetworking AdvancedNetworkingResponse
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dnsServiceIP string
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ipFamilies string[]
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    loadBalancerProfile ManagedClusterLoadBalancerProfileResponse
    Profile of the cluster load balancer.
    loadBalancerSku string
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    natGatewayProfile ManagedClusterNATGatewayProfileResponse
    Profile of the cluster NAT gateway.
    networkDataplane string
    Network dataplane used in the Kubernetes cluster.
    networkMode string
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    networkPlugin string
    Network plugin used for building the Kubernetes network.
    networkPluginMode string
    The mode the network plugin should use.
    networkPolicy string
    Network policy used for building the Kubernetes network.
    outboundType string
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    podCidr string
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    podCidrs string[]
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    serviceCidr string
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    serviceCidrs string[]
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    staticEgressGatewayProfile ManagedClusterStaticEgressGatewayProfileResponse
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advanced_networking AdvancedNetworkingResponse
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dns_service_ip str
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ip_families Sequence[str]
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    load_balancer_profile ManagedClusterLoadBalancerProfileResponse
    Profile of the cluster load balancer.
    load_balancer_sku str
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    nat_gateway_profile ManagedClusterNATGatewayProfileResponse
    Profile of the cluster NAT gateway.
    network_dataplane str
    Network dataplane used in the Kubernetes cluster.
    network_mode str
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    network_plugin str
    Network plugin used for building the Kubernetes network.
    network_plugin_mode str
    The mode the network plugin should use.
    network_policy str
    Network policy used for building the Kubernetes network.
    outbound_type str
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    pod_cidr str
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    pod_cidrs Sequence[str]
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    service_cidr str
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    service_cidrs Sequence[str]
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    static_egress_gateway_profile ManagedClusterStaticEgressGatewayProfileResponse
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.
    advancedNetworking Property Map
    Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.
    dnsServiceIP String
    An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
    ipFamilies List<String>
    The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.
    loadBalancerProfile Property Map
    Profile of the cluster load balancer.
    loadBalancerSku String
    The load balancer sku for the managed cluster. The default is 'standard'. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs.
    natGatewayProfile Property Map
    Profile of the cluster NAT gateway.
    networkDataplane String
    Network dataplane used in the Kubernetes cluster.
    networkMode String
    The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.
    networkPlugin String
    Network plugin used for building the Kubernetes network.
    networkPluginMode String
    The mode the network plugin should use.
    networkPolicy String
    Network policy used for building the Kubernetes network.
    outboundType String
    The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type.
    podCidr String
    A CIDR notation IP range from which to assign pod IPs when kubenet is used.
    podCidrs List<String>
    The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
    serviceCidr String
    A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
    serviceCidrs List<String>
    The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.
    staticEgressGatewayProfile Property Map
    The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway.

    ContainerServiceSshConfiguration, ContainerServiceSshConfigurationArgs

    SSH configuration for Linux-based VMs running on Azure.
    PublicKeys List<Pulumi.AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKey>
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    PublicKeys []ContainerServiceSshPublicKey
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    public_keys list(object)
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    publicKeys List<ContainerServiceSshPublicKey>
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    publicKeys ContainerServiceSshPublicKey[]
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    public_keys Sequence[ContainerServiceSshPublicKey]
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    publicKeys List<Property Map>
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.

    ContainerServiceSshConfigurationResponse, ContainerServiceSshConfigurationResponseArgs

    SSH configuration for Linux-based VMs running on Azure.
    PublicKeys List<Pulumi.AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyResponse>
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    PublicKeys []ContainerServiceSshPublicKeyResponse
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    public_keys list(object)
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    publicKeys List<ContainerServiceSshPublicKeyResponse>
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    publicKeys ContainerServiceSshPublicKeyResponse[]
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    public_keys Sequence[ContainerServiceSshPublicKeyResponse]
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.
    publicKeys List<Property Map>
    The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.

    ContainerServiceSshPublicKey, ContainerServiceSshPublicKeyArgs

    Contains information about SSH certificate public key data.
    KeyData string
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    KeyData string
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    key_data string
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    keyData String
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    keyData string
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    key_data str
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    keyData String
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.

    ContainerServiceSshPublicKeyResponse, ContainerServiceSshPublicKeyResponseArgs

    Contains information about SSH certificate public key data.
    KeyData string
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    KeyData string
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    key_data string
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    keyData String
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    keyData string
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    key_data str
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
    keyData String
    Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.

    CreationData, CreationDataArgs

    Data used when creating a target resource from a source resource.
    SourceResourceId string
    This is the ARM ID of the source object to be used to create the target object.
    SourceResourceId string
    This is the ARM ID of the source object to be used to create the target object.
    source_resource_id string
    This is the ARM ID of the source object to be used to create the target object.
    sourceResourceId String
    This is the ARM ID of the source object to be used to create the target object.
    sourceResourceId string
    This is the ARM ID of the source object to be used to create the target object.
    source_resource_id str
    This is the ARM ID of the source object to be used to create the target object.
    sourceResourceId String
    This is the ARM ID of the source object to be used to create the target object.

    CreationDataResponse, CreationDataResponseArgs

    Data used when creating a target resource from a source resource.
    SourceResourceId string
    This is the ARM ID of the source object to be used to create the target object.
    SourceResourceId string
    This is the ARM ID of the source object to be used to create the target object.
    source_resource_id string
    This is the ARM ID of the source object to be used to create the target object.
    sourceResourceId String
    This is the ARM ID of the source object to be used to create the target object.
    sourceResourceId string
    This is the ARM ID of the source object to be used to create the target object.
    source_resource_id str
    This is the ARM ID of the source object to be used to create the target object.
    sourceResourceId String
    This is the ARM ID of the source object to be used to create the target object.

    DelegatedResource, DelegatedResourceArgs

    Delegated resource properties - internal use only.
    Location string
    The source resource location - internal use only.
    ReferralResource string
    The delegation id of the referral delegation (optional) - internal use only.
    ResourceId string
    The ARM resource id of the delegated resource - internal use only.
    TenantId string
    The tenant id of the delegated resource - internal use only.
    Location string
    The source resource location - internal use only.
    ReferralResource string
    The delegation id of the referral delegation (optional) - internal use only.
    ResourceId string
    The ARM resource id of the delegated resource - internal use only.
    TenantId string
    The tenant id of the delegated resource - internal use only.
    location string
    The source resource location - internal use only.
    referral_resource string
    The delegation id of the referral delegation (optional) - internal use only.
    resource_id string
    The ARM resource id of the delegated resource - internal use only.
    tenant_id string
    The tenant id of the delegated resource - internal use only.
    location String
    The source resource location - internal use only.
    referralResource String
    The delegation id of the referral delegation (optional) - internal use only.
    resourceId String
    The ARM resource id of the delegated resource - internal use only.
    tenantId String
    The tenant id of the delegated resource - internal use only.
    location string
    The source resource location - internal use only.
    referralResource string
    The delegation id of the referral delegation (optional) - internal use only.
    resourceId string
    The ARM resource id of the delegated resource - internal use only.
    tenantId string
    The tenant id of the delegated resource - internal use only.
    location str
    The source resource location - internal use only.
    referral_resource str
    The delegation id of the referral delegation (optional) - internal use only.
    resource_id str
    The ARM resource id of the delegated resource - internal use only.
    tenant_id str
    The tenant id of the delegated resource - internal use only.
    location String
    The source resource location - internal use only.
    referralResource String
    The delegation id of the referral delegation (optional) - internal use only.
    resourceId String
    The ARM resource id of the delegated resource - internal use only.
    tenantId String
    The tenant id of the delegated resource - internal use only.

    DelegatedResourceResponse, DelegatedResourceResponseArgs

    Delegated resource properties - internal use only.
    Location string
    The source resource location - internal use only.
    ReferralResource string
    The delegation id of the referral delegation (optional) - internal use only.
    ResourceId string
    The ARM resource id of the delegated resource - internal use only.
    TenantId string
    The tenant id of the delegated resource - internal use only.
    Location string
    The source resource location - internal use only.
    ReferralResource string
    The delegation id of the referral delegation (optional) - internal use only.
    ResourceId string
    The ARM resource id of the delegated resource - internal use only.
    TenantId string
    The tenant id of the delegated resource - internal use only.
    location string
    The source resource location - internal use only.
    referral_resource string
    The delegation id of the referral delegation (optional) - internal use only.
    resource_id string
    The ARM resource id of the delegated resource - internal use only.
    tenant_id string
    The tenant id of the delegated resource - internal use only.
    location String
    The source resource location - internal use only.
    referralResource String
    The delegation id of the referral delegation (optional) - internal use only.
    resourceId String
    The ARM resource id of the delegated resource - internal use only.
    tenantId String
    The tenant id of the delegated resource - internal use only.
    location string
    The source resource location - internal use only.
    referralResource string
    The delegation id of the referral delegation (optional) - internal use only.
    resourceId string
    The ARM resource id of the delegated resource - internal use only.
    tenantId string
    The tenant id of the delegated resource - internal use only.
    location str
    The source resource location - internal use only.
    referral_resource str
    The delegation id of the referral delegation (optional) - internal use only.
    resource_id str
    The ARM resource id of the delegated resource - internal use only.
    tenant_id str
    The tenant id of the delegated resource - internal use only.
    location String
    The source resource location - internal use only.
    referralResource String
    The delegation id of the referral delegation (optional) - internal use only.
    resourceId String
    The ARM resource id of the delegated resource - internal use only.
    tenantId String
    The tenant id of the delegated resource - internal use only.

    ErrorAdditionalInfoResponse, ErrorAdditionalInfoResponseArgs

    The resource management error additional info.
    Info object
    The additional info.
    Type string
    The additional info type.
    Info interface{}
    The additional info.
    Type string
    The additional info type.
    info any
    The additional info.
    type string
    The additional info type.
    info Object
    The additional info.
    type String
    The additional info type.
    info any
    The additional info.
    type string
    The additional info type.
    info Any
    The additional info.
    type str
    The additional info type.
    info Any
    The additional info.
    type String
    The additional info type.

    ErrorDetailResponse, ErrorDetailResponseArgs

    The error detail.
    AdditionalInfo []ErrorAdditionalInfoResponse
    The error additional info.
    Code string
    The error code.
    Details []ErrorDetailResponse
    The error details.
    Message string
    The error message.
    Target string
    The error target.
    additional_info list(object)
    The error additional info.
    code string
    The error code.
    details list(object)
    The error details.
    message string
    The error message.
    target string
    The error target.
    additionalInfo List<ErrorAdditionalInfoResponse>
    The error additional info.
    code String
    The error code.
    details List<ErrorDetailResponse>
    The error details.
    message String
    The error message.
    target String
    The error target.
    additionalInfo ErrorAdditionalInfoResponse[]
    The error additional info.
    code string
    The error code.
    details ErrorDetailResponse[]
    The error details.
    message string
    The error message.
    target string
    The error target.
    additional_info Sequence[ErrorAdditionalInfoResponse]
    The error additional info.
    code str
    The error code.
    details Sequence[ErrorDetailResponse]
    The error details.
    message str
    The error message.
    target str
    The error target.
    additionalInfo List<Property Map>
    The error additional info.
    code String
    The error code.
    details List<Property Map>
    The error details.
    message String
    The error message.
    target String
    The error target.

    Expander, ExpanderArgs

    Least_waste
    least-waste Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
    Most_pods
    most-pods Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
    Priority
    priority Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    Random
    random Used when you don't have a particular need for the node groups to scale differently.
    Expander_Least_Waste
    least-waste Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
    Expander_Most_Pods
    most-pods Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
    ExpanderPriority
    priority Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    ExpanderRandom
    random Used when you don't have a particular need for the node groups to scale differently.
    "least-waste"
    least-waste Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
    "most-pods"
    most-pods Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
    "priority"
    priority Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    "random"
    random Used when you don't have a particular need for the node groups to scale differently.
    Leastwaste
    least-waste Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
    Mostpods
    most-pods Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
    Priority
    priority Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    Random
    random Used when you don't have a particular need for the node groups to scale differently.
    Least_waste
    least-waste Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
    Most_pods
    most-pods Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
    Priority
    priority Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    Random
    random Used when you don't have a particular need for the node groups to scale differently.
    LEAST_WASTE
    least-waste Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
    MOST_PODS
    most-pods Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
    PRIORITY
    priority Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    RANDOM
    random Used when you don't have a particular need for the node groups to scale differently.
    "least-waste"
    least-waste Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
    "most-pods"
    most-pods Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
    "priority"
    priority Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    "random"
    random Used when you don't have a particular need for the node groups to scale differently.

    ExtendedLocation, ExtendedLocationArgs

    The complex type of the extended location.
    Name string
    The name of the extended location.
    Type string | Pulumi.AzureNative.ContainerService.ExtendedLocationTypes
    The type of the extended location.
    Name string
    The name of the extended location.
    Type string | ExtendedLocationTypes
    The type of the extended location.
    name string
    The name of the extended location.
    type string | "EdgeZone"
    The type of the extended location.
    name String
    The name of the extended location.
    type String | ExtendedLocationTypes
    The type of the extended location.
    name string
    The name of the extended location.
    type string | ExtendedLocationTypes
    The type of the extended location.
    name str
    The name of the extended location.
    type str | ExtendedLocationTypes
    The type of the extended location.
    name String
    The name of the extended location.
    type String | "EdgeZone"
    The type of the extended location.

    ExtendedLocationResponse, ExtendedLocationResponseArgs

    The complex type of the extended location.
    Name string
    The name of the extended location.
    Type string
    The type of the extended location.
    Name string
    The name of the extended location.
    Type string
    The type of the extended location.
    name string
    The name of the extended location.
    type string
    The type of the extended location.
    name String
    The name of the extended location.
    type String
    The type of the extended location.
    name string
    The name of the extended location.
    type string
    The type of the extended location.
    name str
    The name of the extended location.
    type str
    The type of the extended location.
    name String
    The name of the extended location.
    type String
    The type of the extended location.

    ExtendedLocationTypes, ExtendedLocationTypesArgs

    EdgeZone
    EdgeZone
    ExtendedLocationTypesEdgeZone
    EdgeZone
    "EdgeZone"
    EdgeZone
    EdgeZone
    EdgeZone
    EdgeZone
    EdgeZone
    EDGE_ZONE
    EdgeZone
    "EdgeZone"
    EdgeZone

    GPUDriver, GPUDriverArgs

    Install
    Install Install driver.
    None
    None Skip driver install.
    GPUDriverInstall
    Install Install driver.
    GPUDriverNone
    None Skip driver install.
    "Install"
    Install Install driver.
    "None"
    None Skip driver install.
    Install
    Install Install driver.
    None
    None Skip driver install.
    Install
    Install Install driver.
    None
    None Skip driver install.
    INSTALL
    Install Install driver.
    NONE
    None Skip driver install.
    "Install"
    Install Install driver.
    "None"
    None Skip driver install.

    GPUInstanceProfile, GPUInstanceProfileArgs

    MIG1g
    MIG1g
    MIG2g
    MIG2g
    MIG3g
    MIG3g
    MIG4g
    MIG4g
    MIG7g
    MIG7g
    GPUInstanceProfileMIG1g
    MIG1g
    GPUInstanceProfileMIG2g
    MIG2g
    GPUInstanceProfileMIG3g
    MIG3g
    GPUInstanceProfileMIG4g
    MIG4g
    GPUInstanceProfileMIG7g
    MIG7g
    "MIG1g"
    MIG1g
    "MIG2g"
    MIG2g
    "MIG3g"
    MIG3g
    "MIG4g"
    MIG4g
    "MIG7g"
    MIG7g
    MIG1g
    MIG1g
    MIG2g
    MIG2g
    MIG3g
    MIG3g
    MIG4g
    MIG4g
    MIG7g
    MIG7g
    MIG1g
    MIG1g
    MIG2g
    MIG2g
    MIG3g
    MIG3g
    MIG4g
    MIG4g
    MIG7g
    MIG7g
    MIG1G
    MIG1g
    MIG2G
    MIG2g
    MIG3G
    MIG3g
    MIG4G
    MIG4g
    MIG7G
    MIG7g
    "MIG1g"
    MIG1g
    "MIG2g"
    MIG2g
    "MIG3g"
    MIG3g
    "MIG4g"
    MIG4g
    "MIG7g"
    MIG7g

    GPUProfile, GPUProfileArgs

    GPU settings for the Agent Pool.
    Driver string | Pulumi.AzureNative.ContainerService.GPUDriver
    Whether to install GPU drivers. When it's not specified, default is Install.
    Driver string | GPUDriver
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver string | "Install" | "None"
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver String | GPUDriver
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver string | GPUDriver
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver str | GPUDriver
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver String | "Install" | "None"
    Whether to install GPU drivers. When it's not specified, default is Install.

    GPUProfileResponse, GPUProfileResponseArgs

    GPU settings for the Agent Pool.
    Driver string
    Whether to install GPU drivers. When it's not specified, default is Install.
    Driver string
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver string
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver String
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver string
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver str
    Whether to install GPU drivers. When it's not specified, default is Install.
    driver String
    Whether to install GPU drivers. When it's not specified, default is Install.

    IPTag, IPTagArgs

    Contains the IPTag associated with the object.
    IpTagType string
    The IP tag type. Example: RoutingPreference.
    Tag string
    The value of the IP tag associated with the public IP. Example: Internet.
    IpTagType string
    The IP tag type. Example: RoutingPreference.
    Tag string
    The value of the IP tag associated with the public IP. Example: Internet.
    ip_tag_type string
    The IP tag type. Example: RoutingPreference.
    tag string
    The value of the IP tag associated with the public IP. Example: Internet.
    ipTagType String
    The IP tag type. Example: RoutingPreference.
    tag String
    The value of the IP tag associated with the public IP. Example: Internet.
    ipTagType string
    The IP tag type. Example: RoutingPreference.
    tag string
    The value of the IP tag associated with the public IP. Example: Internet.
    ip_tag_type str
    The IP tag type. Example: RoutingPreference.
    tag str
    The value of the IP tag associated with the public IP. Example: Internet.
    ipTagType String
    The IP tag type. Example: RoutingPreference.
    tag String
    The value of the IP tag associated with the public IP. Example: Internet.

    IPTagResponse, IPTagResponseArgs

    Contains the IPTag associated with the object.
    IpTagType string
    The IP tag type. Example: RoutingPreference.
    Tag string
    The value of the IP tag associated with the public IP. Example: Internet.
    IpTagType string
    The IP tag type. Example: RoutingPreference.
    Tag string
    The value of the IP tag associated with the public IP. Example: Internet.
    ip_tag_type string
    The IP tag type. Example: RoutingPreference.
    tag string
    The value of the IP tag associated with the public IP. Example: Internet.
    ipTagType String
    The IP tag type. Example: RoutingPreference.
    tag String
    The value of the IP tag associated with the public IP. Example: Internet.
    ipTagType string
    The IP tag type. Example: RoutingPreference.
    tag string
    The value of the IP tag associated with the public IP. Example: Internet.
    ip_tag_type str
    The IP tag type. Example: RoutingPreference.
    tag str
    The value of the IP tag associated with the public IP. Example: Internet.
    ipTagType String
    The IP tag type. Example: RoutingPreference.
    tag String
    The value of the IP tag associated with the public IP. Example: Internet.

    IpFamily, IpFamilyArgs

    IPv4
    IPv4
    IPv6
    IPv6
    IpFamilyIPv4
    IPv4
    IpFamilyIPv6
    IPv6
    "IPv4"
    IPv4
    "IPv6"
    IPv6
    IPv4
    IPv4
    IPv6
    IPv6
    IPv4
    IPv4
    IPv6
    IPv6
    I_PV4
    IPv4
    I_PV6
    IPv6
    "IPv4"
    IPv4
    "IPv6"
    IPv6

    IstioCertificateAuthority, IstioCertificateAuthorityArgs

    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    Plugin IstioPluginCertificateAuthority
    Plugin certificates information for Service Mesh.
    plugin object
    Plugin certificates information for Service Mesh.
    plugin IstioPluginCertificateAuthority
    Plugin certificates information for Service Mesh.
    plugin IstioPluginCertificateAuthority
    Plugin certificates information for Service Mesh.
    plugin IstioPluginCertificateAuthority
    Plugin certificates information for Service Mesh.
    plugin Property Map
    Plugin certificates information for Service Mesh.

    IstioCertificateAuthorityResponse, IstioCertificateAuthorityResponseArgs

    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    Plugin IstioPluginCertificateAuthorityResponse
    Plugin certificates information for Service Mesh.
    plugin object
    Plugin certificates information for Service Mesh.
    plugin IstioPluginCertificateAuthorityResponse
    Plugin certificates information for Service Mesh.
    plugin IstioPluginCertificateAuthorityResponse
    Plugin certificates information for Service Mesh.
    plugin IstioPluginCertificateAuthorityResponse
    Plugin certificates information for Service Mesh.
    plugin Property Map
    Plugin certificates information for Service Mesh.

    IstioComponents, IstioComponentsArgs

    Istio components configuration.
    EgressGateways []IstioEgressGateway
    Istio egress gateways.
    IngressGateways []IstioIngressGateway
    Istio ingress gateways.
    egress_gateways list(object)
    Istio egress gateways.
    ingress_gateways list(object)
    Istio ingress gateways.
    egressGateways IstioEgressGateway[]
    Istio egress gateways.
    ingressGateways IstioIngressGateway[]
    Istio ingress gateways.
    egressGateways List<Property Map>
    Istio egress gateways.
    ingressGateways List<Property Map>
    Istio ingress gateways.

    IstioComponentsResponse, IstioComponentsResponseArgs

    Istio components configuration.
    egress_gateways list(object)
    Istio egress gateways.
    ingress_gateways list(object)
    Istio ingress gateways.
    egressGateways List<Property Map>
    Istio egress gateways.
    ingressGateways List<Property Map>
    Istio ingress gateways.

    IstioEgressGateway, IstioEgressGatewayArgs

    Istio egress gateway configuration.
    Enabled bool
    Whether to enable the egress gateway.
    Name string
    Name of the Istio add-on egress gateway.
    GatewayConfigurationName string
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    Namespace string
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    Enabled bool
    Whether to enable the egress gateway.
    Name string
    Name of the Istio add-on egress gateway.
    GatewayConfigurationName string
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    Namespace string
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled bool
    Whether to enable the egress gateway.
    name string
    Name of the Istio add-on egress gateway.
    gateway_configuration_name string
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace string
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled Boolean
    Whether to enable the egress gateway.
    name String
    Name of the Istio add-on egress gateway.
    gatewayConfigurationName String
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace String
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled boolean
    Whether to enable the egress gateway.
    name string
    Name of the Istio add-on egress gateway.
    gatewayConfigurationName string
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace string
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled bool
    Whether to enable the egress gateway.
    name str
    Name of the Istio add-on egress gateway.
    gateway_configuration_name str
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace str
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled Boolean
    Whether to enable the egress gateway.
    name String
    Name of the Istio add-on egress gateway.
    gatewayConfigurationName String
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace String
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.

    IstioEgressGatewayResponse, IstioEgressGatewayResponseArgs

    Istio egress gateway configuration.
    Enabled bool
    Whether to enable the egress gateway.
    Name string
    Name of the Istio add-on egress gateway.
    GatewayConfigurationName string
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    Namespace string
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    Enabled bool
    Whether to enable the egress gateway.
    Name string
    Name of the Istio add-on egress gateway.
    GatewayConfigurationName string
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    Namespace string
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled bool
    Whether to enable the egress gateway.
    name string
    Name of the Istio add-on egress gateway.
    gateway_configuration_name string
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace string
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled Boolean
    Whether to enable the egress gateway.
    name String
    Name of the Istio add-on egress gateway.
    gatewayConfigurationName String
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace String
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled boolean
    Whether to enable the egress gateway.
    name string
    Name of the Istio add-on egress gateway.
    gatewayConfigurationName string
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace string
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled bool
    Whether to enable the egress gateway.
    name str
    Name of the Istio add-on egress gateway.
    gateway_configuration_name str
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace str
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.
    enabled Boolean
    Whether to enable the egress gateway.
    name String
    Name of the Istio add-on egress gateway.
    gatewayConfigurationName String
    Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in.
    namespace String
    Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress.

    IstioIngressGateway, IstioIngressGatewayArgs

    Istio ingress gateway configuration. For now, we support up to one external ingress gateway named aks-istio-ingressgateway-external and one internal ingress gateway named aks-istio-ingressgateway-internal.
    Enabled bool
    Whether to enable the ingress gateway.
    Mode string | Pulumi.AzureNative.ContainerService.IstioIngressGatewayMode
    Mode of an ingress gateway.
    Enabled bool
    Whether to enable the ingress gateway.
    Mode string | IstioIngressGatewayMode
    Mode of an ingress gateway.
    enabled bool
    Whether to enable the ingress gateway.
    mode string | "External" | "Internal"
    Mode of an ingress gateway.
    enabled Boolean
    Whether to enable the ingress gateway.
    mode String | IstioIngressGatewayMode
    Mode of an ingress gateway.
    enabled boolean
    Whether to enable the ingress gateway.
    mode string | IstioIngressGatewayMode
    Mode of an ingress gateway.
    enabled bool
    Whether to enable the ingress gateway.
    mode str | IstioIngressGatewayMode
    Mode of an ingress gateway.
    enabled Boolean
    Whether to enable the ingress gateway.
    mode String | "External" | "Internal"
    Mode of an ingress gateway.

    IstioIngressGatewayMode, IstioIngressGatewayModeArgs

    External
    External The ingress gateway is assigned a public IP address and is publicly accessible.
    Internal
    Internal The ingress gateway is assigned an internal IP address and cannot is accessed publicly.
    IstioIngressGatewayModeExternal
    External The ingress gateway is assigned a public IP address and is publicly accessible.
    IstioIngressGatewayModeInternal
    Internal The ingress gateway is assigned an internal IP address and cannot is accessed publicly.
    "External"
    External The ingress gateway is assigned a public IP address and is publicly accessible.
    "Internal"
    Internal The ingress gateway is assigned an internal IP address and cannot is accessed publicly.
    External
    External The ingress gateway is assigned a public IP address and is publicly accessible.
    Internal
    Internal The ingress gateway is assigned an internal IP address and cannot is accessed publicly.
    External
    External The ingress gateway is assigned a public IP address and is publicly accessible.
    Internal
    Internal The ingress gateway is assigned an internal IP address and cannot is accessed publicly.
    EXTERNAL
    External The ingress gateway is assigned a public IP address and is publicly accessible.
    INTERNAL
    Internal The ingress gateway is assigned an internal IP address and cannot is accessed publicly.
    "External"
    External The ingress gateway is assigned a public IP address and is publicly accessible.
    "Internal"
    Internal The ingress gateway is assigned an internal IP address and cannot is accessed publicly.

    IstioIngressGatewayResponse, IstioIngressGatewayResponseArgs

    Istio ingress gateway configuration. For now, we support up to one external ingress gateway named aks-istio-ingressgateway-external and one internal ingress gateway named aks-istio-ingressgateway-internal.
    Enabled bool
    Whether to enable the ingress gateway.
    Mode string
    Mode of an ingress gateway.
    Enabled bool
    Whether to enable the ingress gateway.
    Mode string
    Mode of an ingress gateway.
    enabled bool
    Whether to enable the ingress gateway.
    mode string
    Mode of an ingress gateway.
    enabled Boolean
    Whether to enable the ingress gateway.
    mode String
    Mode of an ingress gateway.
    enabled boolean
    Whether to enable the ingress gateway.
    mode string
    Mode of an ingress gateway.
    enabled bool
    Whether to enable the ingress gateway.
    mode str
    Mode of an ingress gateway.
    enabled Boolean
    Whether to enable the ingress gateway.
    mode String
    Mode of an ingress gateway.

    IstioPluginCertificateAuthority, IstioPluginCertificateAuthorityArgs

    Plugin certificates information for Service Mesh.
    CertChainObjectName string
    Certificate chain object name in Azure Key Vault.
    CertObjectName string
    Intermediate certificate object name in Azure Key Vault.
    KeyObjectName string
    Intermediate certificate private key object name in Azure Key Vault.
    KeyVaultId string
    The resource ID of the Key Vault.
    RootCertObjectName string
    Root certificate object name in Azure Key Vault.
    CertChainObjectName string
    Certificate chain object name in Azure Key Vault.
    CertObjectName string
    Intermediate certificate object name in Azure Key Vault.
    KeyObjectName string
    Intermediate certificate private key object name in Azure Key Vault.
    KeyVaultId string
    The resource ID of the Key Vault.
    RootCertObjectName string
    Root certificate object name in Azure Key Vault.
    cert_chain_object_name string
    Certificate chain object name in Azure Key Vault.
    cert_object_name string
    Intermediate certificate object name in Azure Key Vault.
    key_object_name string
    Intermediate certificate private key object name in Azure Key Vault.
    key_vault_id string
    The resource ID of the Key Vault.
    root_cert_object_name string
    Root certificate object name in Azure Key Vault.
    certChainObjectName String
    Certificate chain object name in Azure Key Vault.
    certObjectName String
    Intermediate certificate object name in Azure Key Vault.
    keyObjectName String
    Intermediate certificate private key object name in Azure Key Vault.
    keyVaultId String
    The resource ID of the Key Vault.
    rootCertObjectName String
    Root certificate object name in Azure Key Vault.
    certChainObjectName string
    Certificate chain object name in Azure Key Vault.
    certObjectName string
    Intermediate certificate object name in Azure Key Vault.
    keyObjectName string
    Intermediate certificate private key object name in Azure Key Vault.
    keyVaultId string
    The resource ID of the Key Vault.
    rootCertObjectName string
    Root certificate object name in Azure Key Vault.
    cert_chain_object_name str
    Certificate chain object name in Azure Key Vault.
    cert_object_name str
    Intermediate certificate object name in Azure Key Vault.
    key_object_name str
    Intermediate certificate private key object name in Azure Key Vault.
    key_vault_id str
    The resource ID of the Key Vault.
    root_cert_object_name str
    Root certificate object name in Azure Key Vault.
    certChainObjectName String
    Certificate chain object name in Azure Key Vault.
    certObjectName String
    Intermediate certificate object name in Azure Key Vault.
    keyObjectName String
    Intermediate certificate private key object name in Azure Key Vault.
    keyVaultId String
    The resource ID of the Key Vault.
    rootCertObjectName String
    Root certificate object name in Azure Key Vault.

    IstioPluginCertificateAuthorityResponse, IstioPluginCertificateAuthorityResponseArgs

    Plugin certificates information for Service Mesh.
    CertChainObjectName string
    Certificate chain object name in Azure Key Vault.
    CertObjectName string
    Intermediate certificate object name in Azure Key Vault.
    KeyObjectName string
    Intermediate certificate private key object name in Azure Key Vault.
    KeyVaultId string
    The resource ID of the Key Vault.
    RootCertObjectName string
    Root certificate object name in Azure Key Vault.
    CertChainObjectName string
    Certificate chain object name in Azure Key Vault.
    CertObjectName string
    Intermediate certificate object name in Azure Key Vault.
    KeyObjectName string
    Intermediate certificate private key object name in Azure Key Vault.
    KeyVaultId string
    The resource ID of the Key Vault.
    RootCertObjectName string
    Root certificate object name in Azure Key Vault.
    cert_chain_object_name string
    Certificate chain object name in Azure Key Vault.
    cert_object_name string
    Intermediate certificate object name in Azure Key Vault.
    key_object_name string
    Intermediate certificate private key object name in Azure Key Vault.
    key_vault_id string
    The resource ID of the Key Vault.
    root_cert_object_name string
    Root certificate object name in Azure Key Vault.
    certChainObjectName String
    Certificate chain object name in Azure Key Vault.
    certObjectName String
    Intermediate certificate object name in Azure Key Vault.
    keyObjectName String
    Intermediate certificate private key object name in Azure Key Vault.
    keyVaultId String
    The resource ID of the Key Vault.
    rootCertObjectName String
    Root certificate object name in Azure Key Vault.
    certChainObjectName string
    Certificate chain object name in Azure Key Vault.
    certObjectName string
    Intermediate certificate object name in Azure Key Vault.
    keyObjectName string
    Intermediate certificate private key object name in Azure Key Vault.
    keyVaultId string
    The resource ID of the Key Vault.
    rootCertObjectName string
    Root certificate object name in Azure Key Vault.
    cert_chain_object_name str
    Certificate chain object name in Azure Key Vault.
    cert_object_name str
    Intermediate certificate object name in Azure Key Vault.
    key_object_name str
    Intermediate certificate private key object name in Azure Key Vault.
    key_vault_id str
    The resource ID of the Key Vault.
    root_cert_object_name str
    Root certificate object name in Azure Key Vault.
    certChainObjectName String
    Certificate chain object name in Azure Key Vault.
    certObjectName String
    Intermediate certificate object name in Azure Key Vault.
    keyObjectName String
    Intermediate certificate private key object name in Azure Key Vault.
    keyVaultId String
    The resource ID of the Key Vault.
    rootCertObjectName String
    Root certificate object name in Azure Key Vault.

    IstioServiceMesh, IstioServiceMeshArgs

    Istio service mesh configuration.
    CertificateAuthority Pulumi.AzureNative.ContainerService.Inputs.IstioCertificateAuthority
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    Components Pulumi.AzureNative.ContainerService.Inputs.IstioComponents
    Istio components configuration.
    Revisions List<string>
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    CertificateAuthority IstioCertificateAuthority
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    Components IstioComponents
    Istio components configuration.
    Revisions []string
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificate_authority object
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components object
    Istio components configuration.
    revisions list(string)
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificateAuthority IstioCertificateAuthority
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components IstioComponents
    Istio components configuration.
    revisions List<String>
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificateAuthority IstioCertificateAuthority
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components IstioComponents
    Istio components configuration.
    revisions string[]
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificate_authority IstioCertificateAuthority
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components IstioComponents
    Istio components configuration.
    revisions Sequence[str]
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificateAuthority Property Map
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components Property Map
    Istio components configuration.
    revisions List<String>
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade

    IstioServiceMeshResponse, IstioServiceMeshResponseArgs

    Istio service mesh configuration.
    CertificateAuthority Pulumi.AzureNative.ContainerService.Inputs.IstioCertificateAuthorityResponse
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    Components Pulumi.AzureNative.ContainerService.Inputs.IstioComponentsResponse
    Istio components configuration.
    Revisions List<string>
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    CertificateAuthority IstioCertificateAuthorityResponse
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    Components IstioComponentsResponse
    Istio components configuration.
    Revisions []string
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificate_authority object
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components object
    Istio components configuration.
    revisions list(string)
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificateAuthority IstioCertificateAuthorityResponse
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components IstioComponentsResponse
    Istio components configuration.
    revisions List<String>
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificateAuthority IstioCertificateAuthorityResponse
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components IstioComponentsResponse
    Istio components configuration.
    revisions string[]
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificate_authority IstioCertificateAuthorityResponse
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components IstioComponentsResponse
    Istio components configuration.
    revisions Sequence[str]
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade
    certificateAuthority Property Map
    Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca
    components Property Map
    Istio components configuration.
    revisions List<String>
    The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade

    KeyVaultNetworkAccessTypes, KeyVaultNetworkAccessTypesArgs

    Public
    Public
    Private
    Private
    KeyVaultNetworkAccessTypesPublic
    Public
    KeyVaultNetworkAccessTypesPrivate
    Private
    "Public"
    Public
    "Private"
    Private
    Public
    Public
    Private
    Private
    Public
    Public
    Private
    Private
    PUBLIC
    Public
    PRIVATE
    Private
    "Public"
    Public
    "Private"
    Private

    KubeletConfig, KubeletConfigArgs

    Kubelet configurations of agent nodes. See AKS custom node configuration for more details.
    AllowedUnsafeSysctls List<string>
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    ContainerLogMaxFiles int
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    ContainerLogMaxSizeMB int
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    CpuCfsQuota bool
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    CpuCfsQuotaPeriod string
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    CpuManagerPolicy string
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    FailSwapOn bool
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    ImageGcHighThreshold int
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    ImageGcLowThreshold int
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    PodMaxPids int
    The maximum number of processes per pod.
    TopologyManagerPolicy string
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    AllowedUnsafeSysctls []string
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    ContainerLogMaxFiles int
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    ContainerLogMaxSizeMB int
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    CpuCfsQuota bool
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    CpuCfsQuotaPeriod string
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    CpuManagerPolicy string
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    FailSwapOn bool
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    ImageGcHighThreshold int
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    ImageGcLowThreshold int
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    PodMaxPids int
    The maximum number of processes per pod.
    TopologyManagerPolicy string
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowed_unsafe_sysctls list(string)
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    container_log_max_files number
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    container_log_max_size_mb number
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpu_cfs_quota bool
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpu_cfs_quota_period string
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpu_manager_policy string
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    fail_swap_on bool
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    image_gc_high_threshold number
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    image_gc_low_threshold number
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    pod_max_pids number
    The maximum number of processes per pod.
    topology_manager_policy string
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowedUnsafeSysctls List<String>
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    containerLogMaxFiles Integer
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    containerLogMaxSizeMB Integer
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpuCfsQuota Boolean
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpuCfsQuotaPeriod String
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpuManagerPolicy String
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    failSwapOn Boolean
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    imageGcHighThreshold Integer
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold Integer
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids Integer
    The maximum number of processes per pod.
    topologyManagerPolicy String
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowedUnsafeSysctls string[]
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    containerLogMaxFiles number
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    containerLogMaxSizeMB number
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpuCfsQuota boolean
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpuCfsQuotaPeriod string
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpuManagerPolicy string
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    failSwapOn boolean
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    imageGcHighThreshold number
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold number
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids number
    The maximum number of processes per pod.
    topologyManagerPolicy string
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowed_unsafe_sysctls Sequence[str]
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    container_log_max_files int
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    container_log_max_size_mb int
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpu_cfs_quota bool
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpu_cfs_quota_period str
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpu_manager_policy str
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    fail_swap_on bool
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    image_gc_high_threshold int
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    image_gc_low_threshold int
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    pod_max_pids int
    The maximum number of processes per pod.
    topology_manager_policy str
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowedUnsafeSysctls List<String>
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    containerLogMaxFiles Number
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    containerLogMaxSizeMB Number
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpuCfsQuota Boolean
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpuCfsQuotaPeriod String
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpuManagerPolicy String
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    failSwapOn Boolean
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    imageGcHighThreshold Number
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold Number
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids Number
    The maximum number of processes per pod.
    topologyManagerPolicy String
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.

    KubeletConfigResponse, KubeletConfigResponseArgs

    Kubelet configurations of agent nodes. See AKS custom node configuration for more details.
    AllowedUnsafeSysctls List<string>
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    ContainerLogMaxFiles int
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    ContainerLogMaxSizeMB int
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    CpuCfsQuota bool
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    CpuCfsQuotaPeriod string
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    CpuManagerPolicy string
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    FailSwapOn bool
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    ImageGcHighThreshold int
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    ImageGcLowThreshold int
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    PodMaxPids int
    The maximum number of processes per pod.
    TopologyManagerPolicy string
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    AllowedUnsafeSysctls []string
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    ContainerLogMaxFiles int
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    ContainerLogMaxSizeMB int
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    CpuCfsQuota bool
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    CpuCfsQuotaPeriod string
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    CpuManagerPolicy string
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    FailSwapOn bool
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    ImageGcHighThreshold int
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    ImageGcLowThreshold int
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    PodMaxPids int
    The maximum number of processes per pod.
    TopologyManagerPolicy string
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowed_unsafe_sysctls list(string)
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    container_log_max_files number
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    container_log_max_size_mb number
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpu_cfs_quota bool
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpu_cfs_quota_period string
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpu_manager_policy string
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    fail_swap_on bool
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    image_gc_high_threshold number
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    image_gc_low_threshold number
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    pod_max_pids number
    The maximum number of processes per pod.
    topology_manager_policy string
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowedUnsafeSysctls List<String>
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    containerLogMaxFiles Integer
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    containerLogMaxSizeMB Integer
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpuCfsQuota Boolean
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpuCfsQuotaPeriod String
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpuManagerPolicy String
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    failSwapOn Boolean
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    imageGcHighThreshold Integer
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold Integer
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids Integer
    The maximum number of processes per pod.
    topologyManagerPolicy String
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowedUnsafeSysctls string[]
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    containerLogMaxFiles number
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    containerLogMaxSizeMB number
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpuCfsQuota boolean
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpuCfsQuotaPeriod string
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpuManagerPolicy string
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    failSwapOn boolean
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    imageGcHighThreshold number
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold number
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids number
    The maximum number of processes per pod.
    topologyManagerPolicy string
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowed_unsafe_sysctls Sequence[str]
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    container_log_max_files int
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    container_log_max_size_mb int
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpu_cfs_quota bool
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpu_cfs_quota_period str
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpu_manager_policy str
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    fail_swap_on bool
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    image_gc_high_threshold int
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    image_gc_low_threshold int
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    pod_max_pids int
    The maximum number of processes per pod.
    topology_manager_policy str
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
    allowedUnsafeSysctls List<String>
    Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).
    containerLogMaxFiles Number
    The maximum number of container log files that can be present for a container. The number must be ≥ 2.
    containerLogMaxSizeMB Number
    The maximum size (e.g. 10Mi) of container log file before it is rotated.
    cpuCfsQuota Boolean
    If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true.
    cpuCfsQuotaPeriod String
    The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
    cpuManagerPolicy String
    The CPU Manager policy to use. The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.
    failSwapOn Boolean
    If set to true it will make the Kubelet fail to start if swap is enabled on the node.
    imageGcHighThreshold Number
    The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold Number
    The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids Number
    The maximum number of processes per pod.
    topologyManagerPolicy String
    The Topology Manager policy to use. For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.

    KubeletDiskType, KubeletDiskTypeArgs

    OS
    OS Kubelet will use the OS disk for its data.
    Temporary
    Temporary Kubelet will use the temporary disk for its data.
    KubeletDiskTypeOS
    OS Kubelet will use the OS disk for its data.
    KubeletDiskTypeTemporary
    Temporary Kubelet will use the temporary disk for its data.
    "OS"
    OS Kubelet will use the OS disk for its data.
    "Temporary"
    Temporary Kubelet will use the temporary disk for its data.
    OS
    OS Kubelet will use the OS disk for its data.
    Temporary
    Temporary Kubelet will use the temporary disk for its data.
    OS
    OS Kubelet will use the OS disk for its data.
    Temporary
    Temporary Kubelet will use the temporary disk for its data.
    OS
    OS Kubelet will use the OS disk for its data.
    TEMPORARY
    Temporary Kubelet will use the temporary disk for its data.
    "OS"
    OS Kubelet will use the OS disk for its data.
    "Temporary"
    Temporary Kubelet will use the temporary disk for its data.

    KubernetesSupportPlan, KubernetesSupportPlanArgs

    KubernetesOfficial
    KubernetesOfficial Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release.
    AKSLongTermSupport
    AKSLongTermSupport Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.
    KubernetesSupportPlanKubernetesOfficial
    KubernetesOfficial Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release.
    KubernetesSupportPlanAKSLongTermSupport
    AKSLongTermSupport Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.
    "KubernetesOfficial"
    KubernetesOfficial Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release.
    "AKSLongTermSupport"
    AKSLongTermSupport Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.
    KubernetesOfficial
    KubernetesOfficial Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release.
    AKSLongTermSupport
    AKSLongTermSupport Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.
    KubernetesOfficial
    KubernetesOfficial Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release.
    AKSLongTermSupport
    AKSLongTermSupport Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.
    KUBERNETES_OFFICIAL
    KubernetesOfficial Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release.
    AKS_LONG_TERM_SUPPORT
    AKSLongTermSupport Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.
    "KubernetesOfficial"
    KubernetesOfficial Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release.
    "AKSLongTermSupport"
    AKSLongTermSupport Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support.

    LicenseType, LicenseTypeArgs

    None
    None No additional licensing is applied.
    Windows_Server
    Windows_Server Enables Azure Hybrid User Benefits for Windows VMs.
    LicenseTypeNone
    None No additional licensing is applied.
    LicenseType_Windows_Server
    Windows_Server Enables Azure Hybrid User Benefits for Windows VMs.
    "None"
    None No additional licensing is applied.
    "Windows_Server"
    Windows_Server Enables Azure Hybrid User Benefits for Windows VMs.
    None
    None No additional licensing is applied.
    Windows_Server
    Windows_Server Enables Azure Hybrid User Benefits for Windows VMs.
    None
    None No additional licensing is applied.
    Windows_Server
    Windows_Server Enables Azure Hybrid User Benefits for Windows VMs.
    NONE
    None No additional licensing is applied.
    WINDOWS_SERVER
    Windows_Server Enables Azure Hybrid User Benefits for Windows VMs.
    "None"
    None No additional licensing is applied.
    "Windows_Server"
    Windows_Server Enables Azure Hybrid User Benefits for Windows VMs.

    LinuxOSConfig, LinuxOSConfigArgs

    OS configurations of Linux agent nodes. See AKS custom node configuration for more details.
    SwapFileSizeMB int
    The size in MB of a swap file that will be created on each node.
    Sysctls Pulumi.AzureNative.ContainerService.Inputs.SysctlConfig
    Sysctl settings for Linux agent nodes.
    TransparentHugePageDefrag string
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    TransparentHugePageEnabled string
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    SwapFileSizeMB int
    The size in MB of a swap file that will be created on each node.
    Sysctls SysctlConfig
    Sysctl settings for Linux agent nodes.
    TransparentHugePageDefrag string
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    TransparentHugePageEnabled string
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swap_file_size_mb number
    The size in MB of a swap file that will be created on each node.
    sysctls object
    Sysctl settings for Linux agent nodes.
    transparent_huge_page_defrag string
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparent_huge_page_enabled string
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swapFileSizeMB Integer
    The size in MB of a swap file that will be created on each node.
    sysctls SysctlConfig
    Sysctl settings for Linux agent nodes.
    transparentHugePageDefrag String
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled String
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swapFileSizeMB number
    The size in MB of a swap file that will be created on each node.
    sysctls SysctlConfig
    Sysctl settings for Linux agent nodes.
    transparentHugePageDefrag string
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled string
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swap_file_size_mb int
    The size in MB of a swap file that will be created on each node.
    sysctls SysctlConfig
    Sysctl settings for Linux agent nodes.
    transparent_huge_page_defrag str
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparent_huge_page_enabled str
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swapFileSizeMB Number
    The size in MB of a swap file that will be created on each node.
    sysctls Property Map
    Sysctl settings for Linux agent nodes.
    transparentHugePageDefrag String
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled String
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.

    LinuxOSConfigResponse, LinuxOSConfigResponseArgs

    OS configurations of Linux agent nodes. See AKS custom node configuration for more details.
    SwapFileSizeMB int
    The size in MB of a swap file that will be created on each node.
    Sysctls Pulumi.AzureNative.ContainerService.Inputs.SysctlConfigResponse
    Sysctl settings for Linux agent nodes.
    TransparentHugePageDefrag string
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    TransparentHugePageEnabled string
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    SwapFileSizeMB int
    The size in MB of a swap file that will be created on each node.
    Sysctls SysctlConfigResponse
    Sysctl settings for Linux agent nodes.
    TransparentHugePageDefrag string
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    TransparentHugePageEnabled string
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swap_file_size_mb number
    The size in MB of a swap file that will be created on each node.
    sysctls object
    Sysctl settings for Linux agent nodes.
    transparent_huge_page_defrag string
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparent_huge_page_enabled string
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swapFileSizeMB Integer
    The size in MB of a swap file that will be created on each node.
    sysctls SysctlConfigResponse
    Sysctl settings for Linux agent nodes.
    transparentHugePageDefrag String
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled String
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swapFileSizeMB number
    The size in MB of a swap file that will be created on each node.
    sysctls SysctlConfigResponse
    Sysctl settings for Linux agent nodes.
    transparentHugePageDefrag string
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled string
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swap_file_size_mb int
    The size in MB of a swap file that will be created on each node.
    sysctls SysctlConfigResponse
    Sysctl settings for Linux agent nodes.
    transparent_huge_page_defrag str
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparent_huge_page_enabled str
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.
    swapFileSizeMB Number
    The size in MB of a swap file that will be created on each node.
    sysctls Property Map
    Sysctl settings for Linux agent nodes.
    transparentHugePageDefrag String
    Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled String
    Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.

    LoadBalancerSku, LoadBalancerSkuArgs

    Standard
    standard Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the standard Load Balancer article.
    Basic
    basic Use a basic Load Balancer with limited functionality.
    LoadBalancerSkuStandard
    standard Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the standard Load Balancer article.
    LoadBalancerSkuBasic
    basic Use a basic Load Balancer with limited functionality.
    "standard"
    standard Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the standard Load Balancer article.
    "basic"
    basic Use a basic Load Balancer with limited functionality.
    Standard
    standard Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the standard Load Balancer article.
    Basic
    basic Use a basic Load Balancer with limited functionality.
    Standard
    standard Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the standard Load Balancer article.
    Basic
    basic Use a basic Load Balancer with limited functionality.
    STANDARD
    standard Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the standard Load Balancer article.
    BASIC
    basic Use a basic Load Balancer with limited functionality.
    "standard"
    standard Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the standard Load Balancer article.
    "basic"
    basic Use a basic Load Balancer with limited functionality.

    LocalDNSForwardDestination, LocalDNSForwardDestinationArgs

    ClusterCoreDNS
    ClusterCoreDNS Forward DNS queries from localDNS to cluster CoreDNS.
    VnetDNS
    VnetDNS Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.
    LocalDNSForwardDestinationClusterCoreDNS
    ClusterCoreDNS Forward DNS queries from localDNS to cluster CoreDNS.
    LocalDNSForwardDestinationVnetDNS
    VnetDNS Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.
    "ClusterCoreDNS"
    ClusterCoreDNS Forward DNS queries from localDNS to cluster CoreDNS.
    "VnetDNS"
    VnetDNS Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.
    ClusterCoreDNS
    ClusterCoreDNS Forward DNS queries from localDNS to cluster CoreDNS.
    VnetDNS
    VnetDNS Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.
    ClusterCoreDNS
    ClusterCoreDNS Forward DNS queries from localDNS to cluster CoreDNS.
    VnetDNS
    VnetDNS Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.
    CLUSTER_CORE_DNS
    ClusterCoreDNS Forward DNS queries from localDNS to cluster CoreDNS.
    VNET_DNS
    VnetDNS Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.
    "ClusterCoreDNS"
    ClusterCoreDNS Forward DNS queries from localDNS to cluster CoreDNS.
    "VnetDNS"
    VnetDNS Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured.

    LocalDNSForwardPolicy, LocalDNSForwardPolicyArgs

    Sequential
    Sequential Implements sequential upstream DNS server selection. See forward plugin for more information.
    RoundRobin
    RoundRobin Implements round robin upstream DNS server selection. See forward plugin for more information.
    Random
    Random Implements random upstream DNS server selection. See forward plugin for more information.
    LocalDNSForwardPolicySequential
    Sequential Implements sequential upstream DNS server selection. See forward plugin for more information.
    LocalDNSForwardPolicyRoundRobin
    RoundRobin Implements round robin upstream DNS server selection. See forward plugin for more information.
    LocalDNSForwardPolicyRandom
    Random Implements random upstream DNS server selection. See forward plugin for more information.
    "Sequential"
    Sequential Implements sequential upstream DNS server selection. See forward plugin for more information.
    "RoundRobin"
    RoundRobin Implements round robin upstream DNS server selection. See forward plugin for more information.
    "Random"
    Random Implements random upstream DNS server selection. See forward plugin for more information.
    Sequential
    Sequential Implements sequential upstream DNS server selection. See forward plugin for more information.
    RoundRobin
    RoundRobin Implements round robin upstream DNS server selection. See forward plugin for more information.
    Random
    Random Implements random upstream DNS server selection. See forward plugin for more information.
    Sequential
    Sequential Implements sequential upstream DNS server selection. See forward plugin for more information.
    RoundRobin
    RoundRobin Implements round robin upstream DNS server selection. See forward plugin for more information.
    Random
    Random Implements random upstream DNS server selection. See forward plugin for more information.
    SEQUENTIAL
    Sequential Implements sequential upstream DNS server selection. See forward plugin for more information.
    ROUND_ROBIN
    RoundRobin Implements round robin upstream DNS server selection. See forward plugin for more information.
    RANDOM
    Random Implements random upstream DNS server selection. See forward plugin for more information.
    "Sequential"
    Sequential Implements sequential upstream DNS server selection. See forward plugin for more information.
    "RoundRobin"
    RoundRobin Implements round robin upstream DNS server selection. See forward plugin for more information.
    "Random"
    Random Implements random upstream DNS server selection. See forward plugin for more information.

    LocalDNSMode, LocalDNSModeArgs

    Preferred
    Preferred If the current orchestrator version supports this feature, prefer enabling localDNS.
    Required
    Required Enable localDNS.
    Disabled
    Disabled Disable localDNS.
    LocalDNSModePreferred
    Preferred If the current orchestrator version supports this feature, prefer enabling localDNS.
    LocalDNSModeRequired
    Required Enable localDNS.
    LocalDNSModeDisabled
    Disabled Disable localDNS.
    "Preferred"
    Preferred If the current orchestrator version supports this feature, prefer enabling localDNS.
    "Required"
    Required Enable localDNS.
    "Disabled"
    Disabled Disable localDNS.
    Preferred
    Preferred If the current orchestrator version supports this feature, prefer enabling localDNS.
    Required
    Required Enable localDNS.
    Disabled
    Disabled Disable localDNS.
    Preferred
    Preferred If the current orchestrator version supports this feature, prefer enabling localDNS.
    Required
    Required Enable localDNS.
    Disabled
    Disabled Disable localDNS.
    PREFERRED
    Preferred If the current orchestrator version supports this feature, prefer enabling localDNS.
    REQUIRED
    Required Enable localDNS.
    DISABLED
    Disabled Disable localDNS.
    "Preferred"
    Preferred If the current orchestrator version supports this feature, prefer enabling localDNS.
    "Required"
    Required Enable localDNS.
    "Disabled"
    Disabled Disable localDNS.

    LocalDNSOverride, LocalDNSOverrideArgs

    Overrides for localDNS profile.
    CacheDurationInSeconds int
    Cache max TTL in seconds. See cache plugin for more information.
    ForwardDestination string | Pulumi.AzureNative.ContainerService.LocalDNSForwardDestination
    Destination server for DNS queries to be forwarded from localDNS.
    ForwardPolicy string | Pulumi.AzureNative.ContainerService.LocalDNSForwardPolicy
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    MaxConcurrent int
    Maximum number of concurrent queries. See forward plugin for more information.
    Protocol string | Pulumi.AzureNative.ContainerService.LocalDNSProtocol
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    QueryLogging string | Pulumi.AzureNative.ContainerService.LocalDNSQueryLogging
    Log level for DNS queries in localDNS.
    ServeStale string | Pulumi.AzureNative.ContainerService.LocalDNSServeStale
    Policy for serving stale data. See cache plugin for more information.
    ServeStaleDurationInSeconds int
    Serve stale duration in seconds. See cache plugin for more information.
    CacheDurationInSeconds int
    Cache max TTL in seconds. See cache plugin for more information.
    ForwardDestination string | LocalDNSForwardDestination
    Destination server for DNS queries to be forwarded from localDNS.
    ForwardPolicy string | LocalDNSForwardPolicy
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    MaxConcurrent int
    Maximum number of concurrent queries. See forward plugin for more information.
    Protocol string | LocalDNSProtocol
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    QueryLogging string | LocalDNSQueryLogging
    Log level for DNS queries in localDNS.
    ServeStale string | LocalDNSServeStale
    Policy for serving stale data. See cache plugin for more information.
    ServeStaleDurationInSeconds int
    Serve stale duration in seconds. See cache plugin for more information.
    cache_duration_in_seconds number
    Cache max TTL in seconds. See cache plugin for more information.
    forward_destination string | "ClusterCoreDNS" | "VnetDNS"
    Destination server for DNS queries to be forwarded from localDNS.
    forward_policy string | "Sequential" | "RoundRobin" | "Random"
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    max_concurrent number
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol string | "PreferUDP" | "ForceTCP"
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    query_logging string | "Error" | "Log"
    Log level for DNS queries in localDNS.
    serve_stale string | "Verify" | "Immediate" | "Disable"
    Policy for serving stale data. See cache plugin for more information.
    serve_stale_duration_in_seconds number
    Serve stale duration in seconds. See cache plugin for more information.
    cacheDurationInSeconds Integer
    Cache max TTL in seconds. See cache plugin for more information.
    forwardDestination String | LocalDNSForwardDestination
    Destination server for DNS queries to be forwarded from localDNS.
    forwardPolicy String | LocalDNSForwardPolicy
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    maxConcurrent Integer
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol String | LocalDNSProtocol
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    queryLogging String | LocalDNSQueryLogging
    Log level for DNS queries in localDNS.
    serveStale String | LocalDNSServeStale
    Policy for serving stale data. See cache plugin for more information.
    serveStaleDurationInSeconds Integer
    Serve stale duration in seconds. See cache plugin for more information.
    cacheDurationInSeconds number
    Cache max TTL in seconds. See cache plugin for more information.
    forwardDestination string | LocalDNSForwardDestination
    Destination server for DNS queries to be forwarded from localDNS.
    forwardPolicy string | LocalDNSForwardPolicy
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    maxConcurrent number
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol string | LocalDNSProtocol
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    queryLogging string | LocalDNSQueryLogging
    Log level for DNS queries in localDNS.
    serveStale string | LocalDNSServeStale
    Policy for serving stale data. See cache plugin for more information.
    serveStaleDurationInSeconds number
    Serve stale duration in seconds. See cache plugin for more information.
    cache_duration_in_seconds int
    Cache max TTL in seconds. See cache plugin for more information.
    forward_destination str | LocalDNSForwardDestination
    Destination server for DNS queries to be forwarded from localDNS.
    forward_policy str | LocalDNSForwardPolicy
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    max_concurrent int
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol str | LocalDNSProtocol
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    query_logging str | LocalDNSQueryLogging
    Log level for DNS queries in localDNS.
    serve_stale str | LocalDNSServeStale
    Policy for serving stale data. See cache plugin for more information.
    serve_stale_duration_in_seconds int
    Serve stale duration in seconds. See cache plugin for more information.
    cacheDurationInSeconds Number
    Cache max TTL in seconds. See cache plugin for more information.
    forwardDestination String | "ClusterCoreDNS" | "VnetDNS"
    Destination server for DNS queries to be forwarded from localDNS.
    forwardPolicy String | "Sequential" | "RoundRobin" | "Random"
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    maxConcurrent Number
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol String | "PreferUDP" | "ForceTCP"
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    queryLogging String | "Error" | "Log"
    Log level for DNS queries in localDNS.
    serveStale String | "Verify" | "Immediate" | "Disable"
    Policy for serving stale data. See cache plugin for more information.
    serveStaleDurationInSeconds Number
    Serve stale duration in seconds. See cache plugin for more information.

    LocalDNSOverrideResponse, LocalDNSOverrideResponseArgs

    Overrides for localDNS profile.
    CacheDurationInSeconds int
    Cache max TTL in seconds. See cache plugin for more information.
    ForwardDestination string
    Destination server for DNS queries to be forwarded from localDNS.
    ForwardPolicy string
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    MaxConcurrent int
    Maximum number of concurrent queries. See forward plugin for more information.
    Protocol string
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    QueryLogging string
    Log level for DNS queries in localDNS.
    ServeStale string
    Policy for serving stale data. See cache plugin for more information.
    ServeStaleDurationInSeconds int
    Serve stale duration in seconds. See cache plugin for more information.
    CacheDurationInSeconds int
    Cache max TTL in seconds. See cache plugin for more information.
    ForwardDestination string
    Destination server for DNS queries to be forwarded from localDNS.
    ForwardPolicy string
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    MaxConcurrent int
    Maximum number of concurrent queries. See forward plugin for more information.
    Protocol string
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    QueryLogging string
    Log level for DNS queries in localDNS.
    ServeStale string
    Policy for serving stale data. See cache plugin for more information.
    ServeStaleDurationInSeconds int
    Serve stale duration in seconds. See cache plugin for more information.
    cache_duration_in_seconds number
    Cache max TTL in seconds. See cache plugin for more information.
    forward_destination string
    Destination server for DNS queries to be forwarded from localDNS.
    forward_policy string
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    max_concurrent number
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol string
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    query_logging string
    Log level for DNS queries in localDNS.
    serve_stale string
    Policy for serving stale data. See cache plugin for more information.
    serve_stale_duration_in_seconds number
    Serve stale duration in seconds. See cache plugin for more information.
    cacheDurationInSeconds Integer
    Cache max TTL in seconds. See cache plugin for more information.
    forwardDestination String
    Destination server for DNS queries to be forwarded from localDNS.
    forwardPolicy String
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    maxConcurrent Integer
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol String
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    queryLogging String
    Log level for DNS queries in localDNS.
    serveStale String
    Policy for serving stale data. See cache plugin for more information.
    serveStaleDurationInSeconds Integer
    Serve stale duration in seconds. See cache plugin for more information.
    cacheDurationInSeconds number
    Cache max TTL in seconds. See cache plugin for more information.
    forwardDestination string
    Destination server for DNS queries to be forwarded from localDNS.
    forwardPolicy string
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    maxConcurrent number
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol string
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    queryLogging string
    Log level for DNS queries in localDNS.
    serveStale string
    Policy for serving stale data. See cache plugin for more information.
    serveStaleDurationInSeconds number
    Serve stale duration in seconds. See cache plugin for more information.
    cache_duration_in_seconds int
    Cache max TTL in seconds. See cache plugin for more information.
    forward_destination str
    Destination server for DNS queries to be forwarded from localDNS.
    forward_policy str
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    max_concurrent int
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol str
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    query_logging str
    Log level for DNS queries in localDNS.
    serve_stale str
    Policy for serving stale data. See cache plugin for more information.
    serve_stale_duration_in_seconds int
    Serve stale duration in seconds. See cache plugin for more information.
    cacheDurationInSeconds Number
    Cache max TTL in seconds. See cache plugin for more information.
    forwardDestination String
    Destination server for DNS queries to be forwarded from localDNS.
    forwardPolicy String
    Forward policy for selecting upstream DNS server. See forward plugin for more information.
    maxConcurrent Number
    Maximum number of concurrent queries. See forward plugin for more information.
    protocol String
    Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.
    queryLogging String
    Log level for DNS queries in localDNS.
    serveStale String
    Policy for serving stale data. See cache plugin for more information.
    serveStaleDurationInSeconds Number
    Serve stale duration in seconds. See cache plugin for more information.

    LocalDNSProfile, LocalDNSProfileArgs

    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    KubeDNSOverrides Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.LocalDNSOverride>
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    Mode string | Pulumi.AzureNative.ContainerService.LocalDNSMode
    Mode of enablement for localDNS.
    VnetDNSOverrides Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.LocalDNSOverride>
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    KubeDNSOverrides map[string]LocalDNSOverride
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    Mode string | LocalDNSMode
    Mode of enablement for localDNS.
    VnetDNSOverrides map[string]LocalDNSOverride
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    kube_dns_overrides map(object)
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode string | "Preferred" | "Required" | "Disabled"
    Mode of enablement for localDNS.
    vnet_dns_overrides map(object)
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    kubeDNSOverrides Map<String,LocalDNSOverride>
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode String | LocalDNSMode
    Mode of enablement for localDNS.
    vnetDNSOverrides Map<String,LocalDNSOverride>
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    kubeDNSOverrides {[key: string]: LocalDNSOverride}
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode string | LocalDNSMode
    Mode of enablement for localDNS.
    vnetDNSOverrides {[key: string]: LocalDNSOverride}
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    kube_dns_overrides Mapping[str, LocalDNSOverride]
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode str | LocalDNSMode
    Mode of enablement for localDNS.
    vnet_dns_overrides Mapping[str, LocalDNSOverride]
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    kubeDNSOverrides Map<Property Map>
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode String | "Preferred" | "Required" | "Disabled"
    Mode of enablement for localDNS.
    vnetDNSOverrides Map<Property Map>
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).

    LocalDNSProfileResponse, LocalDNSProfileResponseArgs

    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    State string
    System-generated state of localDNS.
    KubeDNSOverrides Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.LocalDNSOverrideResponse>
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    Mode string
    Mode of enablement for localDNS.
    VnetDNSOverrides Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.LocalDNSOverrideResponse>
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    State string
    System-generated state of localDNS.
    KubeDNSOverrides map[string]LocalDNSOverrideResponse
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    Mode string
    Mode of enablement for localDNS.
    VnetDNSOverrides map[string]LocalDNSOverrideResponse
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    state string
    System-generated state of localDNS.
    kube_dns_overrides map(object)
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode string
    Mode of enablement for localDNS.
    vnet_dns_overrides map(object)
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    state String
    System-generated state of localDNS.
    kubeDNSOverrides Map<String,LocalDNSOverrideResponse>
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode String
    Mode of enablement for localDNS.
    vnetDNSOverrides Map<String,LocalDNSOverrideResponse>
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    state string
    System-generated state of localDNS.
    kubeDNSOverrides {[key: string]: LocalDNSOverrideResponse}
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode string
    Mode of enablement for localDNS.
    vnetDNSOverrides {[key: string]: LocalDNSOverrideResponse}
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    state str
    System-generated state of localDNS.
    kube_dns_overrides Mapping[str, LocalDNSOverrideResponse]
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode str
    Mode of enablement for localDNS.
    vnet_dns_overrides Mapping[str, LocalDNSOverrideResponse]
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).
    state String
    System-generated state of localDNS.
    kubeDNSOverrides Map<Property Map>
    KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).
    mode String
    Mode of enablement for localDNS.
    vnetDNSOverrides Map<Property Map>
    VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).

    LocalDNSProtocol, LocalDNSProtocolArgs

    PreferUDP
    PreferUDP Prefer UDP protocol for connections from localDNS to upstream DNS server.
    ForceTCP
    ForceTCP Enforce TCP protocol for connections from localDNS to upstream DNS server.
    LocalDNSProtocolPreferUDP
    PreferUDP Prefer UDP protocol for connections from localDNS to upstream DNS server.
    LocalDNSProtocolForceTCP
    ForceTCP Enforce TCP protocol for connections from localDNS to upstream DNS server.
    "PreferUDP"
    PreferUDP Prefer UDP protocol for connections from localDNS to upstream DNS server.
    "ForceTCP"
    ForceTCP Enforce TCP protocol for connections from localDNS to upstream DNS server.
    PreferUDP
    PreferUDP Prefer UDP protocol for connections from localDNS to upstream DNS server.
    ForceTCP
    ForceTCP Enforce TCP protocol for connections from localDNS to upstream DNS server.
    PreferUDP
    PreferUDP Prefer UDP protocol for connections from localDNS to upstream DNS server.
    ForceTCP
    ForceTCP Enforce TCP protocol for connections from localDNS to upstream DNS server.
    PREFER_UDP
    PreferUDP Prefer UDP protocol for connections from localDNS to upstream DNS server.
    FORCE_TCP
    ForceTCP Enforce TCP protocol for connections from localDNS to upstream DNS server.
    "PreferUDP"
    PreferUDP Prefer UDP protocol for connections from localDNS to upstream DNS server.
    "ForceTCP"
    ForceTCP Enforce TCP protocol for connections from localDNS to upstream DNS server.

    LocalDNSQueryLogging, LocalDNSQueryLoggingArgs

    Error
    Error Enables error logging in localDNS. See errors plugin for more information.
    Log
    Log Enables query logging in localDNS. See log plugin for more information.
    LocalDNSQueryLoggingError
    Error Enables error logging in localDNS. See errors plugin for more information.
    LocalDNSQueryLoggingLog
    Log Enables query logging in localDNS. See log plugin for more information.
    "Error"
    Error Enables error logging in localDNS. See errors plugin for more information.
    "Log"
    Log Enables query logging in localDNS. See log plugin for more information.
    Error
    Error Enables error logging in localDNS. See errors plugin for more information.
    Log
    Log Enables query logging in localDNS. See log plugin for more information.
    Error
    Error Enables error logging in localDNS. See errors plugin for more information.
    Log
    Log Enables query logging in localDNS. See log plugin for more information.
    ERROR
    Error Enables error logging in localDNS. See errors plugin for more information.
    LOG
    Log Enables query logging in localDNS. See log plugin for more information.
    "Error"
    Error Enables error logging in localDNS. See errors plugin for more information.
    "Log"
    Log Enables query logging in localDNS. See log plugin for more information.

    LocalDNSServeStale, LocalDNSServeStaleArgs

    Verify
    Verify Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See cache plugin for more information.
    Immediate
    Immediate Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See cache plugin for more information.
    Disable
    Disable Disable serving stale data.
    LocalDNSServeStaleVerify
    Verify Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See cache plugin for more information.
    LocalDNSServeStaleImmediate
    Immediate Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See cache plugin for more information.
    LocalDNSServeStaleDisable
    Disable Disable serving stale data.
    "Verify"
    Verify Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See cache plugin for more information.
    "Immediate"
    Immediate Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See cache plugin for more information.
    "Disable"
    Disable Disable serving stale data.
    Verify
    Verify Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See cache plugin for more information.
    Immediate
    Immediate Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See cache plugin for more information.
    Disable
    Disable Disable serving stale data.
    Verify
    Verify Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See cache plugin for more information.
    Immediate
    Immediate Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See cache plugin for more information.
    Disable
    Disable Disable serving stale data.
    VERIFY
    Verify Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See cache plugin for more information.
    IMMEDIATE
    Immediate Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See cache plugin for more information.
    DISABLE
    Disable Disable serving stale data.
    "Verify"
    Verify Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See cache plugin for more information.
    "Immediate"
    Immediate Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See cache plugin for more information.
    "Disable"
    Disable Disable serving stale data.

    ManagedClusterAADProfile, ManagedClusterAADProfileArgs

    AADProfile specifies attributes for Azure Active Directory integration. For more details see managed AAD on AKS.
    AdminGroupObjectIDs List<string>
    The list of AAD group object IDs that will have admin role of the cluster.
    ClientAppID string
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    EnableAzureRBAC bool
    Whether to enable Azure RBAC for Kubernetes authorization.
    Managed bool
    Whether to enable managed AAD.
    ServerAppID string
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    ServerAppSecret string
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    TenantID string
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    AdminGroupObjectIDs []string
    The list of AAD group object IDs that will have admin role of the cluster.
    ClientAppID string
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    EnableAzureRBAC bool
    Whether to enable Azure RBAC for Kubernetes authorization.
    Managed bool
    Whether to enable managed AAD.
    ServerAppID string
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    ServerAppSecret string
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    TenantID string
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    admin_group_object_i_ds list(string)
    The list of AAD group object IDs that will have admin role of the cluster.
    client_app_id string
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enable_azure_rbac bool
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed bool
    Whether to enable managed AAD.
    server_app_id string
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    server_app_secret string
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenant_id string
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    adminGroupObjectIDs List<String>
    The list of AAD group object IDs that will have admin role of the cluster.
    clientAppID String
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enableAzureRBAC Boolean
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed Boolean
    Whether to enable managed AAD.
    serverAppID String
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    serverAppSecret String
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenantID String
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    adminGroupObjectIDs string[]
    The list of AAD group object IDs that will have admin role of the cluster.
    clientAppID string
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enableAzureRBAC boolean
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed boolean
    Whether to enable managed AAD.
    serverAppID string
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    serverAppSecret string
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenantID string
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    admin_group_object_ids Sequence[str]
    The list of AAD group object IDs that will have admin role of the cluster.
    client_app_id str
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enable_azure_rbac bool
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed bool
    Whether to enable managed AAD.
    server_app_id str
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    server_app_secret str
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenant_id str
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    adminGroupObjectIDs List<String>
    The list of AAD group object IDs that will have admin role of the cluster.
    clientAppID String
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enableAzureRBAC Boolean
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed Boolean
    Whether to enable managed AAD.
    serverAppID String
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    serverAppSecret String
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenantID String
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.

    ManagedClusterAADProfileResponse, ManagedClusterAADProfileResponseArgs

    AADProfile specifies attributes for Azure Active Directory integration. For more details see managed AAD on AKS.
    AdminGroupObjectIDs List<string>
    The list of AAD group object IDs that will have admin role of the cluster.
    ClientAppID string
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    EnableAzureRBAC bool
    Whether to enable Azure RBAC for Kubernetes authorization.
    Managed bool
    Whether to enable managed AAD.
    ServerAppID string
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    ServerAppSecret string
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    TenantID string
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    AdminGroupObjectIDs []string
    The list of AAD group object IDs that will have admin role of the cluster.
    ClientAppID string
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    EnableAzureRBAC bool
    Whether to enable Azure RBAC for Kubernetes authorization.
    Managed bool
    Whether to enable managed AAD.
    ServerAppID string
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    ServerAppSecret string
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    TenantID string
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    admin_group_object_i_ds list(string)
    The list of AAD group object IDs that will have admin role of the cluster.
    client_app_id string
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enable_azure_rbac bool
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed bool
    Whether to enable managed AAD.
    server_app_id string
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    server_app_secret string
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenant_id string
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    adminGroupObjectIDs List<String>
    The list of AAD group object IDs that will have admin role of the cluster.
    clientAppID String
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enableAzureRBAC Boolean
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed Boolean
    Whether to enable managed AAD.
    serverAppID String
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    serverAppSecret String
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenantID String
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    adminGroupObjectIDs string[]
    The list of AAD group object IDs that will have admin role of the cluster.
    clientAppID string
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enableAzureRBAC boolean
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed boolean
    Whether to enable managed AAD.
    serverAppID string
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    serverAppSecret string
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenantID string
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    admin_group_object_ids Sequence[str]
    The list of AAD group object IDs that will have admin role of the cluster.
    client_app_id str
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enable_azure_rbac bool
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed bool
    Whether to enable managed AAD.
    server_app_id str
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    server_app_secret str
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenant_id str
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.
    adminGroupObjectIDs List<String>
    The list of AAD group object IDs that will have admin role of the cluster.
    clientAppID String
    (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    enableAzureRBAC Boolean
    Whether to enable Azure RBAC for Kubernetes authorization.
    managed Boolean
    Whether to enable managed AAD.
    serverAppID String
    (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.
    serverAppSecret String
    (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.
    tenantID String
    The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.

    ManagedClusterAIToolchainOperatorProfile, ManagedClusterAIToolchainOperatorProfileArgs

    When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them.
    Enabled bool
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    Enabled bool
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled bool
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled Boolean
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled boolean
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled bool
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled Boolean
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.

    ManagedClusterAIToolchainOperatorProfileResponse, ManagedClusterAIToolchainOperatorProfileResponseArgs

    When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them.
    Enabled bool
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    Enabled bool
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled bool
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled Boolean
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled boolean
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled bool
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.
    enabled Boolean
    Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not.

    ManagedClusterAPIServerAccessProfile, ManagedClusterAPIServerAccessProfileArgs

    Access profile for managed cluster API server.
    AuthorizedIPRanges List<string>
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    DisableRunCommand bool
    Whether to disable run command for the cluster or not.
    EnablePrivateCluster bool
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    EnablePrivateClusterPublicFQDN bool
    Whether to create additional public FQDN for private cluster or not.
    EnableVnetIntegration bool
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    PrivateDNSZone string
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    SubnetId string
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    AuthorizedIPRanges []string
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    DisableRunCommand bool
    Whether to disable run command for the cluster or not.
    EnablePrivateCluster bool
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    EnablePrivateClusterPublicFQDN bool
    Whether to create additional public FQDN for private cluster or not.
    EnableVnetIntegration bool
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    PrivateDNSZone string
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    SubnetId string
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorized_ip_ranges list(string)
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disable_run_command bool
    Whether to disable run command for the cluster or not.
    enable_private_cluster bool
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enable_private_cluster_public_fqdn bool
    Whether to create additional public FQDN for private cluster or not.
    enable_vnet_integration bool
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    private_dns_zone string
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnet_id string
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorizedIPRanges List<String>
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disableRunCommand Boolean
    Whether to disable run command for the cluster or not.
    enablePrivateCluster Boolean
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN Boolean
    Whether to create additional public FQDN for private cluster or not.
    enableVnetIntegration Boolean
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    privateDNSZone String
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnetId String
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorizedIPRanges string[]
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disableRunCommand boolean
    Whether to disable run command for the cluster or not.
    enablePrivateCluster boolean
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN boolean
    Whether to create additional public FQDN for private cluster or not.
    enableVnetIntegration boolean
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    privateDNSZone string
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnetId string
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorized_ip_ranges Sequence[str]
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disable_run_command bool
    Whether to disable run command for the cluster or not.
    enable_private_cluster bool
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enable_private_cluster_public_fqdn bool
    Whether to create additional public FQDN for private cluster or not.
    enable_vnet_integration bool
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    private_dns_zone str
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnet_id str
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorizedIPRanges List<String>
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disableRunCommand Boolean
    Whether to disable run command for the cluster or not.
    enablePrivateCluster Boolean
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN Boolean
    Whether to create additional public FQDN for private cluster or not.
    enableVnetIntegration Boolean
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    privateDNSZone String
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnetId String
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.

    ManagedClusterAPIServerAccessProfileResponse, ManagedClusterAPIServerAccessProfileResponseArgs

    Access profile for managed cluster API server.
    AuthorizedIPRanges List<string>
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    DisableRunCommand bool
    Whether to disable run command for the cluster or not.
    EnablePrivateCluster bool
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    EnablePrivateClusterPublicFQDN bool
    Whether to create additional public FQDN for private cluster or not.
    EnableVnetIntegration bool
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    PrivateDNSZone string
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    SubnetId string
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    AuthorizedIPRanges []string
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    DisableRunCommand bool
    Whether to disable run command for the cluster or not.
    EnablePrivateCluster bool
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    EnablePrivateClusterPublicFQDN bool
    Whether to create additional public FQDN for private cluster or not.
    EnableVnetIntegration bool
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    PrivateDNSZone string
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    SubnetId string
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorized_ip_ranges list(string)
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disable_run_command bool
    Whether to disable run command for the cluster or not.
    enable_private_cluster bool
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enable_private_cluster_public_fqdn bool
    Whether to create additional public FQDN for private cluster or not.
    enable_vnet_integration bool
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    private_dns_zone string
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnet_id string
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorizedIPRanges List<String>
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disableRunCommand Boolean
    Whether to disable run command for the cluster or not.
    enablePrivateCluster Boolean
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN Boolean
    Whether to create additional public FQDN for private cluster or not.
    enableVnetIntegration Boolean
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    privateDNSZone String
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnetId String
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorizedIPRanges string[]
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disableRunCommand boolean
    Whether to disable run command for the cluster or not.
    enablePrivateCluster boolean
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN boolean
    Whether to create additional public FQDN for private cluster or not.
    enableVnetIntegration boolean
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    privateDNSZone string
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnetId string
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorized_ip_ranges Sequence[str]
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disable_run_command bool
    Whether to disable run command for the cluster or not.
    enable_private_cluster bool
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enable_private_cluster_public_fqdn bool
    Whether to create additional public FQDN for private cluster or not.
    enable_vnet_integration bool
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    private_dns_zone str
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnet_id str
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.
    authorizedIPRanges List<String>
    The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges.
    disableRunCommand Boolean
    Whether to disable run command for the cluster or not.
    enablePrivateCluster Boolean
    Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN Boolean
    Whether to create additional public FQDN for private cluster or not.
    enableVnetIntegration Boolean
    Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details.
    privateDNSZone String
    The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    subnetId String
    The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.

    ManagedClusterAddonProfile, ManagedClusterAddonProfileArgs

    A Kubernetes add-on profile for a managed cluster.
    Enabled bool
    Whether the add-on is enabled or not.
    Config Dictionary<string, string>
    Key-value pairs for configuring an add-on.
    Enabled bool
    Whether the add-on is enabled or not.
    Config map[string]string
    Key-value pairs for configuring an add-on.
    enabled bool
    Whether the add-on is enabled or not.
    config map(string)
    Key-value pairs for configuring an add-on.
    enabled Boolean
    Whether the add-on is enabled or not.
    config Map<String,String>
    Key-value pairs for configuring an add-on.
    enabled boolean
    Whether the add-on is enabled or not.
    config {[key: string]: string}
    Key-value pairs for configuring an add-on.
    enabled bool
    Whether the add-on is enabled or not.
    config Mapping[str, str]
    Key-value pairs for configuring an add-on.
    enabled Boolean
    Whether the add-on is enabled or not.
    config Map<String>
    Key-value pairs for configuring an add-on.

    ManagedClusterAddonProfileResponse, ManagedClusterAddonProfileResponseArgs

    A Kubernetes add-on profile for a managed cluster.
    Enabled bool
    Whether the add-on is enabled or not.
    Identity Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAddonProfileResponseIdentity
    Information of user assigned identity used by this add-on.
    Config Dictionary<string, string>
    Key-value pairs for configuring an add-on.
    Enabled bool
    Whether the add-on is enabled or not.
    Identity ManagedClusterAddonProfileResponseIdentity
    Information of user assigned identity used by this add-on.
    Config map[string]string
    Key-value pairs for configuring an add-on.
    enabled bool
    Whether the add-on is enabled or not.
    identity object
    Information of user assigned identity used by this add-on.
    config map(string)
    Key-value pairs for configuring an add-on.
    enabled Boolean
    Whether the add-on is enabled or not.
    identity ManagedClusterAddonProfileResponseIdentity
    Information of user assigned identity used by this add-on.
    config Map<String,String>
    Key-value pairs for configuring an add-on.
    enabled boolean
    Whether the add-on is enabled or not.
    identity ManagedClusterAddonProfileResponseIdentity
    Information of user assigned identity used by this add-on.
    config {[key: string]: string}
    Key-value pairs for configuring an add-on.
    enabled bool
    Whether the add-on is enabled or not.
    identity ManagedClusterAddonProfileResponseIdentity
    Information of user assigned identity used by this add-on.
    config Mapping[str, str]
    Key-value pairs for configuring an add-on.
    enabled Boolean
    Whether the add-on is enabled or not.
    identity Property Map
    Information of user assigned identity used by this add-on.
    config Map<String>
    Key-value pairs for configuring an add-on.

    ManagedClusterAddonProfileResponseIdentity, ManagedClusterAddonProfileResponseIdentityArgs

    Information of user assigned identity used by this add-on.
    ClientId string
    The client ID of the user assigned identity.
    ObjectId string
    The object ID of the user assigned identity.
    ResourceId string
    The resource ID of the user assigned identity.
    ClientId string
    The client ID of the user assigned identity.
    ObjectId string
    The object ID of the user assigned identity.
    ResourceId string
    The resource ID of the user assigned identity.
    client_id string
    The client ID of the user assigned identity.
    object_id string
    The object ID of the user assigned identity.
    resource_id string
    The resource ID of the user assigned identity.
    clientId String
    The client ID of the user assigned identity.
    objectId String
    The object ID of the user assigned identity.
    resourceId String
    The resource ID of the user assigned identity.
    clientId string
    The client ID of the user assigned identity.
    objectId string
    The object ID of the user assigned identity.
    resourceId string
    The resource ID of the user assigned identity.
    client_id str
    The client ID of the user assigned identity.
    object_id str
    The object ID of the user assigned identity.
    resource_id str
    The resource ID of the user assigned identity.
    clientId String
    The client ID of the user assigned identity.
    objectId String
    The object ID of the user assigned identity.
    resourceId String
    The resource ID of the user assigned identity.

    ManagedClusterAgentPoolProfile, ManagedClusterAgentPoolProfileArgs

    Profile for the container service agent pool.
    Name string
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    AvailabilityZones List<string>
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    CapacityReservationGroupID string
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    Count int
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    CreationData Pulumi.AzureNative.ContainerService.Inputs.CreationData
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    EnableAutoScaling bool
    Whether to enable auto-scaler
    EnableEncryptionAtHost bool
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    EnableFIPS bool
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    EnableNodePublicIP bool
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    EnableUltraSSD bool
    Whether to enable UltraSSD
    GatewayProfile Pulumi.AzureNative.ContainerService.Inputs.AgentPoolGatewayProfile
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    GpuInstanceProfile string | Pulumi.AzureNative.ContainerService.GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    GpuProfile Pulumi.AzureNative.ContainerService.Inputs.GPUProfile
    GPU settings for the Agent Pool.
    HostGroupID string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    KubeletConfig Pulumi.AzureNative.ContainerService.Inputs.KubeletConfig
    The Kubelet configuration on the agent pool nodes.
    KubeletDiskType string | Pulumi.AzureNative.ContainerService.KubeletDiskType
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    LinuxOSConfig Pulumi.AzureNative.ContainerService.Inputs.LinuxOSConfig
    The OS configuration of Linux agent nodes.
    LocalDNSProfile Pulumi.AzureNative.ContainerService.Inputs.LocalDNSProfile
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    MaxCount int
    The maximum number of nodes for auto-scaling
    MaxPods int
    The maximum number of pods that can run on a node.
    MessageOfTheDay string
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    MinCount int
    The minimum number of nodes for auto-scaling
    Mode string | Pulumi.AzureNative.ContainerService.AgentPoolMode
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    NetworkProfile Pulumi.AzureNative.ContainerService.Inputs.AgentPoolNetworkProfile
    Network-related settings of an agent pool.
    NodeLabels Dictionary<string, string>
    The node labels to be persisted across all nodes in agent pool.
    NodePublicIPPrefixID string
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    NodeTaints List<string>
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    OrchestratorVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    OsDiskSizeGB int
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    OsDiskType string | Pulumi.AzureNative.ContainerService.OSDiskType
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    OsSKU string | Pulumi.AzureNative.ContainerService.OSSKU
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    OsType string | Pulumi.AzureNative.ContainerService.OSType
    The operating system type. The default is Linux.
    PodIPAllocationMode string | Pulumi.AzureNative.ContainerService.PodIPAllocationMode
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    PodSubnetID string
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    PowerState Pulumi.AzureNative.ContainerService.Inputs.PowerState
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    ProximityPlacementGroupID string
    The ID for Proximity Placement Group.
    ScaleDownMode string | Pulumi.AzureNative.ContainerService.ScaleDownMode
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    ScaleSetEvictionPolicy string | Pulumi.AzureNative.ContainerService.ScaleSetEvictionPolicy
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    ScaleSetPriority string | Pulumi.AzureNative.ContainerService.ScaleSetPriority
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    SecurityProfile Pulumi.AzureNative.ContainerService.Inputs.AgentPoolSecurityProfile
    The security settings of an agent pool.
    SpotMaxPrice double
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    Tags Dictionary<string, string>
    The tags to be persisted on the agent pool virtual machine scale set.
    Type string | Pulumi.AzureNative.ContainerService.AgentPoolType
    The type of Agent Pool.
    UpgradeSettings Pulumi.AzureNative.ContainerService.Inputs.AgentPoolUpgradeSettings
    Settings for upgrading the agentpool
    VirtualMachineNodesStatus List<Pulumi.AzureNative.ContainerService.Inputs.VirtualMachineNodes>
    The status of nodes in a VirtualMachines agent pool.
    VirtualMachinesProfile Pulumi.AzureNative.ContainerService.Inputs.VirtualMachinesProfile
    Specifications on VirtualMachines agent pool.
    VmSize string
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    VnetSubnetID string
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    WindowsProfile Pulumi.AzureNative.ContainerService.Inputs.AgentPoolWindowsProfile
    The Windows agent pool's specific profile.
    WorkloadRuntime string | Pulumi.AzureNative.ContainerService.WorkloadRuntime
    Determines the type of workload a node can run.
    Name string
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    AvailabilityZones []string
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    CapacityReservationGroupID string
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    Count int
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    CreationData CreationData
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    EnableAutoScaling bool
    Whether to enable auto-scaler
    EnableEncryptionAtHost bool
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    EnableFIPS bool
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    EnableNodePublicIP bool
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    EnableUltraSSD bool
    Whether to enable UltraSSD
    GatewayProfile AgentPoolGatewayProfile
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    GpuInstanceProfile string | GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    GpuProfile GPUProfile
    GPU settings for the Agent Pool.
    HostGroupID string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    KubeletConfig KubeletConfig
    The Kubelet configuration on the agent pool nodes.
    KubeletDiskType string | KubeletDiskType
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    LinuxOSConfig LinuxOSConfig
    The OS configuration of Linux agent nodes.
    LocalDNSProfile LocalDNSProfile
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    MaxCount int
    The maximum number of nodes for auto-scaling
    MaxPods int
    The maximum number of pods that can run on a node.
    MessageOfTheDay string
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    MinCount int
    The minimum number of nodes for auto-scaling
    Mode string | AgentPoolMode
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    NetworkProfile AgentPoolNetworkProfile
    Network-related settings of an agent pool.
    NodeLabels map[string]string
    The node labels to be persisted across all nodes in agent pool.
    NodePublicIPPrefixID string
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    NodeTaints []string
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    OrchestratorVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    OsDiskSizeGB int
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    OsDiskType string | OSDiskType
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    OsSKU string | OSSKU
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    OsType string | OSType
    The operating system type. The default is Linux.
    PodIPAllocationMode string | PodIPAllocationMode
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    PodSubnetID string
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    PowerState PowerState
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    ProximityPlacementGroupID string
    The ID for Proximity Placement Group.
    ScaleDownMode string | ScaleDownMode
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    ScaleSetEvictionPolicy string | ScaleSetEvictionPolicy
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    ScaleSetPriority string | ScaleSetPriority
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    SecurityProfile AgentPoolSecurityProfile
    The security settings of an agent pool.
    SpotMaxPrice float64
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    Tags map[string]string
    The tags to be persisted on the agent pool virtual machine scale set.
    Type string | AgentPoolType
    The type of Agent Pool.
    UpgradeSettings AgentPoolUpgradeSettings
    Settings for upgrading the agentpool
    VirtualMachineNodesStatus []VirtualMachineNodes
    The status of nodes in a VirtualMachines agent pool.
    VirtualMachinesProfile VirtualMachinesProfile
    Specifications on VirtualMachines agent pool.
    VmSize string
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    VnetSubnetID string
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    WindowsProfile AgentPoolWindowsProfile
    The Windows agent pool's specific profile.
    WorkloadRuntime string | WorkloadRuntime
    Determines the type of workload a node can run.
    name string
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    availability_zones list(string)
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacity_reservation_group_id string
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count number
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creation_data object
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enable_auto_scaling bool
    Whether to enable auto-scaler
    enable_encryption_at_host bool
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enable_fips bool
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enable_node_public_ip bool
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enable_ultra_ssd bool
    Whether to enable UltraSSD
    gateway_profile object
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpu_instance_profile string | "MIG1g" | "MIG2g" | "MIG3g" | "MIG4g" | "MIG7g"
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpu_profile object
    GPU settings for the Agent Pool.
    host_group_id string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubelet_config object
    The Kubelet configuration on the agent pool nodes.
    kubelet_disk_type string | "OS" | "Temporary"
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linux_os_config object
    The OS configuration of Linux agent nodes.
    local_dns_profile object
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    max_count number
    The maximum number of nodes for auto-scaling
    max_pods number
    The maximum number of pods that can run on a node.
    message_of_the_day string
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    min_count number
    The minimum number of nodes for auto-scaling
    mode string | "System" | "User" | "Gateway"
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    network_profile object
    Network-related settings of an agent pool.
    node_labels map(string)
    The node labels to be persisted across all nodes in agent pool.
    node_public_ip_prefix_id string
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    node_taints list(string)
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestrator_version string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    os_disk_size_gb number
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    os_disk_type string | "Managed" | "Ephemeral"
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    os_sku string | "Ubuntu" | "AzureLinux" | "AzureLinux3" | "CBLMariner" | "Windows2019" | "Windows2022" | "Ubuntu2204"
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    os_type string | "Linux" | "Windows"
    The operating system type. The default is Linux.
    pod_ip_allocation_mode string | "DynamicIndividual" | "StaticBlock"
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    pod_subnet_id string
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    power_state object
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximity_placement_group_id string
    The ID for Proximity Placement Group.
    scale_down_mode string | "Delete" | "Deallocate"
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scale_set_eviction_policy string | "Delete" | "Deallocate"
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scale_set_priority string | "Spot" | "Regular"
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    security_profile object
    The security settings of an agent pool.
    spot_max_price number
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    tags map(string)
    The tags to be persisted on the agent pool virtual machine scale set.
    type string | "VirtualMachineScaleSets" | "AvailabilitySet" | "VirtualMachines"
    The type of Agent Pool.
    upgrade_settings object
    Settings for upgrading the agentpool
    virtual_machine_nodes_status list(object)
    The status of nodes in a VirtualMachines agent pool.
    virtual_machines_profile object
    Specifications on VirtualMachines agent pool.
    vm_size string
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnet_subnet_id string
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windows_profile object
    The Windows agent pool's specific profile.
    workload_runtime string | "OCIContainer" | "WasmWasi" | "KataVmIsolation"
    Determines the type of workload a node can run.
    name String
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    availabilityZones List<String>
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacityReservationGroupID String
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count Integer
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creationData CreationData
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enableAutoScaling Boolean
    Whether to enable auto-scaler
    enableEncryptionAtHost Boolean
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enableFIPS Boolean
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP Boolean
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enableUltraSSD Boolean
    Whether to enable UltraSSD
    gatewayProfile AgentPoolGatewayProfile
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpuInstanceProfile String | GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpuProfile GPUProfile
    GPU settings for the Agent Pool.
    hostGroupID String
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubeletConfig KubeletConfig
    The Kubelet configuration on the agent pool nodes.
    kubeletDiskType String | KubeletDiskType
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linuxOSConfig LinuxOSConfig
    The OS configuration of Linux agent nodes.
    localDNSProfile LocalDNSProfile
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    maxCount Integer
    The maximum number of nodes for auto-scaling
    maxPods Integer
    The maximum number of pods that can run on a node.
    messageOfTheDay String
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    minCount Integer
    The minimum number of nodes for auto-scaling
    mode String | AgentPoolMode
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    networkProfile AgentPoolNetworkProfile
    Network-related settings of an agent pool.
    nodeLabels Map<String,String>
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID String
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    nodeTaints List<String>
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestratorVersion String
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    osDiskSizeGB Integer
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    osDiskType String | OSDiskType
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    osSKU String | OSSKU
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    osType String | OSType
    The operating system type. The default is Linux.
    podIPAllocationMode String | PodIPAllocationMode
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    podSubnetID String
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    powerState PowerState
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximityPlacementGroupID String
    The ID for Proximity Placement Group.
    scaleDownMode String | ScaleDownMode
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy String | ScaleSetEvictionPolicy
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scaleSetPriority String | ScaleSetPriority
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    securityProfile AgentPoolSecurityProfile
    The security settings of an agent pool.
    spotMaxPrice Double
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    tags Map<String,String>
    The tags to be persisted on the agent pool virtual machine scale set.
    type String | AgentPoolType
    The type of Agent Pool.
    upgradeSettings AgentPoolUpgradeSettings
    Settings for upgrading the agentpool
    virtualMachineNodesStatus List<VirtualMachineNodes>
    The status of nodes in a VirtualMachines agent pool.
    virtualMachinesProfile VirtualMachinesProfile
    Specifications on VirtualMachines agent pool.
    vmSize String
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnetSubnetID String
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windowsProfile AgentPoolWindowsProfile
    The Windows agent pool's specific profile.
    workloadRuntime String | WorkloadRuntime
    Determines the type of workload a node can run.
    name string
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    availabilityZones string[]
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacityReservationGroupID string
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count number
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creationData CreationData
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enableAutoScaling boolean
    Whether to enable auto-scaler
    enableEncryptionAtHost boolean
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enableFIPS boolean
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP boolean
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enableUltraSSD boolean
    Whether to enable UltraSSD
    gatewayProfile AgentPoolGatewayProfile
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpuInstanceProfile string | GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpuProfile GPUProfile
    GPU settings for the Agent Pool.
    hostGroupID string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubeletConfig KubeletConfig
    The Kubelet configuration on the agent pool nodes.
    kubeletDiskType string | KubeletDiskType
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linuxOSConfig LinuxOSConfig
    The OS configuration of Linux agent nodes.
    localDNSProfile LocalDNSProfile
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    maxCount number
    The maximum number of nodes for auto-scaling
    maxPods number
    The maximum number of pods that can run on a node.
    messageOfTheDay string
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    minCount number
    The minimum number of nodes for auto-scaling
    mode string | AgentPoolMode
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    networkProfile AgentPoolNetworkProfile
    Network-related settings of an agent pool.
    nodeLabels {[key: string]: string}
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID string
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    nodeTaints string[]
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestratorVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    osDiskSizeGB number
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    osDiskType string | OSDiskType
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    osSKU string | OSSKU
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    osType string | OSType
    The operating system type. The default is Linux.
    podIPAllocationMode string | PodIPAllocationMode
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    podSubnetID string
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    powerState PowerState
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximityPlacementGroupID string
    The ID for Proximity Placement Group.
    scaleDownMode string | ScaleDownMode
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy string | ScaleSetEvictionPolicy
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scaleSetPriority string | ScaleSetPriority
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    securityProfile AgentPoolSecurityProfile
    The security settings of an agent pool.
    spotMaxPrice number
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    tags {[key: string]: string}
    The tags to be persisted on the agent pool virtual machine scale set.
    type string | AgentPoolType
    The type of Agent Pool.
    upgradeSettings AgentPoolUpgradeSettings
    Settings for upgrading the agentpool
    virtualMachineNodesStatus VirtualMachineNodes[]
    The status of nodes in a VirtualMachines agent pool.
    virtualMachinesProfile VirtualMachinesProfile
    Specifications on VirtualMachines agent pool.
    vmSize string
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnetSubnetID string
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windowsProfile AgentPoolWindowsProfile
    The Windows agent pool's specific profile.
    workloadRuntime string | WorkloadRuntime
    Determines the type of workload a node can run.
    name str
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    availability_zones Sequence[str]
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacity_reservation_group_id str
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count int
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creation_data CreationData
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enable_auto_scaling bool
    Whether to enable auto-scaler
    enable_encryption_at_host bool
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enable_fips bool
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enable_node_public_ip bool
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enable_ultra_ssd bool
    Whether to enable UltraSSD
    gateway_profile AgentPoolGatewayProfile
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpu_instance_profile str | GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpu_profile GPUProfile
    GPU settings for the Agent Pool.
    host_group_id str
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubelet_config KubeletConfig
    The Kubelet configuration on the agent pool nodes.
    kubelet_disk_type str | KubeletDiskType
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linux_os_config LinuxOSConfig
    The OS configuration of Linux agent nodes.
    local_dns_profile LocalDNSProfile
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    max_count int
    The maximum number of nodes for auto-scaling
    max_pods int
    The maximum number of pods that can run on a node.
    message_of_the_day str
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    min_count int
    The minimum number of nodes for auto-scaling
    mode str | AgentPoolMode
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    network_profile AgentPoolNetworkProfile
    Network-related settings of an agent pool.
    node_labels Mapping[str, str]
    The node labels to be persisted across all nodes in agent pool.
    node_public_ip_prefix_id str
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    node_taints Sequence[str]
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestrator_version str
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    os_disk_size_gb int
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    os_disk_type str | OSDiskType
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    os_sku str | OSSKU
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    os_type str | OSType
    The operating system type. The default is Linux.
    pod_ip_allocation_mode str | PodIPAllocationMode
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    pod_subnet_id str
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    power_state PowerState
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximity_placement_group_id str
    The ID for Proximity Placement Group.
    scale_down_mode str | ScaleDownMode
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scale_set_eviction_policy str | ScaleSetEvictionPolicy
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scale_set_priority str | ScaleSetPriority
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    security_profile AgentPoolSecurityProfile
    The security settings of an agent pool.
    spot_max_price float
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    tags Mapping[str, str]
    The tags to be persisted on the agent pool virtual machine scale set.
    type str | AgentPoolType
    The type of Agent Pool.
    upgrade_settings AgentPoolUpgradeSettings
    Settings for upgrading the agentpool
    virtual_machine_nodes_status Sequence[VirtualMachineNodes]
    The status of nodes in a VirtualMachines agent pool.
    virtual_machines_profile VirtualMachinesProfile
    Specifications on VirtualMachines agent pool.
    vm_size str
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnet_subnet_id str
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windows_profile AgentPoolWindowsProfile
    The Windows agent pool's specific profile.
    workload_runtime str | WorkloadRuntime
    Determines the type of workload a node can run.
    name String
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    availabilityZones List<String>
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacityReservationGroupID String
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count Number
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creationData Property Map
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enableAutoScaling Boolean
    Whether to enable auto-scaler
    enableEncryptionAtHost Boolean
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enableFIPS Boolean
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP Boolean
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enableUltraSSD Boolean
    Whether to enable UltraSSD
    gatewayProfile Property Map
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpuInstanceProfile String | "MIG1g" | "MIG2g" | "MIG3g" | "MIG4g" | "MIG7g"
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpuProfile Property Map
    GPU settings for the Agent Pool.
    hostGroupID String
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubeletConfig Property Map
    The Kubelet configuration on the agent pool nodes.
    kubeletDiskType String | "OS" | "Temporary"
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linuxOSConfig Property Map
    The OS configuration of Linux agent nodes.
    localDNSProfile Property Map
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    maxCount Number
    The maximum number of nodes for auto-scaling
    maxPods Number
    The maximum number of pods that can run on a node.
    messageOfTheDay String
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    minCount Number
    The minimum number of nodes for auto-scaling
    mode String | "System" | "User" | "Gateway"
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    networkProfile Property Map
    Network-related settings of an agent pool.
    nodeLabels Map<String>
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID String
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    nodeTaints List<String>
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestratorVersion String
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    osDiskSizeGB Number
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    osDiskType String | "Managed" | "Ephemeral"
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    osSKU String | "Ubuntu" | "AzureLinux" | "AzureLinux3" | "CBLMariner" | "Windows2019" | "Windows2022" | "Ubuntu2204"
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    osType String | "Linux" | "Windows"
    The operating system type. The default is Linux.
    podIPAllocationMode String | "DynamicIndividual" | "StaticBlock"
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    podSubnetID String
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    powerState Property Map
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximityPlacementGroupID String
    The ID for Proximity Placement Group.
    scaleDownMode String | "Delete" | "Deallocate"
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy String | "Delete" | "Deallocate"
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scaleSetPriority String | "Spot" | "Regular"
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    securityProfile Property Map
    The security settings of an agent pool.
    spotMaxPrice Number
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    tags Map<String>
    The tags to be persisted on the agent pool virtual machine scale set.
    type String | "VirtualMachineScaleSets" | "AvailabilitySet" | "VirtualMachines"
    The type of Agent Pool.
    upgradeSettings Property Map
    Settings for upgrading the agentpool
    virtualMachineNodesStatus List<Property Map>
    The status of nodes in a VirtualMachines agent pool.
    virtualMachinesProfile Property Map
    Specifications on VirtualMachines agent pool.
    vmSize String
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnetSubnetID String
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windowsProfile Property Map
    The Windows agent pool's specific profile.
    workloadRuntime String | "OCIContainer" | "WasmWasi" | "KataVmIsolation"
    Determines the type of workload a node can run.

    ManagedClusterAgentPoolProfileResponse, ManagedClusterAgentPoolProfileResponseArgs

    Profile for the container service agent pool.
    CurrentOrchestratorVersion string
    The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used.
    ETag string
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    Name string
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    NodeImageVersion string
    The version of node image
    ProvisioningState string
    The current deployment or provisioning state.
    AvailabilityZones List<string>
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    CapacityReservationGroupID string
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    Count int
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    CreationData Pulumi.AzureNative.ContainerService.Inputs.CreationDataResponse
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    EnableAutoScaling bool
    Whether to enable auto-scaler
    EnableEncryptionAtHost bool
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    EnableFIPS bool
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    EnableNodePublicIP bool
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    EnableUltraSSD bool
    Whether to enable UltraSSD
    GatewayProfile Pulumi.AzureNative.ContainerService.Inputs.AgentPoolGatewayProfileResponse
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    GpuInstanceProfile string
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    GpuProfile Pulumi.AzureNative.ContainerService.Inputs.GPUProfileResponse
    GPU settings for the Agent Pool.
    HostGroupID string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    KubeletConfig Pulumi.AzureNative.ContainerService.Inputs.KubeletConfigResponse
    The Kubelet configuration on the agent pool nodes.
    KubeletDiskType string
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    LinuxOSConfig Pulumi.AzureNative.ContainerService.Inputs.LinuxOSConfigResponse
    The OS configuration of Linux agent nodes.
    LocalDNSProfile Pulumi.AzureNative.ContainerService.Inputs.LocalDNSProfileResponse
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    MaxCount int
    The maximum number of nodes for auto-scaling
    MaxPods int
    The maximum number of pods that can run on a node.
    MessageOfTheDay string
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    MinCount int
    The minimum number of nodes for auto-scaling
    Mode string
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    NetworkProfile Pulumi.AzureNative.ContainerService.Inputs.AgentPoolNetworkProfileResponse
    Network-related settings of an agent pool.
    NodeLabels Dictionary<string, string>
    The node labels to be persisted across all nodes in agent pool.
    NodePublicIPPrefixID string
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    NodeTaints List<string>
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    OrchestratorVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    OsDiskSizeGB int
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    OsDiskType string
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    OsSKU string
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    OsType string
    The operating system type. The default is Linux.
    PodIPAllocationMode string
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    PodSubnetID string
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    PowerState Pulumi.AzureNative.ContainerService.Inputs.PowerStateResponse
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    ProximityPlacementGroupID string
    The ID for Proximity Placement Group.
    ScaleDownMode string
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    ScaleSetEvictionPolicy string
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    ScaleSetPriority string
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    SecurityProfile Pulumi.AzureNative.ContainerService.Inputs.AgentPoolSecurityProfileResponse
    The security settings of an agent pool.
    SpotMaxPrice double
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    Status Pulumi.AzureNative.ContainerService.Inputs.AgentPoolStatusResponse
    Contains read-only information about the Agent Pool.
    Tags Dictionary<string, string>
    The tags to be persisted on the agent pool virtual machine scale set.
    Type string
    The type of Agent Pool.
    UpgradeSettings Pulumi.AzureNative.ContainerService.Inputs.AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    VirtualMachineNodesStatus List<Pulumi.AzureNative.ContainerService.Inputs.VirtualMachineNodesResponse>
    The status of nodes in a VirtualMachines agent pool.
    VirtualMachinesProfile Pulumi.AzureNative.ContainerService.Inputs.VirtualMachinesProfileResponse
    Specifications on VirtualMachines agent pool.
    VmSize string
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    VnetSubnetID string
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    WindowsProfile Pulumi.AzureNative.ContainerService.Inputs.AgentPoolWindowsProfileResponse
    The Windows agent pool's specific profile.
    WorkloadRuntime string
    Determines the type of workload a node can run.
    CurrentOrchestratorVersion string
    The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used.
    ETag string
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    Name string
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    NodeImageVersion string
    The version of node image
    ProvisioningState string
    The current deployment or provisioning state.
    AvailabilityZones []string
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    CapacityReservationGroupID string
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    Count int
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    CreationData CreationDataResponse
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    EnableAutoScaling bool
    Whether to enable auto-scaler
    EnableEncryptionAtHost bool
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    EnableFIPS bool
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    EnableNodePublicIP bool
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    EnableUltraSSD bool
    Whether to enable UltraSSD
    GatewayProfile AgentPoolGatewayProfileResponse
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    GpuInstanceProfile string
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    GpuProfile GPUProfileResponse
    GPU settings for the Agent Pool.
    HostGroupID string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    KubeletConfig KubeletConfigResponse
    The Kubelet configuration on the agent pool nodes.
    KubeletDiskType string
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    LinuxOSConfig LinuxOSConfigResponse
    The OS configuration of Linux agent nodes.
    LocalDNSProfile LocalDNSProfileResponse
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    MaxCount int
    The maximum number of nodes for auto-scaling
    MaxPods int
    The maximum number of pods that can run on a node.
    MessageOfTheDay string
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    MinCount int
    The minimum number of nodes for auto-scaling
    Mode string
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    NetworkProfile AgentPoolNetworkProfileResponse
    Network-related settings of an agent pool.
    NodeLabels map[string]string
    The node labels to be persisted across all nodes in agent pool.
    NodePublicIPPrefixID string
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    NodeTaints []string
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    OrchestratorVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    OsDiskSizeGB int
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    OsDiskType string
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    OsSKU string
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    OsType string
    The operating system type. The default is Linux.
    PodIPAllocationMode string
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    PodSubnetID string
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    PowerState PowerStateResponse
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    ProximityPlacementGroupID string
    The ID for Proximity Placement Group.
    ScaleDownMode string
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    ScaleSetEvictionPolicy string
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    ScaleSetPriority string
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    SecurityProfile AgentPoolSecurityProfileResponse
    The security settings of an agent pool.
    SpotMaxPrice float64
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    Status AgentPoolStatusResponse
    Contains read-only information about the Agent Pool.
    Tags map[string]string
    The tags to be persisted on the agent pool virtual machine scale set.
    Type string
    The type of Agent Pool.
    UpgradeSettings AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    VirtualMachineNodesStatus []VirtualMachineNodesResponse
    The status of nodes in a VirtualMachines agent pool.
    VirtualMachinesProfile VirtualMachinesProfileResponse
    Specifications on VirtualMachines agent pool.
    VmSize string
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    VnetSubnetID string
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    WindowsProfile AgentPoolWindowsProfileResponse
    The Windows agent pool's specific profile.
    WorkloadRuntime string
    Determines the type of workload a node can run.
    current_orchestrator_version string
    The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used.
    e_tag string
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    name string
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    node_image_version string
    The version of node image
    provisioning_state string
    The current deployment or provisioning state.
    availability_zones list(string)
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacity_reservation_group_id string
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count number
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creation_data object
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enable_auto_scaling bool
    Whether to enable auto-scaler
    enable_encryption_at_host bool
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enable_fips bool
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enable_node_public_ip bool
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enable_ultra_ssd bool
    Whether to enable UltraSSD
    gateway_profile object
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpu_instance_profile string
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpu_profile object
    GPU settings for the Agent Pool.
    host_group_id string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubelet_config object
    The Kubelet configuration on the agent pool nodes.
    kubelet_disk_type string
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linux_os_config object
    The OS configuration of Linux agent nodes.
    local_dns_profile object
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    max_count number
    The maximum number of nodes for auto-scaling
    max_pods number
    The maximum number of pods that can run on a node.
    message_of_the_day string
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    min_count number
    The minimum number of nodes for auto-scaling
    mode string
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    network_profile object
    Network-related settings of an agent pool.
    node_labels map(string)
    The node labels to be persisted across all nodes in agent pool.
    node_public_ip_prefix_id string
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    node_taints list(string)
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestrator_version string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    os_disk_size_gb number
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    os_disk_type string
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    os_sku string
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    os_type string
    The operating system type. The default is Linux.
    pod_ip_allocation_mode string
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    pod_subnet_id string
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    power_state object
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximity_placement_group_id string
    The ID for Proximity Placement Group.
    scale_down_mode string
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scale_set_eviction_policy string
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scale_set_priority string
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    security_profile object
    The security settings of an agent pool.
    spot_max_price number
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    status object
    Contains read-only information about the Agent Pool.
    tags map(string)
    The tags to be persisted on the agent pool virtual machine scale set.
    type string
    The type of Agent Pool.
    upgrade_settings object
    Settings for upgrading the agentpool
    virtual_machine_nodes_status list(object)
    The status of nodes in a VirtualMachines agent pool.
    virtual_machines_profile object
    Specifications on VirtualMachines agent pool.
    vm_size string
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnet_subnet_id string
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windows_profile object
    The Windows agent pool's specific profile.
    workload_runtime string
    Determines the type of workload a node can run.
    currentOrchestratorVersion String
    The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used.
    eTag String
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    name String
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    nodeImageVersion String
    The version of node image
    provisioningState String
    The current deployment or provisioning state.
    availabilityZones List<String>
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacityReservationGroupID String
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count Integer
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creationData CreationDataResponse
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enableAutoScaling Boolean
    Whether to enable auto-scaler
    enableEncryptionAtHost Boolean
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enableFIPS Boolean
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP Boolean
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enableUltraSSD Boolean
    Whether to enable UltraSSD
    gatewayProfile AgentPoolGatewayProfileResponse
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpuInstanceProfile String
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpuProfile GPUProfileResponse
    GPU settings for the Agent Pool.
    hostGroupID String
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubeletConfig KubeletConfigResponse
    The Kubelet configuration on the agent pool nodes.
    kubeletDiskType String
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linuxOSConfig LinuxOSConfigResponse
    The OS configuration of Linux agent nodes.
    localDNSProfile LocalDNSProfileResponse
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    maxCount Integer
    The maximum number of nodes for auto-scaling
    maxPods Integer
    The maximum number of pods that can run on a node.
    messageOfTheDay String
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    minCount Integer
    The minimum number of nodes for auto-scaling
    mode String
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    networkProfile AgentPoolNetworkProfileResponse
    Network-related settings of an agent pool.
    nodeLabels Map<String,String>
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID String
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    nodeTaints List<String>
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestratorVersion String
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    osDiskSizeGB Integer
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    osDiskType String
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    osSKU String
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    osType String
    The operating system type. The default is Linux.
    podIPAllocationMode String
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    podSubnetID String
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    powerState PowerStateResponse
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximityPlacementGroupID String
    The ID for Proximity Placement Group.
    scaleDownMode String
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy String
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scaleSetPriority String
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    securityProfile AgentPoolSecurityProfileResponse
    The security settings of an agent pool.
    spotMaxPrice Double
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    status AgentPoolStatusResponse
    Contains read-only information about the Agent Pool.
    tags Map<String,String>
    The tags to be persisted on the agent pool virtual machine scale set.
    type String
    The type of Agent Pool.
    upgradeSettings AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    virtualMachineNodesStatus List<VirtualMachineNodesResponse>
    The status of nodes in a VirtualMachines agent pool.
    virtualMachinesProfile VirtualMachinesProfileResponse
    Specifications on VirtualMachines agent pool.
    vmSize String
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnetSubnetID String
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windowsProfile AgentPoolWindowsProfileResponse
    The Windows agent pool's specific profile.
    workloadRuntime String
    Determines the type of workload a node can run.
    currentOrchestratorVersion string
    The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used.
    eTag string
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    name string
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    nodeImageVersion string
    The version of node image
    provisioningState string
    The current deployment or provisioning state.
    availabilityZones string[]
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacityReservationGroupID string
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count number
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creationData CreationDataResponse
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enableAutoScaling boolean
    Whether to enable auto-scaler
    enableEncryptionAtHost boolean
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enableFIPS boolean
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP boolean
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enableUltraSSD boolean
    Whether to enable UltraSSD
    gatewayProfile AgentPoolGatewayProfileResponse
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpuInstanceProfile string
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpuProfile GPUProfileResponse
    GPU settings for the Agent Pool.
    hostGroupID string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubeletConfig KubeletConfigResponse
    The Kubelet configuration on the agent pool nodes.
    kubeletDiskType string
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linuxOSConfig LinuxOSConfigResponse
    The OS configuration of Linux agent nodes.
    localDNSProfile LocalDNSProfileResponse
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    maxCount number
    The maximum number of nodes for auto-scaling
    maxPods number
    The maximum number of pods that can run on a node.
    messageOfTheDay string
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    minCount number
    The minimum number of nodes for auto-scaling
    mode string
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    networkProfile AgentPoolNetworkProfileResponse
    Network-related settings of an agent pool.
    nodeLabels {[key: string]: string}
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID string
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    nodeTaints string[]
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestratorVersion string
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    osDiskSizeGB number
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    osDiskType string
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    osSKU string
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    osType string
    The operating system type. The default is Linux.
    podIPAllocationMode string
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    podSubnetID string
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    powerState PowerStateResponse
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximityPlacementGroupID string
    The ID for Proximity Placement Group.
    scaleDownMode string
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy string
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scaleSetPriority string
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    securityProfile AgentPoolSecurityProfileResponse
    The security settings of an agent pool.
    spotMaxPrice number
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    status AgentPoolStatusResponse
    Contains read-only information about the Agent Pool.
    tags {[key: string]: string}
    The tags to be persisted on the agent pool virtual machine scale set.
    type string
    The type of Agent Pool.
    upgradeSettings AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    virtualMachineNodesStatus VirtualMachineNodesResponse[]
    The status of nodes in a VirtualMachines agent pool.
    virtualMachinesProfile VirtualMachinesProfileResponse
    Specifications on VirtualMachines agent pool.
    vmSize string
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnetSubnetID string
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windowsProfile AgentPoolWindowsProfileResponse
    The Windows agent pool's specific profile.
    workloadRuntime string
    Determines the type of workload a node can run.
    current_orchestrator_version str
    The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used.
    e_tag str
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    name str
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    node_image_version str
    The version of node image
    provisioning_state str
    The current deployment or provisioning state.
    availability_zones Sequence[str]
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacity_reservation_group_id str
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count int
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creation_data CreationDataResponse
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enable_auto_scaling bool
    Whether to enable auto-scaler
    enable_encryption_at_host bool
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enable_fips bool
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enable_node_public_ip bool
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enable_ultra_ssd bool
    Whether to enable UltraSSD
    gateway_profile AgentPoolGatewayProfileResponse
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpu_instance_profile str
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpu_profile GPUProfileResponse
    GPU settings for the Agent Pool.
    host_group_id str
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubelet_config KubeletConfigResponse
    The Kubelet configuration on the agent pool nodes.
    kubelet_disk_type str
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linux_os_config LinuxOSConfigResponse
    The OS configuration of Linux agent nodes.
    local_dns_profile LocalDNSProfileResponse
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    max_count int
    The maximum number of nodes for auto-scaling
    max_pods int
    The maximum number of pods that can run on a node.
    message_of_the_day str
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    min_count int
    The minimum number of nodes for auto-scaling
    mode str
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    network_profile AgentPoolNetworkProfileResponse
    Network-related settings of an agent pool.
    node_labels Mapping[str, str]
    The node labels to be persisted across all nodes in agent pool.
    node_public_ip_prefix_id str
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    node_taints Sequence[str]
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestrator_version str
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    os_disk_size_gb int
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    os_disk_type str
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    os_sku str
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    os_type str
    The operating system type. The default is Linux.
    pod_ip_allocation_mode str
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    pod_subnet_id str
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    power_state PowerStateResponse
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximity_placement_group_id str
    The ID for Proximity Placement Group.
    scale_down_mode str
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scale_set_eviction_policy str
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scale_set_priority str
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    security_profile AgentPoolSecurityProfileResponse
    The security settings of an agent pool.
    spot_max_price float
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    status AgentPoolStatusResponse
    Contains read-only information about the Agent Pool.
    tags Mapping[str, str]
    The tags to be persisted on the agent pool virtual machine scale set.
    type str
    The type of Agent Pool.
    upgrade_settings AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    virtual_machine_nodes_status Sequence[VirtualMachineNodesResponse]
    The status of nodes in a VirtualMachines agent pool.
    virtual_machines_profile VirtualMachinesProfileResponse
    Specifications on VirtualMachines agent pool.
    vm_size str
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnet_subnet_id str
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windows_profile AgentPoolWindowsProfileResponse
    The Windows agent pool's specific profile.
    workload_runtime str
    Determines the type of workload a node can run.
    currentOrchestratorVersion String
    The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used.
    eTag String
    Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.
    name String
    Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.
    nodeImageVersion String
    The version of node image
    provisioningState String
    The current deployment or provisioning state.
    availabilityZones List<String>
    The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
    capacityReservationGroupID String
    AKS will associate the specified agent pool with the Capacity Reservation Group.
    count Number
    Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
    creationData Property Map
    CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.
    enableAutoScaling Boolean
    Whether to enable auto-scaler
    enableEncryptionAtHost Boolean
    Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption
    enableFIPS Boolean
    Whether to use a FIPS-enabled OS. See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP Boolean
    Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.
    enableUltraSSD Boolean
    Whether to enable UltraSSD
    gatewayProfile Property Map
    Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway.
    gpuInstanceProfile String
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    gpuProfile Property Map
    GPU settings for the Agent Pool.
    hostGroupID String
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.
    kubeletConfig Property Map
    The Kubelet configuration on the agent pool nodes.
    kubeletDiskType String
    Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
    linuxOSConfig Property Map
    The OS configuration of Linux agent nodes.
    localDNSProfile Property Map
    Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.
    maxCount Number
    The maximum number of nodes for auto-scaling
    maxPods Number
    The maximum number of pods that can run on a node.
    messageOfTheDay String
    Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script).
    minCount Number
    The minimum number of nodes for auto-scaling
    mode String
    The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools
    networkProfile Property Map
    Network-related settings of an agent pool.
    nodeLabels Map<String>
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID String
    The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
    nodeTaints List<String>
    The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
    orchestratorVersion String
    The version of Kubernetes specified by the user. Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.
    osDiskSizeGB Number
    OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
    osDiskType String
    The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS.
    osSKU String
    Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.
    osType String
    The operating system type. The default is Linux.
    podIPAllocationMode String
    Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.
    podSubnetID String
    The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    powerState Property Map
    Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded
    proximityPlacementGroupID String
    The ID for Proximity Placement Group.
    scaleDownMode String
    The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy String
    The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
    scaleSetPriority String
    The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
    securityProfile Property Map
    The security settings of an agent pool.
    spotMaxPrice Number
    The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing
    status Property Map
    Contains read-only information about the Agent Pool.
    tags Map<String>
    The tags to be persisted on the agent pool virtual machine scale set.
    type String
    The type of Agent Pool.
    upgradeSettings Property Map
    Settings for upgrading the agentpool
    virtualMachineNodesStatus List<Property Map>
    The status of nodes in a VirtualMachines agent pool.
    virtualMachinesProfile Property Map
    Specifications on VirtualMachines agent pool.
    vmSize String
    The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions
    vnetSubnetID String
    The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
    windowsProfile Property Map
    The Windows agent pool's specific profile.
    workloadRuntime String
    Determines the type of workload a node can run.

    ManagedClusterAutoUpgradeProfile, ManagedClusterAutoUpgradeProfileArgs

    Auto upgrade profile for a managed cluster.
    NodeOSUpgradeChannel string | Pulumi.AzureNative.ContainerService.NodeOSUpgradeChannel
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    UpgradeChannel string | Pulumi.AzureNative.ContainerService.UpgradeChannel
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    NodeOSUpgradeChannel string | NodeOSUpgradeChannel
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    UpgradeChannel string | UpgradeChannel
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    node_os_upgrade_channel string | "None" | "Unmanaged" | "NodeImage" | "SecurityPatch"
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgrade_channel string | "rapid" | "stable" | "patch" | "node-image" | "none"
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    nodeOSUpgradeChannel String | NodeOSUpgradeChannel
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgradeChannel String | UpgradeChannel
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    nodeOSUpgradeChannel string | NodeOSUpgradeChannel
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgradeChannel string | UpgradeChannel
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    node_os_upgrade_channel str | NodeOSUpgradeChannel
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgrade_channel str | UpgradeChannel
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    nodeOSUpgradeChannel String | "None" | "Unmanaged" | "NodeImage" | "SecurityPatch"
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgradeChannel String | "rapid" | "stable" | "patch" | "node-image" | "none"
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.

    ManagedClusterAutoUpgradeProfileResponse, ManagedClusterAutoUpgradeProfileResponseArgs

    Auto upgrade profile for a managed cluster.
    NodeOSUpgradeChannel string
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    UpgradeChannel string
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    NodeOSUpgradeChannel string
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    UpgradeChannel string
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    node_os_upgrade_channel string
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgrade_channel string
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    nodeOSUpgradeChannel String
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgradeChannel String
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    nodeOSUpgradeChannel string
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgradeChannel string
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    node_os_upgrade_channel str
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgrade_channel str
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.
    nodeOSUpgradeChannel String
    Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.
    upgradeChannel String
    The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel.

    ManagedClusterAzureMonitorProfile, ManagedClusterAzureMonitorProfileArgs

    Azure Monitor addon profiles for monitoring the managed cluster.
    Metrics Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAzureMonitorProfileMetrics
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    Metrics ManagedClusterAzureMonitorProfileMetrics
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics object
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics ManagedClusterAzureMonitorProfileMetrics
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics ManagedClusterAzureMonitorProfileMetrics
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics ManagedClusterAzureMonitorProfileMetrics
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics Property Map
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.

    ManagedClusterAzureMonitorProfileKubeStateMetrics, ManagedClusterAzureMonitorProfileKubeStateMetricsArgs

    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    MetricAnnotationsAllowList string
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    MetricLabelsAllowlist string
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    MetricAnnotationsAllowList string
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    MetricLabelsAllowlist string
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metric_annotations_allow_list string
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metric_labels_allowlist string
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metricAnnotationsAllowList String
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metricLabelsAllowlist String
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metricAnnotationsAllowList string
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metricLabelsAllowlist string
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metric_annotations_allow_list str
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metric_labels_allowlist str
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metricAnnotationsAllowList String
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metricLabelsAllowlist String
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.

    ManagedClusterAzureMonitorProfileKubeStateMetricsResponse, ManagedClusterAzureMonitorProfileKubeStateMetricsResponseArgs

    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    MetricAnnotationsAllowList string
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    MetricLabelsAllowlist string
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    MetricAnnotationsAllowList string
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    MetricLabelsAllowlist string
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metric_annotations_allow_list string
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metric_labels_allowlist string
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metricAnnotationsAllowList String
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metricLabelsAllowlist String
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metricAnnotationsAllowList string
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metricLabelsAllowlist string
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metric_annotations_allow_list str
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metric_labels_allowlist str
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.
    metricAnnotationsAllowList String
    Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels.
    metricLabelsAllowlist String
    Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels.

    ManagedClusterAzureMonitorProfileMetrics, ManagedClusterAzureMonitorProfileMetricsArgs

    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    Enabled bool
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    KubeStateMetrics Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAzureMonitorProfileKubeStateMetrics
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    Enabled bool
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    KubeStateMetrics ManagedClusterAzureMonitorProfileKubeStateMetrics
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled bool
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kube_state_metrics object
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled Boolean
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kubeStateMetrics ManagedClusterAzureMonitorProfileKubeStateMetrics
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled boolean
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kubeStateMetrics ManagedClusterAzureMonitorProfileKubeStateMetrics
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled bool
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kube_state_metrics ManagedClusterAzureMonitorProfileKubeStateMetrics
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled Boolean
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kubeStateMetrics Property Map
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.

    ManagedClusterAzureMonitorProfileMetricsResponse, ManagedClusterAzureMonitorProfileMetricsResponseArgs

    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    Enabled bool
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    KubeStateMetrics Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    Enabled bool
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    KubeStateMetrics ManagedClusterAzureMonitorProfileKubeStateMetricsResponse
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled bool
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kube_state_metrics object
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled Boolean
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kubeStateMetrics ManagedClusterAzureMonitorProfileKubeStateMetricsResponse
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled boolean
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kubeStateMetrics ManagedClusterAzureMonitorProfileKubeStateMetricsResponse
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled bool
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kube_state_metrics ManagedClusterAzureMonitorProfileKubeStateMetricsResponse
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.
    enabled Boolean
    Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling.
    kubeStateMetrics Property Map
    Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.

    ManagedClusterAzureMonitorProfileResponse, ManagedClusterAzureMonitorProfileResponseArgs

    Azure Monitor addon profiles for monitoring the managed cluster.
    Metrics Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterAzureMonitorProfileMetricsResponse
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    Metrics ManagedClusterAzureMonitorProfileMetricsResponse
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics object
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics ManagedClusterAzureMonitorProfileMetricsResponse
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics ManagedClusterAzureMonitorProfileMetricsResponse
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics ManagedClusterAzureMonitorProfileMetricsResponse
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.
    metrics Property Map
    Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.

    ManagedClusterBootstrapProfile, ManagedClusterBootstrapProfileArgs

    The bootstrap profile.
    ArtifactSource string | Pulumi.AzureNative.ContainerService.ArtifactSource
    The artifact source. The source where the artifacts are downloaded from.
    ContainerRegistryId string
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    ArtifactSource string | ArtifactSource
    The artifact source. The source where the artifacts are downloaded from.
    ContainerRegistryId string
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifact_source string | "Cache" | "Direct"
    The artifact source. The source where the artifacts are downloaded from.
    container_registry_id string
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifactSource String | ArtifactSource
    The artifact source. The source where the artifacts are downloaded from.
    containerRegistryId String
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifactSource string | ArtifactSource
    The artifact source. The source where the artifacts are downloaded from.
    containerRegistryId string
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifact_source str | ArtifactSource
    The artifact source. The source where the artifacts are downloaded from.
    container_registry_id str
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifactSource String | "Cache" | "Direct"
    The artifact source. The source where the artifacts are downloaded from.
    containerRegistryId String
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.

    ManagedClusterBootstrapProfileResponse, ManagedClusterBootstrapProfileResponseArgs

    The bootstrap profile.
    ArtifactSource string
    The artifact source. The source where the artifacts are downloaded from.
    ContainerRegistryId string
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    ArtifactSource string
    The artifact source. The source where the artifacts are downloaded from.
    ContainerRegistryId string
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifact_source string
    The artifact source. The source where the artifacts are downloaded from.
    container_registry_id string
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifactSource String
    The artifact source. The source where the artifacts are downloaded from.
    containerRegistryId String
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifactSource string
    The artifact source. The source where the artifacts are downloaded from.
    containerRegistryId string
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifact_source str
    The artifact source. The source where the artifacts are downloaded from.
    container_registry_id str
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.
    artifactSource String
    The artifact source. The source where the artifacts are downloaded from.
    containerRegistryId String
    The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.

    ManagedClusterCostAnalysis, ManagedClusterCostAnalysisArgs

    The cost analysis configuration for the cluster
    Enabled bool
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    Enabled bool
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled bool
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled Boolean
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled boolean
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled bool
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled Boolean
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.

    ManagedClusterCostAnalysisResponse, ManagedClusterCostAnalysisResponseArgs

    The cost analysis configuration for the cluster
    Enabled bool
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    Enabled bool
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled bool
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled Boolean
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled boolean
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled bool
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.
    enabled Boolean
    Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis.

    ManagedClusterHTTPProxyConfig, ManagedClusterHTTPProxyConfigArgs

    Cluster HTTP proxy configuration.
    HttpProxy string
    The HTTP proxy server endpoint to use.
    HttpsProxy string
    The HTTPS proxy server endpoint to use.
    NoProxy List<string>
    The endpoints that should not go through proxy.
    TrustedCa string
    Alternative CA cert to use for connecting to proxy servers.
    HttpProxy string
    The HTTP proxy server endpoint to use.
    HttpsProxy string
    The HTTPS proxy server endpoint to use.
    NoProxy []string
    The endpoints that should not go through proxy.
    TrustedCa string
    Alternative CA cert to use for connecting to proxy servers.
    http_proxy string
    The HTTP proxy server endpoint to use.
    https_proxy string
    The HTTPS proxy server endpoint to use.
    no_proxy list(string)
    The endpoints that should not go through proxy.
    trusted_ca string
    Alternative CA cert to use for connecting to proxy servers.
    httpProxy String
    The HTTP proxy server endpoint to use.
    httpsProxy String
    The HTTPS proxy server endpoint to use.
    noProxy List<String>
    The endpoints that should not go through proxy.
    trustedCa String
    Alternative CA cert to use for connecting to proxy servers.
    httpProxy string
    The HTTP proxy server endpoint to use.
    httpsProxy string
    The HTTPS proxy server endpoint to use.
    noProxy string[]
    The endpoints that should not go through proxy.
    trustedCa string
    Alternative CA cert to use for connecting to proxy servers.
    http_proxy str
    The HTTP proxy server endpoint to use.
    https_proxy str
    The HTTPS proxy server endpoint to use.
    no_proxy Sequence[str]
    The endpoints that should not go through proxy.
    trusted_ca str
    Alternative CA cert to use for connecting to proxy servers.
    httpProxy String
    The HTTP proxy server endpoint to use.
    httpsProxy String
    The HTTPS proxy server endpoint to use.
    noProxy List<String>
    The endpoints that should not go through proxy.
    trustedCa String
    Alternative CA cert to use for connecting to proxy servers.

    ManagedClusterHTTPProxyConfigResponse, ManagedClusterHTTPProxyConfigResponseArgs

    Cluster HTTP proxy configuration.
    HttpProxy string
    The HTTP proxy server endpoint to use.
    HttpsProxy string
    The HTTPS proxy server endpoint to use.
    NoProxy List<string>
    The endpoints that should not go through proxy.
    TrustedCa string
    Alternative CA cert to use for connecting to proxy servers.
    HttpProxy string
    The HTTP proxy server endpoint to use.
    HttpsProxy string
    The HTTPS proxy server endpoint to use.
    NoProxy []string
    The endpoints that should not go through proxy.
    TrustedCa string
    Alternative CA cert to use for connecting to proxy servers.
    http_proxy string
    The HTTP proxy server endpoint to use.
    https_proxy string
    The HTTPS proxy server endpoint to use.
    no_proxy list(string)
    The endpoints that should not go through proxy.
    trusted_ca string
    Alternative CA cert to use for connecting to proxy servers.
    httpProxy String
    The HTTP proxy server endpoint to use.
    httpsProxy String
    The HTTPS proxy server endpoint to use.
    noProxy List<String>
    The endpoints that should not go through proxy.
    trustedCa String
    Alternative CA cert to use for connecting to proxy servers.
    httpProxy string
    The HTTP proxy server endpoint to use.
    httpsProxy string
    The HTTPS proxy server endpoint to use.
    noProxy string[]
    The endpoints that should not go through proxy.
    trustedCa string
    Alternative CA cert to use for connecting to proxy servers.
    http_proxy str
    The HTTP proxy server endpoint to use.
    https_proxy str
    The HTTPS proxy server endpoint to use.
    no_proxy Sequence[str]
    The endpoints that should not go through proxy.
    trusted_ca str
    Alternative CA cert to use for connecting to proxy servers.
    httpProxy String
    The HTTP proxy server endpoint to use.
    httpsProxy String
    The HTTPS proxy server endpoint to use.
    noProxy List<String>
    The endpoints that should not go through proxy.
    trustedCa String
    Alternative CA cert to use for connecting to proxy servers.

    ManagedClusterIdentity, ManagedClusterIdentityArgs

    Identity for the managed cluster.
    DelegatedResources Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.DelegatedResource>
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    Type Pulumi.AzureNative.ContainerService.ResourceIdentityType
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    UserAssignedIdentities List<string>
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    DelegatedResources map[string]DelegatedResource
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    Type ResourceIdentityType
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    UserAssignedIdentities []string
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    delegated_resources map(object)
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type "SystemAssigned" | "UserAssigned" | "None"
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    user_assigned_identities list(string)
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    delegatedResources Map<String,DelegatedResource>
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type ResourceIdentityType
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    userAssignedIdentities List<String>
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    delegatedResources {[key: string]: DelegatedResource}
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type ResourceIdentityType
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    userAssignedIdentities string[]
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    delegated_resources Mapping[str, DelegatedResource]
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type ResourceIdentityType
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    user_assigned_identities Sequence[str]
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    delegatedResources Map<Property Map>
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type "SystemAssigned" | "UserAssigned" | "None"
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    userAssignedIdentities List<String>
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

    ManagedClusterIdentityResponse, ManagedClusterIdentityResponseArgs

    Identity for the managed cluster.
    PrincipalId string
    The principal id of the system assigned identity which is used by master components.
    TenantId string
    The tenant id of the system assigned identity which is used by master components.
    DelegatedResources Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.DelegatedResourceResponse>
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    Type string
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    UserAssignedIdentities Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterIdentityResponseUserAssignedIdentities>
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    PrincipalId string
    The principal id of the system assigned identity which is used by master components.
    TenantId string
    The tenant id of the system assigned identity which is used by master components.
    DelegatedResources map[string]DelegatedResourceResponse
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    Type string
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    UserAssignedIdentities map[string]ManagedClusterIdentityResponseUserAssignedIdentities
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principal_id string
    The principal id of the system assigned identity which is used by master components.
    tenant_id string
    The tenant id of the system assigned identity which is used by master components.
    delegated_resources map(object)
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type string
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    user_assigned_identities map(object)
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principalId String
    The principal id of the system assigned identity which is used by master components.
    tenantId String
    The tenant id of the system assigned identity which is used by master components.
    delegatedResources Map<String,DelegatedResourceResponse>
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type String
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    userAssignedIdentities Map<String,ManagedClusterIdentityResponseUserAssignedIdentities>
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principalId string
    The principal id of the system assigned identity which is used by master components.
    tenantId string
    The tenant id of the system assigned identity which is used by master components.
    delegatedResources {[key: string]: DelegatedResourceResponse}
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type string
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    userAssignedIdentities {[key: string]: ManagedClusterIdentityResponseUserAssignedIdentities}
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principal_id str
    The principal id of the system assigned identity which is used by master components.
    tenant_id str
    The tenant id of the system assigned identity which is used by master components.
    delegated_resources Mapping[str, DelegatedResourceResponse]
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type str
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    user_assigned_identities Mapping[str, ManagedClusterIdentityResponseUserAssignedIdentities]
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principalId String
    The principal id of the system assigned identity which is used by master components.
    tenantId String
    The tenant id of the system assigned identity which is used by master components.
    delegatedResources Map<Property Map>
    The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
    type String
    The type of identity used for the managed cluster. For more information see use managed identities in AKS.
    userAssignedIdentities Map<Property Map>
    The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

    ManagedClusterIdentityResponseUserAssignedIdentities, ManagedClusterIdentityResponseUserAssignedIdentitiesArgs

    ClientId string
    The client id of user assigned identity.
    PrincipalId string
    The principal id of user assigned identity.
    ClientId string
    The client id of user assigned identity.
    PrincipalId string
    The principal id of user assigned identity.
    client_id string
    The client id of user assigned identity.
    principal_id string
    The principal id of user assigned identity.
    clientId String
    The client id of user assigned identity.
    principalId String
    The principal id of user assigned identity.
    clientId string
    The client id of user assigned identity.
    principalId string
    The principal id of user assigned identity.
    client_id str
    The client id of user assigned identity.
    principal_id str
    The principal id of user assigned identity.
    clientId String
    The client id of user assigned identity.
    principalId String
    The principal id of user assigned identity.

    ManagedClusterIngressProfile, ManagedClusterIngressProfileArgs

    Ingress profile for the container service cluster.
    WebAppRouting Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileWebAppRouting
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    WebAppRouting ManagedClusterIngressProfileWebAppRouting
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    web_app_routing object
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    webAppRouting ManagedClusterIngressProfileWebAppRouting
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    webAppRouting ManagedClusterIngressProfileWebAppRouting
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    web_app_routing ManagedClusterIngressProfileWebAppRouting
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    webAppRouting Property Map
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.

    ManagedClusterIngressProfileNginx, ManagedClusterIngressProfileNginxArgs

    DefaultIngressControllerType string | Pulumi.AzureNative.ContainerService.NginxIngressControllerType
    Ingress type for the default NginxIngressController custom resource
    DefaultIngressControllerType string | NginxIngressControllerType
    Ingress type for the default NginxIngressController custom resource
    default_ingress_controller_type string | "AnnotationControlled" | "External" | "Internal" | "None"
    Ingress type for the default NginxIngressController custom resource
    defaultIngressControllerType String | NginxIngressControllerType
    Ingress type for the default NginxIngressController custom resource
    defaultIngressControllerType string | NginxIngressControllerType
    Ingress type for the default NginxIngressController custom resource
    default_ingress_controller_type str | NginxIngressControllerType
    Ingress type for the default NginxIngressController custom resource
    defaultIngressControllerType String | "AnnotationControlled" | "External" | "Internal" | "None"
    Ingress type for the default NginxIngressController custom resource

    ManagedClusterIngressProfileNginxResponse, ManagedClusterIngressProfileNginxResponseArgs

    DefaultIngressControllerType string
    Ingress type for the default NginxIngressController custom resource
    DefaultIngressControllerType string
    Ingress type for the default NginxIngressController custom resource
    default_ingress_controller_type string
    Ingress type for the default NginxIngressController custom resource
    defaultIngressControllerType String
    Ingress type for the default NginxIngressController custom resource
    defaultIngressControllerType string
    Ingress type for the default NginxIngressController custom resource
    default_ingress_controller_type str
    Ingress type for the default NginxIngressController custom resource
    defaultIngressControllerType String
    Ingress type for the default NginxIngressController custom resource

    ManagedClusterIngressProfileResponse, ManagedClusterIngressProfileResponseArgs

    Ingress profile for the container service cluster.
    WebAppRouting Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileWebAppRoutingResponse
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    WebAppRouting ManagedClusterIngressProfileWebAppRoutingResponse
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    web_app_routing object
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    webAppRouting ManagedClusterIngressProfileWebAppRoutingResponse
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    webAppRouting ManagedClusterIngressProfileWebAppRoutingResponse
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    web_app_routing ManagedClusterIngressProfileWebAppRoutingResponse
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.
    webAppRouting Property Map
    App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default.

    ManagedClusterIngressProfileWebAppRouting, ManagedClusterIngressProfileWebAppRoutingArgs

    Application Routing add-on settings for the ingress profile.
    DnsZoneResourceIds List<string>
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    Enabled bool
    Whether to enable the Application Routing add-on.
    Nginx Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileNginx
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    DnsZoneResourceIds []string
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    Enabled bool
    Whether to enable the Application Routing add-on.
    Nginx ManagedClusterIngressProfileNginx
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    dns_zone_resource_ids list(string)
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled bool
    Whether to enable the Application Routing add-on.
    nginx object
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    dnsZoneResourceIds List<String>
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled Boolean
    Whether to enable the Application Routing add-on.
    nginx ManagedClusterIngressProfileNginx
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    dnsZoneResourceIds string[]
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled boolean
    Whether to enable the Application Routing add-on.
    nginx ManagedClusterIngressProfileNginx
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    dns_zone_resource_ids Sequence[str]
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled bool
    Whether to enable the Application Routing add-on.
    nginx ManagedClusterIngressProfileNginx
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    dnsZoneResourceIds List<String>
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled Boolean
    Whether to enable the Application Routing add-on.
    nginx Property Map
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.

    ManagedClusterIngressProfileWebAppRoutingResponse, ManagedClusterIngressProfileWebAppRoutingResponseArgs

    Application Routing add-on settings for the ingress profile.
    Identity Pulumi.AzureNative.ContainerService.Inputs.UserAssignedIdentityResponse
    Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See this overview of the add-on for more instructions.
    DnsZoneResourceIds List<string>
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    Enabled bool
    Whether to enable the Application Routing add-on.
    Nginx Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterIngressProfileNginxResponse
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    Identity UserAssignedIdentityResponse
    Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See this overview of the add-on for more instructions.
    DnsZoneResourceIds []string
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    Enabled bool
    Whether to enable the Application Routing add-on.
    Nginx ManagedClusterIngressProfileNginxResponse
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    identity object
    Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See this overview of the add-on for more instructions.
    dns_zone_resource_ids list(string)
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled bool
    Whether to enable the Application Routing add-on.
    nginx object
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    identity UserAssignedIdentityResponse
    Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See this overview of the add-on for more instructions.
    dnsZoneResourceIds List<String>
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled Boolean
    Whether to enable the Application Routing add-on.
    nginx ManagedClusterIngressProfileNginxResponse
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    identity UserAssignedIdentityResponse
    Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See this overview of the add-on for more instructions.
    dnsZoneResourceIds string[]
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled boolean
    Whether to enable the Application Routing add-on.
    nginx ManagedClusterIngressProfileNginxResponse
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    identity UserAssignedIdentityResponse
    Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See this overview of the add-on for more instructions.
    dns_zone_resource_ids Sequence[str]
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled bool
    Whether to enable the Application Routing add-on.
    nginx ManagedClusterIngressProfileNginxResponse
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.
    identity Property Map
    Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See this overview of the add-on for more instructions.
    dnsZoneResourceIds List<String>
    Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.
    enabled Boolean
    Whether to enable the Application Routing add-on.
    nginx Property Map
    Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller.

    ManagedClusterLoadBalancerProfile, ManagedClusterLoadBalancerProfileArgs

    Profile of the managed cluster load balancer.
    AllocatedOutboundPorts int
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    BackendPoolType string | Pulumi.AzureNative.ContainerService.BackendPoolType
    The type of the managed inbound Load Balancer BackendPool.
    EnableMultipleStandardLoadBalancers bool
    Enable multiple standard load balancers per AKS cluster or not.
    IdleTimeoutInMinutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    ManagedOutboundIPs Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    OutboundIPPrefixes Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    OutboundIPs Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    AllocatedOutboundPorts int
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    BackendPoolType string | BackendPoolType
    The type of the managed inbound Load Balancer BackendPool.
    EnableMultipleStandardLoadBalancers bool
    Enable multiple standard load balancers per AKS cluster or not.
    IdleTimeoutInMinutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    ManagedOutboundIPs ManagedClusterLoadBalancerProfileManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    OutboundIPPrefixes ManagedClusterLoadBalancerProfileOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    OutboundIPs ManagedClusterLoadBalancerProfileOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    allocated_outbound_ports number
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backend_pool_type string | "NodeIPConfiguration" | "NodeIP"
    The type of the managed inbound Load Balancer BackendPool.
    enable_multiple_standard_load_balancers bool
    Enable multiple standard load balancers per AKS cluster or not.
    idle_timeout_in_minutes number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managed_outbound_i_ps object
    Desired managed outbound IPs for the cluster load balancer.
    outbound_i_ps object
    Desired outbound IP resources for the cluster load balancer.
    outbound_ip_prefixes object
    Desired outbound IP Prefix resources for the cluster load balancer.
    allocatedOutboundPorts Integer
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backendPoolType String | BackendPoolType
    The type of the managed inbound Load Balancer BackendPool.
    enableMultipleStandardLoadBalancers Boolean
    Enable multiple standard load balancers per AKS cluster or not.
    idleTimeoutInMinutes Integer
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managedOutboundIPs ManagedClusterLoadBalancerProfileManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    outboundIPPrefixes ManagedClusterLoadBalancerProfileOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    outboundIPs ManagedClusterLoadBalancerProfileOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    allocatedOutboundPorts number
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backendPoolType string | BackendPoolType
    The type of the managed inbound Load Balancer BackendPool.
    enableMultipleStandardLoadBalancers boolean
    Enable multiple standard load balancers per AKS cluster or not.
    idleTimeoutInMinutes number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managedOutboundIPs ManagedClusterLoadBalancerProfileManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    outboundIPPrefixes ManagedClusterLoadBalancerProfileOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    outboundIPs ManagedClusterLoadBalancerProfileOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    allocated_outbound_ports int
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backend_pool_type str | BackendPoolType
    The type of the managed inbound Load Balancer BackendPool.
    enable_multiple_standard_load_balancers bool
    Enable multiple standard load balancers per AKS cluster or not.
    idle_timeout_in_minutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managed_outbound_ips ManagedClusterLoadBalancerProfileManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    outbound_ip_prefixes ManagedClusterLoadBalancerProfileOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    outbound_ips ManagedClusterLoadBalancerProfileOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    allocatedOutboundPorts Number
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backendPoolType String | "NodeIPConfiguration" | "NodeIP"
    The type of the managed inbound Load Balancer BackendPool.
    enableMultipleStandardLoadBalancers Boolean
    Enable multiple standard load balancers per AKS cluster or not.
    idleTimeoutInMinutes Number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managedOutboundIPs Property Map
    Desired managed outbound IPs for the cluster load balancer.
    outboundIPPrefixes Property Map
    Desired outbound IP Prefix resources for the cluster load balancer.
    outboundIPs Property Map
    Desired outbound IP resources for the cluster load balancer.

    ManagedClusterLoadBalancerProfileManagedOutboundIPs, ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs

    Desired managed outbound IPs for the cluster load balancer.
    Count int
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    CountIPv6 int
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    Count int
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    CountIPv6 int
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count number
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    count_i_pv6 number
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count Integer
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    countIPv6 Integer
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count number
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    countIPv6 number
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count int
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    count_i_pv6 int
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count Number
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    countIPv6 Number
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.

    ManagedClusterLoadBalancerProfileOutboundIPPrefixes, ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs

    Desired outbound IP Prefix resources for the cluster load balancer.
    PublicIPPrefixes []ResourceReference
    A list of public IP prefix resources.
    public_ip_prefixes list(object)
    A list of public IP prefix resources.
    publicIPPrefixes List<ResourceReference>
    A list of public IP prefix resources.
    publicIPPrefixes ResourceReference[]
    A list of public IP prefix resources.
    public_ip_prefixes Sequence[ResourceReference]
    A list of public IP prefix resources.
    publicIPPrefixes List<Property Map>
    A list of public IP prefix resources.

    ManagedClusterLoadBalancerProfileOutboundIPs, ManagedClusterLoadBalancerProfileOutboundIPsArgs

    Desired outbound IP resources for the cluster load balancer.
    PublicIPs []ResourceReference
    A list of public IP resources.
    public_i_ps list(object)
    A list of public IP resources.
    publicIPs List<ResourceReference>
    A list of public IP resources.
    publicIPs ResourceReference[]
    A list of public IP resources.
    public_ips Sequence[ResourceReference]
    A list of public IP resources.
    publicIPs List<Property Map>
    A list of public IP resources.

    ManagedClusterLoadBalancerProfileResponse, ManagedClusterLoadBalancerProfileResponseArgs

    Profile of the managed cluster load balancer.
    EffectiveOutboundIPs List<Pulumi.AzureNative.ContainerService.Inputs.ResourceReferenceResponse>
    The effective outbound IP resources of the cluster load balancer.
    AllocatedOutboundPorts int
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    BackendPoolType string
    The type of the managed inbound Load Balancer BackendPool.
    EnableMultipleStandardLoadBalancers bool
    Enable multiple standard load balancers per AKS cluster or not.
    IdleTimeoutInMinutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    ManagedOutboundIPs Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    OutboundIPPrefixes Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    OutboundIPs Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileResponseOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    EffectiveOutboundIPs []ResourceReferenceResponse
    The effective outbound IP resources of the cluster load balancer.
    AllocatedOutboundPorts int
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    BackendPoolType string
    The type of the managed inbound Load Balancer BackendPool.
    EnableMultipleStandardLoadBalancers bool
    Enable multiple standard load balancers per AKS cluster or not.
    IdleTimeoutInMinutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    ManagedOutboundIPs ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    OutboundIPPrefixes ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    OutboundIPs ManagedClusterLoadBalancerProfileResponseOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    effective_outbound_i_ps list(object)
    The effective outbound IP resources of the cluster load balancer.
    allocated_outbound_ports number
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backend_pool_type string
    The type of the managed inbound Load Balancer BackendPool.
    enable_multiple_standard_load_balancers bool
    Enable multiple standard load balancers per AKS cluster or not.
    idle_timeout_in_minutes number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managed_outbound_i_ps object
    Desired managed outbound IPs for the cluster load balancer.
    outbound_i_ps object
    Desired outbound IP resources for the cluster load balancer.
    outbound_ip_prefixes object
    Desired outbound IP Prefix resources for the cluster load balancer.
    effectiveOutboundIPs List<ResourceReferenceResponse>
    The effective outbound IP resources of the cluster load balancer.
    allocatedOutboundPorts Integer
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backendPoolType String
    The type of the managed inbound Load Balancer BackendPool.
    enableMultipleStandardLoadBalancers Boolean
    Enable multiple standard load balancers per AKS cluster or not.
    idleTimeoutInMinutes Integer
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managedOutboundIPs ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    outboundIPPrefixes ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    outboundIPs ManagedClusterLoadBalancerProfileResponseOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    effectiveOutboundIPs ResourceReferenceResponse[]
    The effective outbound IP resources of the cluster load balancer.
    allocatedOutboundPorts number
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backendPoolType string
    The type of the managed inbound Load Balancer BackendPool.
    enableMultipleStandardLoadBalancers boolean
    Enable multiple standard load balancers per AKS cluster or not.
    idleTimeoutInMinutes number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managedOutboundIPs ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    outboundIPPrefixes ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    outboundIPs ManagedClusterLoadBalancerProfileResponseOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    effective_outbound_ips Sequence[ResourceReferenceResponse]
    The effective outbound IP resources of the cluster load balancer.
    allocated_outbound_ports int
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backend_pool_type str
    The type of the managed inbound Load Balancer BackendPool.
    enable_multiple_standard_load_balancers bool
    Enable multiple standard load balancers per AKS cluster or not.
    idle_timeout_in_minutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managed_outbound_ips ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs
    Desired managed outbound IPs for the cluster load balancer.
    outbound_ip_prefixes ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes
    Desired outbound IP Prefix resources for the cluster load balancer.
    outbound_ips ManagedClusterLoadBalancerProfileResponseOutboundIPs
    Desired outbound IP resources for the cluster load balancer.
    effectiveOutboundIPs List<Property Map>
    The effective outbound IP resources of the cluster load balancer.
    allocatedOutboundPorts Number
    The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
    backendPoolType String
    The type of the managed inbound Load Balancer BackendPool.
    enableMultipleStandardLoadBalancers Boolean
    Enable multiple standard load balancers per AKS cluster or not.
    idleTimeoutInMinutes Number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.
    managedOutboundIPs Property Map
    Desired managed outbound IPs for the cluster load balancer.
    outboundIPPrefixes Property Map
    Desired outbound IP Prefix resources for the cluster load balancer.
    outboundIPs Property Map
    Desired outbound IP resources for the cluster load balancer.

    ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs, ManagedClusterLoadBalancerProfileResponseManagedOutboundIPsArgs

    Desired managed outbound IPs for the cluster load balancer.
    Count int
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    CountIPv6 int
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    Count int
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    CountIPv6 int
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count number
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    count_i_pv6 number
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count Integer
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    countIPv6 Integer
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count number
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    countIPv6 number
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count int
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    count_i_pv6 int
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
    count Number
    The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.
    countIPv6 Number
    The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.

    ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes, ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixesArgs

    Desired outbound IP Prefix resources for the cluster load balancer.
    PublicIPPrefixes []ResourceReferenceResponse
    A list of public IP prefix resources.
    public_ip_prefixes list(object)
    A list of public IP prefix resources.
    publicIPPrefixes List<ResourceReferenceResponse>
    A list of public IP prefix resources.
    publicIPPrefixes ResourceReferenceResponse[]
    A list of public IP prefix resources.
    public_ip_prefixes Sequence[ResourceReferenceResponse]
    A list of public IP prefix resources.
    publicIPPrefixes List<Property Map>
    A list of public IP prefix resources.

    ManagedClusterLoadBalancerProfileResponseOutboundIPs, ManagedClusterLoadBalancerProfileResponseOutboundIPsArgs

    Desired outbound IP resources for the cluster load balancer.
    PublicIPs []ResourceReferenceResponse
    A list of public IP resources.
    public_i_ps list(object)
    A list of public IP resources.
    publicIPs List<ResourceReferenceResponse>
    A list of public IP resources.
    publicIPs ResourceReferenceResponse[]
    A list of public IP resources.
    public_ips Sequence[ResourceReferenceResponse]
    A list of public IP resources.
    publicIPs List<Property Map>
    A list of public IP resources.

    ManagedClusterManagedOutboundIPProfile, ManagedClusterManagedOutboundIPProfileArgs

    Profile of the managed outbound IP resources of the managed cluster.
    Count int
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    Count int
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count number
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count Integer
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count number
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count int
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count Number
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.

    ManagedClusterManagedOutboundIPProfileResponse, ManagedClusterManagedOutboundIPProfileResponseArgs

    Profile of the managed outbound IP resources of the managed cluster.
    Count int
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    Count int
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count number
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count Integer
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count number
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count int
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.
    count Number
    The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.

    ManagedClusterMetricsProfile, ManagedClusterMetricsProfileArgs

    The metrics profile for the ManagedCluster.
    CostAnalysis Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterCostAnalysis
    The configuration for detailed per-Kubernetes resource cost analysis.
    CostAnalysis ManagedClusterCostAnalysis
    The configuration for detailed per-Kubernetes resource cost analysis.
    cost_analysis object
    The configuration for detailed per-Kubernetes resource cost analysis.
    costAnalysis ManagedClusterCostAnalysis
    The configuration for detailed per-Kubernetes resource cost analysis.
    costAnalysis ManagedClusterCostAnalysis
    The configuration for detailed per-Kubernetes resource cost analysis.
    cost_analysis ManagedClusterCostAnalysis
    The configuration for detailed per-Kubernetes resource cost analysis.
    costAnalysis Property Map
    The configuration for detailed per-Kubernetes resource cost analysis.

    ManagedClusterMetricsProfileResponse, ManagedClusterMetricsProfileResponseArgs

    The metrics profile for the ManagedCluster.
    CostAnalysis Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterCostAnalysisResponse
    The configuration for detailed per-Kubernetes resource cost analysis.
    CostAnalysis ManagedClusterCostAnalysisResponse
    The configuration for detailed per-Kubernetes resource cost analysis.
    cost_analysis object
    The configuration for detailed per-Kubernetes resource cost analysis.
    costAnalysis ManagedClusterCostAnalysisResponse
    The configuration for detailed per-Kubernetes resource cost analysis.
    costAnalysis ManagedClusterCostAnalysisResponse
    The configuration for detailed per-Kubernetes resource cost analysis.
    cost_analysis ManagedClusterCostAnalysisResponse
    The configuration for detailed per-Kubernetes resource cost analysis.
    costAnalysis Property Map
    The configuration for detailed per-Kubernetes resource cost analysis.

    ManagedClusterNATGatewayProfile, ManagedClusterNATGatewayProfileArgs

    Profile of the managed cluster NAT gateway.
    IdleTimeoutInMinutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    ManagedOutboundIPProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    IdleTimeoutInMinutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    ManagedOutboundIPProfile ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    idle_timeout_in_minutes number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managed_outbound_ip_profile object
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    idleTimeoutInMinutes Integer
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managedOutboundIPProfile ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    idleTimeoutInMinutes number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managedOutboundIPProfile ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    idle_timeout_in_minutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managed_outbound_ip_profile ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    idleTimeoutInMinutes Number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managedOutboundIPProfile Property Map
    Profile of the managed outbound IP resources of the cluster NAT gateway.

    ManagedClusterNATGatewayProfileResponse, ManagedClusterNATGatewayProfileResponseArgs

    Profile of the managed cluster NAT gateway.
    EffectiveOutboundIPs List<Pulumi.AzureNative.ContainerService.Inputs.ResourceReferenceResponse>
    The effective outbound IP resources of the cluster NAT gateway.
    IdleTimeoutInMinutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    ManagedOutboundIPProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterManagedOutboundIPProfileResponse
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    EffectiveOutboundIPs []ResourceReferenceResponse
    The effective outbound IP resources of the cluster NAT gateway.
    IdleTimeoutInMinutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    ManagedOutboundIPProfile ManagedClusterManagedOutboundIPProfileResponse
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    effective_outbound_i_ps list(object)
    The effective outbound IP resources of the cluster NAT gateway.
    idle_timeout_in_minutes number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managed_outbound_ip_profile object
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    effectiveOutboundIPs List<ResourceReferenceResponse>
    The effective outbound IP resources of the cluster NAT gateway.
    idleTimeoutInMinutes Integer
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managedOutboundIPProfile ManagedClusterManagedOutboundIPProfileResponse
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    effectiveOutboundIPs ResourceReferenceResponse[]
    The effective outbound IP resources of the cluster NAT gateway.
    idleTimeoutInMinutes number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managedOutboundIPProfile ManagedClusterManagedOutboundIPProfileResponse
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    effective_outbound_ips Sequence[ResourceReferenceResponse]
    The effective outbound IP resources of the cluster NAT gateway.
    idle_timeout_in_minutes int
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managed_outbound_ip_profile ManagedClusterManagedOutboundIPProfileResponse
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    effectiveOutboundIPs List<Property Map>
    The effective outbound IP resources of the cluster NAT gateway.
    idleTimeoutInMinutes Number
    Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.
    managedOutboundIPProfile Property Map
    Profile of the managed outbound IP resources of the cluster NAT gateway.

    ManagedClusterNodeProvisioningProfile, ManagedClusterNodeProvisioningProfileArgs

    DefaultNodePools string | Pulumi.AzureNative.ContainerService.NodeProvisioningDefaultNodePools
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    Mode string | Pulumi.AzureNative.ContainerService.NodeProvisioningMode
    The node provisioning mode. If not specified, the default is Manual.
    DefaultNodePools string | NodeProvisioningDefaultNodePools
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    Mode string | NodeProvisioningMode
    The node provisioning mode. If not specified, the default is Manual.
    default_node_pools string | "None" | "Auto"
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode string | "Manual" | "Auto"
    The node provisioning mode. If not specified, the default is Manual.
    defaultNodePools String | NodeProvisioningDefaultNodePools
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode String | NodeProvisioningMode
    The node provisioning mode. If not specified, the default is Manual.
    defaultNodePools string | NodeProvisioningDefaultNodePools
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode string | NodeProvisioningMode
    The node provisioning mode. If not specified, the default is Manual.
    default_node_pools str | NodeProvisioningDefaultNodePools
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode str | NodeProvisioningMode
    The node provisioning mode. If not specified, the default is Manual.
    defaultNodePools String | "None" | "Auto"
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode String | "Manual" | "Auto"
    The node provisioning mode. If not specified, the default is Manual.

    ManagedClusterNodeProvisioningProfileResponse, ManagedClusterNodeProvisioningProfileResponseArgs

    DefaultNodePools string
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    Mode string
    The node provisioning mode. If not specified, the default is Manual.
    DefaultNodePools string
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    Mode string
    The node provisioning mode. If not specified, the default is Manual.
    default_node_pools string
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode string
    The node provisioning mode. If not specified, the default is Manual.
    defaultNodePools String
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode String
    The node provisioning mode. If not specified, the default is Manual.
    defaultNodePools string
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode string
    The node provisioning mode. If not specified, the default is Manual.
    default_node_pools str
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode str
    The node provisioning mode. If not specified, the default is Manual.
    defaultNodePools String
    The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.
    mode String
    The node provisioning mode. If not specified, the default is Manual.

    ManagedClusterNodeResourceGroupProfile, ManagedClusterNodeResourceGroupProfileArgs

    Node resource group lockdown profile for a managed cluster.
    RestrictionLevel string | Pulumi.AzureNative.ContainerService.RestrictionLevel
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    RestrictionLevel string | RestrictionLevel
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restriction_level string | "Unrestricted" | "ReadOnly"
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restrictionLevel String | RestrictionLevel
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restrictionLevel string | RestrictionLevel
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restriction_level str | RestrictionLevel
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restrictionLevel String | "Unrestricted" | "ReadOnly"
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'

    ManagedClusterNodeResourceGroupProfileResponse, ManagedClusterNodeResourceGroupProfileResponseArgs

    Node resource group lockdown profile for a managed cluster.
    RestrictionLevel string
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    RestrictionLevel string
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restriction_level string
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restrictionLevel String
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restrictionLevel string
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restriction_level str
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'
    restrictionLevel String
    The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'

    ManagedClusterOIDCIssuerProfile, ManagedClusterOIDCIssuerProfileArgs

    The OIDC issuer profile of the Managed Cluster.
    Enabled bool
    Whether the OIDC issuer is enabled.
    Enabled bool
    Whether the OIDC issuer is enabled.
    enabled bool
    Whether the OIDC issuer is enabled.
    enabled Boolean
    Whether the OIDC issuer is enabled.
    enabled boolean
    Whether the OIDC issuer is enabled.
    enabled bool
    Whether the OIDC issuer is enabled.
    enabled Boolean
    Whether the OIDC issuer is enabled.

    ManagedClusterOIDCIssuerProfileResponse, ManagedClusterOIDCIssuerProfileResponseArgs

    The OIDC issuer profile of the Managed Cluster.
    IssuerURL string
    The OIDC issuer url of the Managed Cluster.
    Enabled bool
    Whether the OIDC issuer is enabled.
    IssuerURL string
    The OIDC issuer url of the Managed Cluster.
    Enabled bool
    Whether the OIDC issuer is enabled.
    issuer_url string
    The OIDC issuer url of the Managed Cluster.
    enabled bool
    Whether the OIDC issuer is enabled.
    issuerURL String
    The OIDC issuer url of the Managed Cluster.
    enabled Boolean
    Whether the OIDC issuer is enabled.
    issuerURL string
    The OIDC issuer url of the Managed Cluster.
    enabled boolean
    Whether the OIDC issuer is enabled.
    issuer_url str
    The OIDC issuer url of the Managed Cluster.
    enabled bool
    Whether the OIDC issuer is enabled.
    issuerURL String
    The OIDC issuer url of the Managed Cluster.
    enabled Boolean
    Whether the OIDC issuer is enabled.

    ManagedClusterPodIdentity, ManagedClusterPodIdentityArgs

    Details about the pod identity assigned to the Managed Cluster.
    Identity Pulumi.AzureNative.ContainerService.Inputs.UserAssignedIdentity
    The user assigned identity details.
    Name string
    The name of the pod identity.
    Namespace string
    The namespace of the pod identity.
    BindingSelector string
    The binding selector to use for the AzureIdentityBinding resource.
    Identity UserAssignedIdentity
    The user assigned identity details.
    Name string
    The name of the pod identity.
    Namespace string
    The namespace of the pod identity.
    BindingSelector string
    The binding selector to use for the AzureIdentityBinding resource.
    identity object
    The user assigned identity details.
    name string
    The name of the pod identity.
    namespace string
    The namespace of the pod identity.
    binding_selector string
    The binding selector to use for the AzureIdentityBinding resource.
    identity UserAssignedIdentity
    The user assigned identity details.
    name String
    The name of the pod identity.
    namespace String
    The namespace of the pod identity.
    bindingSelector String
    The binding selector to use for the AzureIdentityBinding resource.
    identity UserAssignedIdentity
    The user assigned identity details.
    name string
    The name of the pod identity.
    namespace string
    The namespace of the pod identity.
    bindingSelector string
    The binding selector to use for the AzureIdentityBinding resource.
    identity UserAssignedIdentity
    The user assigned identity details.
    name str
    The name of the pod identity.
    namespace str
    The namespace of the pod identity.
    binding_selector str
    The binding selector to use for the AzureIdentityBinding resource.
    identity Property Map
    The user assigned identity details.
    name String
    The name of the pod identity.
    namespace String
    The namespace of the pod identity.
    bindingSelector String
    The binding selector to use for the AzureIdentityBinding resource.

    ManagedClusterPodIdentityException, ManagedClusterPodIdentityExceptionArgs

    A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See disable AAD Pod Identity for a specific Pod/Application for more details.
    Name string
    The name of the pod identity exception.
    Namespace string
    The namespace of the pod identity exception.
    PodLabels Dictionary<string, string>
    The pod labels to match.
    Name string
    The name of the pod identity exception.
    Namespace string
    The namespace of the pod identity exception.
    PodLabels map[string]string
    The pod labels to match.
    name string
    The name of the pod identity exception.
    namespace string
    The namespace of the pod identity exception.
    pod_labels map(string)
    The pod labels to match.
    name String
    The name of the pod identity exception.
    namespace String
    The namespace of the pod identity exception.
    podLabels Map<String,String>
    The pod labels to match.
    name string
    The name of the pod identity exception.
    namespace string
    The namespace of the pod identity exception.
    podLabels {[key: string]: string}
    The pod labels to match.
    name str
    The name of the pod identity exception.
    namespace str
    The namespace of the pod identity exception.
    pod_labels Mapping[str, str]
    The pod labels to match.
    name String
    The name of the pod identity exception.
    namespace String
    The namespace of the pod identity exception.
    podLabels Map<String>
    The pod labels to match.

    ManagedClusterPodIdentityExceptionResponse, ManagedClusterPodIdentityExceptionResponseArgs

    A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See disable AAD Pod Identity for a specific Pod/Application for more details.
    Name string
    The name of the pod identity exception.
    Namespace string
    The namespace of the pod identity exception.
    PodLabels Dictionary<string, string>
    The pod labels to match.
    Name string
    The name of the pod identity exception.
    Namespace string
    The namespace of the pod identity exception.
    PodLabels map[string]string
    The pod labels to match.
    name string
    The name of the pod identity exception.
    namespace string
    The namespace of the pod identity exception.
    pod_labels map(string)
    The pod labels to match.
    name String
    The name of the pod identity exception.
    namespace String
    The namespace of the pod identity exception.
    podLabels Map<String,String>
    The pod labels to match.
    name string
    The name of the pod identity exception.
    namespace string
    The namespace of the pod identity exception.
    podLabels {[key: string]: string}
    The pod labels to match.
    name str
    The name of the pod identity exception.
    namespace str
    The namespace of the pod identity exception.
    pod_labels Mapping[str, str]
    The pod labels to match.
    name String
    The name of the pod identity exception.
    namespace String
    The namespace of the pod identity exception.
    podLabels Map<String>
    The pod labels to match.

    ManagedClusterPodIdentityProfile, ManagedClusterPodIdentityProfileArgs

    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on pod identity integration.
    AllowNetworkPluginKubenet bool
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    Enabled bool
    Whether the pod identity addon is enabled.
    UserAssignedIdentities List<Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPodIdentity>
    The pod identities to use in the cluster.
    UserAssignedIdentityExceptions List<Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityException>
    The pod identity exceptions to allow.
    AllowNetworkPluginKubenet bool
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    Enabled bool
    Whether the pod identity addon is enabled.
    UserAssignedIdentities []ManagedClusterPodIdentity
    The pod identities to use in the cluster.
    UserAssignedIdentityExceptions []ManagedClusterPodIdentityException
    The pod identity exceptions to allow.
    allow_network_plugin_kubenet bool
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled bool
    Whether the pod identity addon is enabled.
    user_assigned_identities list(object)
    The pod identities to use in the cluster.
    user_assigned_identity_exceptions list(object)
    The pod identity exceptions to allow.
    allowNetworkPluginKubenet Boolean
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled Boolean
    Whether the pod identity addon is enabled.
    userAssignedIdentities List<ManagedClusterPodIdentity>
    The pod identities to use in the cluster.
    userAssignedIdentityExceptions List<ManagedClusterPodIdentityException>
    The pod identity exceptions to allow.
    allowNetworkPluginKubenet boolean
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled boolean
    Whether the pod identity addon is enabled.
    userAssignedIdentities ManagedClusterPodIdentity[]
    The pod identities to use in the cluster.
    userAssignedIdentityExceptions ManagedClusterPodIdentityException[]
    The pod identity exceptions to allow.
    allow_network_plugin_kubenet bool
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled bool
    Whether the pod identity addon is enabled.
    user_assigned_identities Sequence[ManagedClusterPodIdentity]
    The pod identities to use in the cluster.
    user_assigned_identity_exceptions Sequence[ManagedClusterPodIdentityException]
    The pod identity exceptions to allow.
    allowNetworkPluginKubenet Boolean
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled Boolean
    Whether the pod identity addon is enabled.
    userAssignedIdentities List<Property Map>
    The pod identities to use in the cluster.
    userAssignedIdentityExceptions List<Property Map>
    The pod identity exceptions to allow.

    ManagedClusterPodIdentityProfileResponse, ManagedClusterPodIdentityProfileResponseArgs

    The pod identity profile of the Managed Cluster. See use AAD pod identity for more details on pod identity integration.
    AllowNetworkPluginKubenet bool
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    Enabled bool
    Whether the pod identity addon is enabled.
    UserAssignedIdentities List<Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityResponse>
    The pod identities to use in the cluster.
    UserAssignedIdentityExceptions List<Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityExceptionResponse>
    The pod identity exceptions to allow.
    AllowNetworkPluginKubenet bool
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    Enabled bool
    Whether the pod identity addon is enabled.
    UserAssignedIdentities []ManagedClusterPodIdentityResponse
    The pod identities to use in the cluster.
    UserAssignedIdentityExceptions []ManagedClusterPodIdentityExceptionResponse
    The pod identity exceptions to allow.
    allow_network_plugin_kubenet bool
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled bool
    Whether the pod identity addon is enabled.
    user_assigned_identities list(object)
    The pod identities to use in the cluster.
    user_assigned_identity_exceptions list(object)
    The pod identity exceptions to allow.
    allowNetworkPluginKubenet Boolean
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled Boolean
    Whether the pod identity addon is enabled.
    userAssignedIdentities List<ManagedClusterPodIdentityResponse>
    The pod identities to use in the cluster.
    userAssignedIdentityExceptions List<ManagedClusterPodIdentityExceptionResponse>
    The pod identity exceptions to allow.
    allowNetworkPluginKubenet boolean
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled boolean
    Whether the pod identity addon is enabled.
    userAssignedIdentities ManagedClusterPodIdentityResponse[]
    The pod identities to use in the cluster.
    userAssignedIdentityExceptions ManagedClusterPodIdentityExceptionResponse[]
    The pod identity exceptions to allow.
    allow_network_plugin_kubenet bool
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled bool
    Whether the pod identity addon is enabled.
    user_assigned_identities Sequence[ManagedClusterPodIdentityResponse]
    The pod identities to use in the cluster.
    user_assigned_identity_exceptions Sequence[ManagedClusterPodIdentityExceptionResponse]
    The pod identity exceptions to allow.
    allowNetworkPluginKubenet Boolean
    Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information.
    enabled Boolean
    Whether the pod identity addon is enabled.
    userAssignedIdentities List<Property Map>
    The pod identities to use in the cluster.
    userAssignedIdentityExceptions List<Property Map>
    The pod identity exceptions to allow.

    ManagedClusterPodIdentityProvisioningErrorBodyResponse, ManagedClusterPodIdentityProvisioningErrorBodyResponseArgs

    An error response from the pod identity provisioning.
    Code string
    An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
    Details List<Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityProvisioningErrorBodyResponse>
    A list of additional details about the error.
    Message string
    A message describing the error, intended to be suitable for display in a user interface.
    Target string
    The target of the particular error. For example, the name of the property in error.
    Code string
    An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
    Details []ManagedClusterPodIdentityProvisioningErrorBodyResponse
    A list of additional details about the error.
    Message string
    A message describing the error, intended to be suitable for display in a user interface.
    Target string
    The target of the particular error. For example, the name of the property in error.
    code string
    An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
    details list(object)
    A list of additional details about the error.
    message string
    A message describing the error, intended to be suitable for display in a user interface.
    target string
    The target of the particular error. For example, the name of the property in error.
    code String
    An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
    details List<ManagedClusterPodIdentityProvisioningErrorBodyResponse>
    A list of additional details about the error.
    message String
    A message describing the error, intended to be suitable for display in a user interface.
    target String
    The target of the particular error. For example, the name of the property in error.
    code string
    An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
    details ManagedClusterPodIdentityProvisioningErrorBodyResponse[]
    A list of additional details about the error.
    message string
    A message describing the error, intended to be suitable for display in a user interface.
    target string
    The target of the particular error. For example, the name of the property in error.
    code str
    An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
    details Sequence[ManagedClusterPodIdentityProvisioningErrorBodyResponse]
    A list of additional details about the error.
    message str
    A message describing the error, intended to be suitable for display in a user interface.
    target str
    The target of the particular error. For example, the name of the property in error.
    code String
    An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
    details List<Property Map>
    A list of additional details about the error.
    message String
    A message describing the error, intended to be suitable for display in a user interface.
    target String
    The target of the particular error. For example, the name of the property in error.

    ManagedClusterPodIdentityProvisioningErrorResponse, ManagedClusterPodIdentityProvisioningErrorResponseArgs

    An error response from the pod identity provisioning.
    error object
    Details about the error.
    error Property Map
    Details about the error.

    ManagedClusterPodIdentityResponse, ManagedClusterPodIdentityResponseArgs

    Details about the pod identity assigned to the Managed Cluster.
    Identity Pulumi.AzureNative.ContainerService.Inputs.UserAssignedIdentityResponse
    The user assigned identity details.
    Name string
    The name of the pod identity.
    Namespace string
    The namespace of the pod identity.
    ProvisioningInfo Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityResponseProvisioningInfo
    ProvisioningState string
    The current provisioning state of the pod identity.
    BindingSelector string
    The binding selector to use for the AzureIdentityBinding resource.
    Identity UserAssignedIdentityResponse
    The user assigned identity details.
    Name string
    The name of the pod identity.
    Namespace string
    The namespace of the pod identity.
    ProvisioningInfo ManagedClusterPodIdentityResponseProvisioningInfo
    ProvisioningState string
    The current provisioning state of the pod identity.
    BindingSelector string
    The binding selector to use for the AzureIdentityBinding resource.
    identity object
    The user assigned identity details.
    name string
    The name of the pod identity.
    namespace string
    The namespace of the pod identity.
    provisioning_info object
    provisioning_state string
    The current provisioning state of the pod identity.
    binding_selector string
    The binding selector to use for the AzureIdentityBinding resource.
    identity UserAssignedIdentityResponse
    The user assigned identity details.
    name String
    The name of the pod identity.
    namespace String
    The namespace of the pod identity.
    provisioningInfo ManagedClusterPodIdentityResponseProvisioningInfo
    provisioningState String
    The current provisioning state of the pod identity.
    bindingSelector String
    The binding selector to use for the AzureIdentityBinding resource.
    identity UserAssignedIdentityResponse
    The user assigned identity details.
    name string
    The name of the pod identity.
    namespace string
    The namespace of the pod identity.
    provisioningInfo ManagedClusterPodIdentityResponseProvisioningInfo
    provisioningState string
    The current provisioning state of the pod identity.
    bindingSelector string
    The binding selector to use for the AzureIdentityBinding resource.
    identity UserAssignedIdentityResponse
    The user assigned identity details.
    name str
    The name of the pod identity.
    namespace str
    The namespace of the pod identity.
    provisioning_info ManagedClusterPodIdentityResponseProvisioningInfo
    provisioning_state str
    The current provisioning state of the pod identity.
    binding_selector str
    The binding selector to use for the AzureIdentityBinding resource.
    identity Property Map
    The user assigned identity details.
    name String
    The name of the pod identity.
    namespace String
    The namespace of the pod identity.
    provisioningInfo Property Map
    provisioningState String
    The current provisioning state of the pod identity.
    bindingSelector String
    The binding selector to use for the AzureIdentityBinding resource.

    ManagedClusterPodIdentityResponseProvisioningInfo, ManagedClusterPodIdentityResponseProvisioningInfoArgs

    Error ManagedClusterPodIdentityProvisioningErrorResponse
    Pod identity assignment error (if any).
    error object
    Pod identity assignment error (if any).
    error ManagedClusterPodIdentityProvisioningErrorResponse
    Pod identity assignment error (if any).
    error ManagedClusterPodIdentityProvisioningErrorResponse
    Pod identity assignment error (if any).
    error ManagedClusterPodIdentityProvisioningErrorResponse
    Pod identity assignment error (if any).
    error Property Map
    Pod identity assignment error (if any).

    ManagedClusterPropertiesAutoScalerProfile, ManagedClusterPropertiesAutoScalerProfileArgs

    Parameters to be applied to the cluster-autoscaler when enabled
    BalanceSimilarNodeGroups string
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    DaemonsetEvictionForEmptyNodes bool
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    DaemonsetEvictionForOccupiedNodes bool
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    Expander string | Pulumi.AzureNative.ContainerService.Expander
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    IgnoreDaemonsetsUtilization bool
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    MaxEmptyBulkDelete string
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    MaxGracefulTerminationSec string
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    MaxNodeProvisionTime string
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    MaxTotalUnreadyPercentage string
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    NewPodScaleUpDelay string
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    OkTotalUnreadyCount string
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    ScaleDownDelayAfterAdd string
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownDelayAfterDelete string
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownDelayAfterFailure string
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUnneededTime string
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUnreadyTime string
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUtilizationThreshold string
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    ScanInterval string
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    SkipNodesWithLocalStorage string
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    SkipNodesWithSystemPods string
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    BalanceSimilarNodeGroups string
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    DaemonsetEvictionForEmptyNodes bool
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    DaemonsetEvictionForOccupiedNodes bool
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    Expander string | Expander
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    IgnoreDaemonsetsUtilization bool
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    MaxEmptyBulkDelete string
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    MaxGracefulTerminationSec string
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    MaxNodeProvisionTime string
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    MaxTotalUnreadyPercentage string
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    NewPodScaleUpDelay string
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    OkTotalUnreadyCount string
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    ScaleDownDelayAfterAdd string
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownDelayAfterDelete string
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownDelayAfterFailure string
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUnneededTime string
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUnreadyTime string
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUtilizationThreshold string
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    ScanInterval string
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    SkipNodesWithLocalStorage string
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    SkipNodesWithSystemPods string
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balance_similar_node_groups string
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonset_eviction_for_empty_nodes bool
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonset_eviction_for_occupied_nodes bool
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander string | "least-waste" | "most-pods" | "priority" | "random"
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignore_daemonsets_utilization bool
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    max_empty_bulk_delete string
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    max_graceful_termination_sec string
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    max_node_provision_time string
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    max_total_unready_percentage string
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    new_pod_scale_up_delay string
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    ok_total_unready_count string
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scale_down_delay_after_add string
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_delay_after_delete string
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_delay_after_failure string
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_unneeded_time string
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_unready_time string
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_utilization_threshold string
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scan_interval string
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skip_nodes_with_local_storage string
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skip_nodes_with_system_pods string
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balanceSimilarNodeGroups String
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonsetEvictionForEmptyNodes Boolean
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonsetEvictionForOccupiedNodes Boolean
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander String | Expander
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignoreDaemonsetsUtilization Boolean
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    maxEmptyBulkDelete String
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    maxGracefulTerminationSec String
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    maxNodeProvisionTime String
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    maxTotalUnreadyPercentage String
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay String
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    okTotalUnreadyCount String
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scaleDownDelayAfterAdd String
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterDelete String
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterFailure String
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnneededTime String
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnreadyTime String
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUtilizationThreshold String
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scanInterval String
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage String
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skipNodesWithSystemPods String
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balanceSimilarNodeGroups string
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonsetEvictionForEmptyNodes boolean
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonsetEvictionForOccupiedNodes boolean
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander string | Expander
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignoreDaemonsetsUtilization boolean
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    maxEmptyBulkDelete string
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    maxGracefulTerminationSec string
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    maxNodeProvisionTime string
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    maxTotalUnreadyPercentage string
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay string
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    okTotalUnreadyCount string
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scaleDownDelayAfterAdd string
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterDelete string
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterFailure string
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnneededTime string
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnreadyTime string
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUtilizationThreshold string
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scanInterval string
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage string
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skipNodesWithSystemPods string
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balance_similar_node_groups str
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonset_eviction_for_empty_nodes bool
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonset_eviction_for_occupied_nodes bool
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander str | Expander
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignore_daemonsets_utilization bool
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    max_empty_bulk_delete str
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    max_graceful_termination_sec str
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    max_node_provision_time str
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    max_total_unready_percentage str
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    new_pod_scale_up_delay str
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    ok_total_unready_count str
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scale_down_delay_after_add str
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_delay_after_delete str
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_delay_after_failure str
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_unneeded_time str
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_unready_time str
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_utilization_threshold str
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scan_interval str
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skip_nodes_with_local_storage str
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skip_nodes_with_system_pods str
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balanceSimilarNodeGroups String
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonsetEvictionForEmptyNodes Boolean
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonsetEvictionForOccupiedNodes Boolean
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander String | "least-waste" | "most-pods" | "priority" | "random"
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignoreDaemonsetsUtilization Boolean
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    maxEmptyBulkDelete String
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    maxGracefulTerminationSec String
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    maxNodeProvisionTime String
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    maxTotalUnreadyPercentage String
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay String
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    okTotalUnreadyCount String
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scaleDownDelayAfterAdd String
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterDelete String
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterFailure String
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnneededTime String
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnreadyTime String
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUtilizationThreshold String
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scanInterval String
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage String
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skipNodesWithSystemPods String
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.

    ManagedClusterPropertiesResponseAutoScalerProfile, ManagedClusterPropertiesResponseAutoScalerProfileArgs

    Parameters to be applied to the cluster-autoscaler when enabled
    BalanceSimilarNodeGroups string
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    DaemonsetEvictionForEmptyNodes bool
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    DaemonsetEvictionForOccupiedNodes bool
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    Expander string
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    IgnoreDaemonsetsUtilization bool
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    MaxEmptyBulkDelete string
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    MaxGracefulTerminationSec string
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    MaxNodeProvisionTime string
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    MaxTotalUnreadyPercentage string
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    NewPodScaleUpDelay string
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    OkTotalUnreadyCount string
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    ScaleDownDelayAfterAdd string
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownDelayAfterDelete string
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownDelayAfterFailure string
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUnneededTime string
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUnreadyTime string
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUtilizationThreshold string
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    ScanInterval string
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    SkipNodesWithLocalStorage string
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    SkipNodesWithSystemPods string
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    BalanceSimilarNodeGroups string
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    DaemonsetEvictionForEmptyNodes bool
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    DaemonsetEvictionForOccupiedNodes bool
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    Expander string
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    IgnoreDaemonsetsUtilization bool
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    MaxEmptyBulkDelete string
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    MaxGracefulTerminationSec string
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    MaxNodeProvisionTime string
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    MaxTotalUnreadyPercentage string
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    NewPodScaleUpDelay string
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    OkTotalUnreadyCount string
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    ScaleDownDelayAfterAdd string
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownDelayAfterDelete string
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownDelayAfterFailure string
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUnneededTime string
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUnreadyTime string
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    ScaleDownUtilizationThreshold string
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    ScanInterval string
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    SkipNodesWithLocalStorage string
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    SkipNodesWithSystemPods string
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balance_similar_node_groups string
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonset_eviction_for_empty_nodes bool
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonset_eviction_for_occupied_nodes bool
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander string
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignore_daemonsets_utilization bool
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    max_empty_bulk_delete string
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    max_graceful_termination_sec string
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    max_node_provision_time string
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    max_total_unready_percentage string
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    new_pod_scale_up_delay string
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    ok_total_unready_count string
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scale_down_delay_after_add string
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_delay_after_delete string
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_delay_after_failure string
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_unneeded_time string
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_unready_time string
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_utilization_threshold string
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scan_interval string
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skip_nodes_with_local_storage string
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skip_nodes_with_system_pods string
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balanceSimilarNodeGroups String
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonsetEvictionForEmptyNodes Boolean
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonsetEvictionForOccupiedNodes Boolean
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander String
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignoreDaemonsetsUtilization Boolean
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    maxEmptyBulkDelete String
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    maxGracefulTerminationSec String
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    maxNodeProvisionTime String
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    maxTotalUnreadyPercentage String
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay String
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    okTotalUnreadyCount String
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scaleDownDelayAfterAdd String
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterDelete String
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterFailure String
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnneededTime String
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnreadyTime String
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUtilizationThreshold String
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scanInterval String
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage String
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skipNodesWithSystemPods String
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balanceSimilarNodeGroups string
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonsetEvictionForEmptyNodes boolean
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonsetEvictionForOccupiedNodes boolean
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander string
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignoreDaemonsetsUtilization boolean
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    maxEmptyBulkDelete string
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    maxGracefulTerminationSec string
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    maxNodeProvisionTime string
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    maxTotalUnreadyPercentage string
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay string
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    okTotalUnreadyCount string
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scaleDownDelayAfterAdd string
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterDelete string
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterFailure string
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnneededTime string
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnreadyTime string
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUtilizationThreshold string
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scanInterval string
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage string
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skipNodesWithSystemPods string
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balance_similar_node_groups str
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonset_eviction_for_empty_nodes bool
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonset_eviction_for_occupied_nodes bool
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander str
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignore_daemonsets_utilization bool
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    max_empty_bulk_delete str
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    max_graceful_termination_sec str
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    max_node_provision_time str
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    max_total_unready_percentage str
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    new_pod_scale_up_delay str
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    ok_total_unready_count str
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scale_down_delay_after_add str
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_delay_after_delete str
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_delay_after_failure str
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_unneeded_time str
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_unready_time str
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scale_down_utilization_threshold str
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scan_interval str
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skip_nodes_with_local_storage str
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skip_nodes_with_system_pods str
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.
    balanceSimilarNodeGroups String
    Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'
    daemonsetEvictionForEmptyNodes Boolean
    DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    daemonsetEvictionForOccupiedNodes Boolean
    DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.
    expander String
    The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information.
    ignoreDaemonsetsUtilization Boolean
    Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.
    maxEmptyBulkDelete String
    The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.
    maxGracefulTerminationSec String
    The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.
    maxNodeProvisionTime String
    The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    maxTotalUnreadyPercentage String
    The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay String
    Ignore unscheduled pods before they're a certain age. 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).
    okTotalUnreadyCount String
    The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.
    scaleDownDelayAfterAdd String
    How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterDelete String
    How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownDelayAfterFailure String
    How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnneededTime String
    How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUnreadyTime String
    How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.
    scaleDownUtilizationThreshold String
    Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.
    scanInterval String
    How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage String
    If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.
    skipNodesWithSystemPods String
    If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.

    ManagedClusterSKU, ManagedClusterSKUArgs

    The SKU of a Managed Cluster.
    Name string | Pulumi.AzureNative.ContainerService.ManagedClusterSKUName
    The name of a managed cluster SKU.
    Tier string | Pulumi.AzureNative.ContainerService.ManagedClusterSKUTier
    The tier of a managed cluster SKU. If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    Name string | ManagedClusterSKUName
    The name of a managed cluster SKU.
    Tier string | ManagedClusterSKUTier
    The tier of a managed cluster SKU. If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name string | "Base" | "Automatic"
    The name of a managed cluster SKU.
    tier string | "Premium" | "Standard" | "Free"
    The tier of a managed cluster SKU. If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name String | ManagedClusterSKUName
    The name of a managed cluster SKU.
    tier String | ManagedClusterSKUTier
    The tier of a managed cluster SKU. If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name string | ManagedClusterSKUName
    The name of a managed cluster SKU.
    tier string | ManagedClusterSKUTier
    The tier of a managed cluster SKU. If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name str | ManagedClusterSKUName
    The name of a managed cluster SKU.
    tier str | ManagedClusterSKUTier
    The tier of a managed cluster SKU. If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name String | "Base" | "Automatic"
    The name of a managed cluster SKU.
    tier String | "Premium" | "Standard" | "Free"
    The tier of a managed cluster SKU. If not specified, the default is 'Free'. See AKS Pricing Tier for more details.

    ManagedClusterSKUName, ManagedClusterSKUNameArgs

    Base
    Base Base option for the AKS control plane.
    Automatic
    Automatic Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic.
    ManagedClusterSKUNameBase
    Base Base option for the AKS control plane.
    ManagedClusterSKUNameAutomatic
    Automatic Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic.
    "Base"
    Base Base option for the AKS control plane.
    "Automatic"
    Automatic Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic.
    Base
    Base Base option for the AKS control plane.
    Automatic
    Automatic Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic.
    Base
    Base Base option for the AKS control plane.
    Automatic
    Automatic Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic.
    BASE
    Base Base option for the AKS control plane.
    AUTOMATIC
    Automatic Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic.
    "Base"
    Base Base option for the AKS control plane.
    "Automatic"
    Automatic Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic.

    ManagedClusterSKUResponse, ManagedClusterSKUResponseArgs

    The SKU of a Managed Cluster.
    Name string
    The name of a managed cluster SKU.
    Tier string
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    Name string
    The name of a managed cluster SKU.
    Tier string
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name string
    The name of a managed cluster SKU.
    tier string
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name String
    The name of a managed cluster SKU.
    tier String
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name string
    The name of a managed cluster SKU.
    tier string
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name str
    The name of a managed cluster SKU.
    tier str
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name String
    The name of a managed cluster SKU.
    tier String
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.

    ManagedClusterSKUTier, ManagedClusterSKUTierArgs

    Premium
    Premium Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions.
    Standard
    Standard Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones.
    Free
    Free The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.
    ManagedClusterSKUTierPremium
    Premium Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions.
    ManagedClusterSKUTierStandard
    Standard Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones.
    ManagedClusterSKUTierFree
    Free The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.
    "Premium"
    Premium Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions.
    "Standard"
    Standard Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones.
    "Free"
    Free The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.
    Premium
    Premium Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions.
    Standard
    Standard Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones.
    Free
    Free The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.
    Premium
    Premium Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions.
    Standard
    Standard Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones.
    Free
    Free The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.
    PREMIUM
    Premium Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions.
    STANDARD
    Standard Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones.
    FREE
    Free The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.
    "Premium"
    Premium Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions.
    "Standard"
    Standard Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones.
    "Free"
    Free The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases.

    ManagedClusterSecurityProfile, ManagedClusterSecurityProfileArgs

    Security profile for the container service cluster.
    AzureKeyVaultKms Pulumi.AzureNative.ContainerService.Inputs.AzureKeyVaultKms
    Azure Key Vault key management service settings for the security profile.
    CustomCATrustCertificates List<string>
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    Defender Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileDefender
    Microsoft Defender settings for the security profile.
    ImageCleaner Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileImageCleaner
    Image Cleaner settings for the security profile.
    WorkloadIdentity Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileWorkloadIdentity
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    AzureKeyVaultKms AzureKeyVaultKms
    Azure Key Vault key management service settings for the security profile.
    CustomCATrustCertificates []string
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    Defender ManagedClusterSecurityProfileDefender
    Microsoft Defender settings for the security profile.
    ImageCleaner ManagedClusterSecurityProfileImageCleaner
    Image Cleaner settings for the security profile.
    WorkloadIdentity ManagedClusterSecurityProfileWorkloadIdentity
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azure_key_vault_kms object
    Azure Key Vault key management service settings for the security profile.
    custom_ca_trust_certificates list(string)
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender object
    Microsoft Defender settings for the security profile.
    image_cleaner object
    Image Cleaner settings for the security profile.
    workload_identity object
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azureKeyVaultKms AzureKeyVaultKms
    Azure Key Vault key management service settings for the security profile.
    customCATrustCertificates List<String>
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender ManagedClusterSecurityProfileDefender
    Microsoft Defender settings for the security profile.
    imageCleaner ManagedClusterSecurityProfileImageCleaner
    Image Cleaner settings for the security profile.
    workloadIdentity ManagedClusterSecurityProfileWorkloadIdentity
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azureKeyVaultKms AzureKeyVaultKms
    Azure Key Vault key management service settings for the security profile.
    customCATrustCertificates string[]
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender ManagedClusterSecurityProfileDefender
    Microsoft Defender settings for the security profile.
    imageCleaner ManagedClusterSecurityProfileImageCleaner
    Image Cleaner settings for the security profile.
    workloadIdentity ManagedClusterSecurityProfileWorkloadIdentity
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azure_key_vault_kms AzureKeyVaultKms
    Azure Key Vault key management service settings for the security profile.
    custom_ca_trust_certificates Sequence[str]
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender ManagedClusterSecurityProfileDefender
    Microsoft Defender settings for the security profile.
    image_cleaner ManagedClusterSecurityProfileImageCleaner
    Image Cleaner settings for the security profile.
    workload_identity ManagedClusterSecurityProfileWorkloadIdentity
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azureKeyVaultKms Property Map
    Azure Key Vault key management service settings for the security profile.
    customCATrustCertificates List<String>
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender Property Map
    Microsoft Defender settings for the security profile.
    imageCleaner Property Map
    Image Cleaner settings for the security profile.
    workloadIdentity Property Map
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.

    ManagedClusterSecurityProfileDefender, ManagedClusterSecurityProfileDefenderArgs

    Microsoft Defender settings for the security profile.
    LogAnalyticsWorkspaceResourceId string
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    SecurityMonitoring Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileDefenderSecurityMonitoring
    Microsoft Defender threat detection for Cloud settings for the security profile.
    LogAnalyticsWorkspaceResourceId string
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    SecurityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring
    Microsoft Defender threat detection for Cloud settings for the security profile.
    log_analytics_workspace_resource_id string
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    security_monitoring object
    Microsoft Defender threat detection for Cloud settings for the security profile.
    logAnalyticsWorkspaceResourceId String
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring
    Microsoft Defender threat detection for Cloud settings for the security profile.
    logAnalyticsWorkspaceResourceId string
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring
    Microsoft Defender threat detection for Cloud settings for the security profile.
    log_analytics_workspace_resource_id str
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    security_monitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring
    Microsoft Defender threat detection for Cloud settings for the security profile.
    logAnalyticsWorkspaceResourceId String
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    securityMonitoring Property Map
    Microsoft Defender threat detection for Cloud settings for the security profile.

    ManagedClusterSecurityProfileDefenderResponse, ManagedClusterSecurityProfileDefenderResponseArgs

    Microsoft Defender settings for the security profile.
    LogAnalyticsWorkspaceResourceId string
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    SecurityMonitoring Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse
    Microsoft Defender threat detection for Cloud settings for the security profile.
    LogAnalyticsWorkspaceResourceId string
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    SecurityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse
    Microsoft Defender threat detection for Cloud settings for the security profile.
    log_analytics_workspace_resource_id string
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    security_monitoring object
    Microsoft Defender threat detection for Cloud settings for the security profile.
    logAnalyticsWorkspaceResourceId String
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse
    Microsoft Defender threat detection for Cloud settings for the security profile.
    logAnalyticsWorkspaceResourceId string
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse
    Microsoft Defender threat detection for Cloud settings for the security profile.
    log_analytics_workspace_resource_id str
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    security_monitoring ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse
    Microsoft Defender threat detection for Cloud settings for the security profile.
    logAnalyticsWorkspaceResourceId String
    Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.
    securityMonitoring Property Map
    Microsoft Defender threat detection for Cloud settings for the security profile.

    ManagedClusterSecurityProfileDefenderSecurityMonitoring, ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs

    Microsoft Defender settings for the security profile threat detection.
    Enabled bool
    Whether to enable Defender threat detection
    Enabled bool
    Whether to enable Defender threat detection
    enabled bool
    Whether to enable Defender threat detection
    enabled Boolean
    Whether to enable Defender threat detection
    enabled boolean
    Whether to enable Defender threat detection
    enabled bool
    Whether to enable Defender threat detection
    enabled Boolean
    Whether to enable Defender threat detection

    ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse, ManagedClusterSecurityProfileDefenderSecurityMonitoringResponseArgs

    Microsoft Defender settings for the security profile threat detection.
    Enabled bool
    Whether to enable Defender threat detection
    Enabled bool
    Whether to enable Defender threat detection
    enabled bool
    Whether to enable Defender threat detection
    enabled Boolean
    Whether to enable Defender threat detection
    enabled boolean
    Whether to enable Defender threat detection
    enabled bool
    Whether to enable Defender threat detection
    enabled Boolean
    Whether to enable Defender threat detection

    ManagedClusterSecurityProfileImageCleaner, ManagedClusterSecurityProfileImageCleanerArgs

    Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile.
    Enabled bool
    Whether to enable Image Cleaner on AKS cluster.
    IntervalHours int
    Image Cleaner scanning interval in hours.
    Enabled bool
    Whether to enable Image Cleaner on AKS cluster.
    IntervalHours int
    Image Cleaner scanning interval in hours.
    enabled bool
    Whether to enable Image Cleaner on AKS cluster.
    interval_hours number
    Image Cleaner scanning interval in hours.
    enabled Boolean
    Whether to enable Image Cleaner on AKS cluster.
    intervalHours Integer
    Image Cleaner scanning interval in hours.
    enabled boolean
    Whether to enable Image Cleaner on AKS cluster.
    intervalHours number
    Image Cleaner scanning interval in hours.
    enabled bool
    Whether to enable Image Cleaner on AKS cluster.
    interval_hours int
    Image Cleaner scanning interval in hours.
    enabled Boolean
    Whether to enable Image Cleaner on AKS cluster.
    intervalHours Number
    Image Cleaner scanning interval in hours.

    ManagedClusterSecurityProfileImageCleanerResponse, ManagedClusterSecurityProfileImageCleanerResponseArgs

    Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile.
    Enabled bool
    Whether to enable Image Cleaner on AKS cluster.
    IntervalHours int
    Image Cleaner scanning interval in hours.
    Enabled bool
    Whether to enable Image Cleaner on AKS cluster.
    IntervalHours int
    Image Cleaner scanning interval in hours.
    enabled bool
    Whether to enable Image Cleaner on AKS cluster.
    interval_hours number
    Image Cleaner scanning interval in hours.
    enabled Boolean
    Whether to enable Image Cleaner on AKS cluster.
    intervalHours Integer
    Image Cleaner scanning interval in hours.
    enabled boolean
    Whether to enable Image Cleaner on AKS cluster.
    intervalHours number
    Image Cleaner scanning interval in hours.
    enabled bool
    Whether to enable Image Cleaner on AKS cluster.
    interval_hours int
    Image Cleaner scanning interval in hours.
    enabled Boolean
    Whether to enable Image Cleaner on AKS cluster.
    intervalHours Number
    Image Cleaner scanning interval in hours.

    ManagedClusterSecurityProfileResponse, ManagedClusterSecurityProfileResponseArgs

    Security profile for the container service cluster.
    AzureKeyVaultKms Pulumi.AzureNative.ContainerService.Inputs.AzureKeyVaultKmsResponse
    Azure Key Vault key management service settings for the security profile.
    CustomCATrustCertificates List<string>
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    Defender Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileDefenderResponse
    Microsoft Defender settings for the security profile.
    ImageCleaner Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileImageCleanerResponse
    Image Cleaner settings for the security profile.
    WorkloadIdentity Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterSecurityProfileWorkloadIdentityResponse
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    AzureKeyVaultKms AzureKeyVaultKmsResponse
    Azure Key Vault key management service settings for the security profile.
    CustomCATrustCertificates []string
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    Defender ManagedClusterSecurityProfileDefenderResponse
    Microsoft Defender settings for the security profile.
    ImageCleaner ManagedClusterSecurityProfileImageCleanerResponse
    Image Cleaner settings for the security profile.
    WorkloadIdentity ManagedClusterSecurityProfileWorkloadIdentityResponse
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azure_key_vault_kms object
    Azure Key Vault key management service settings for the security profile.
    custom_ca_trust_certificates list(string)
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender object
    Microsoft Defender settings for the security profile.
    image_cleaner object
    Image Cleaner settings for the security profile.
    workload_identity object
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azureKeyVaultKms AzureKeyVaultKmsResponse
    Azure Key Vault key management service settings for the security profile.
    customCATrustCertificates List<String>
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender ManagedClusterSecurityProfileDefenderResponse
    Microsoft Defender settings for the security profile.
    imageCleaner ManagedClusterSecurityProfileImageCleanerResponse
    Image Cleaner settings for the security profile.
    workloadIdentity ManagedClusterSecurityProfileWorkloadIdentityResponse
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azureKeyVaultKms AzureKeyVaultKmsResponse
    Azure Key Vault key management service settings for the security profile.
    customCATrustCertificates string[]
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender ManagedClusterSecurityProfileDefenderResponse
    Microsoft Defender settings for the security profile.
    imageCleaner ManagedClusterSecurityProfileImageCleanerResponse
    Image Cleaner settings for the security profile.
    workloadIdentity ManagedClusterSecurityProfileWorkloadIdentityResponse
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azure_key_vault_kms AzureKeyVaultKmsResponse
    Azure Key Vault key management service settings for the security profile.
    custom_ca_trust_certificates Sequence[str]
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender ManagedClusterSecurityProfileDefenderResponse
    Microsoft Defender settings for the security profile.
    image_cleaner ManagedClusterSecurityProfileImageCleanerResponse
    Image Cleaner settings for the security profile.
    workload_identity ManagedClusterSecurityProfileWorkloadIdentityResponse
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.
    azureKeyVaultKms Property Map
    Azure Key Vault key management service settings for the security profile.
    customCATrustCertificates List<String>
    A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates.
    defender Property Map
    Microsoft Defender settings for the security profile.
    imageCleaner Property Map
    Image Cleaner settings for the security profile.
    workloadIdentity Property Map
    Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details.

    ManagedClusterSecurityProfileWorkloadIdentity, ManagedClusterSecurityProfileWorkloadIdentityArgs

    Workload identity settings for the security profile.
    Enabled bool
    Whether to enable workload identity.
    Enabled bool
    Whether to enable workload identity.
    enabled bool
    Whether to enable workload identity.
    enabled Boolean
    Whether to enable workload identity.
    enabled boolean
    Whether to enable workload identity.
    enabled bool
    Whether to enable workload identity.
    enabled Boolean
    Whether to enable workload identity.

    ManagedClusterSecurityProfileWorkloadIdentityResponse, ManagedClusterSecurityProfileWorkloadIdentityResponseArgs

    Workload identity settings for the security profile.
    Enabled bool
    Whether to enable workload identity.
    Enabled bool
    Whether to enable workload identity.
    enabled bool
    Whether to enable workload identity.
    enabled Boolean
    Whether to enable workload identity.
    enabled boolean
    Whether to enable workload identity.
    enabled bool
    Whether to enable workload identity.
    enabled Boolean
    Whether to enable workload identity.

    ManagedClusterServicePrincipalProfile, ManagedClusterServicePrincipalProfileArgs

    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    ClientId string
    The ID for the service principal.
    Secret string
    The secret password associated with the service principal in plain text.
    ClientId string
    The ID for the service principal.
    Secret string
    The secret password associated with the service principal in plain text.
    client_id string
    The ID for the service principal.
    secret string
    The secret password associated with the service principal in plain text.
    clientId String
    The ID for the service principal.
    secret String
    The secret password associated with the service principal in plain text.
    clientId string
    The ID for the service principal.
    secret string
    The secret password associated with the service principal in plain text.
    client_id str
    The ID for the service principal.
    secret str
    The secret password associated with the service principal in plain text.
    clientId String
    The ID for the service principal.
    secret String
    The secret password associated with the service principal in plain text.

    ManagedClusterServicePrincipalProfileResponse, ManagedClusterServicePrincipalProfileResponseArgs

    Information about a service principal identity for the cluster to use for manipulating Azure APIs.
    ClientId string
    The ID for the service principal.
    Secret string
    The secret password associated with the service principal in plain text.
    ClientId string
    The ID for the service principal.
    Secret string
    The secret password associated with the service principal in plain text.
    client_id string
    The ID for the service principal.
    secret string
    The secret password associated with the service principal in plain text.
    clientId String
    The ID for the service principal.
    secret String
    The secret password associated with the service principal in plain text.
    clientId string
    The ID for the service principal.
    secret string
    The secret password associated with the service principal in plain text.
    client_id str
    The ID for the service principal.
    secret str
    The secret password associated with the service principal in plain text.
    clientId String
    The ID for the service principal.
    secret String
    The secret password associated with the service principal in plain text.

    ManagedClusterStaticEgressGatewayProfile, ManagedClusterStaticEgressGatewayProfileArgs

    The Static Egress Gateway addon configuration for the cluster.
    Enabled bool
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    Enabled bool
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled bool
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled Boolean
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled boolean
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled bool
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled Boolean
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.

    ManagedClusterStaticEgressGatewayProfileResponse, ManagedClusterStaticEgressGatewayProfileResponseArgs

    The Static Egress Gateway addon configuration for the cluster.
    Enabled bool
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    Enabled bool
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled bool
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled Boolean
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled boolean
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled bool
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.
    enabled Boolean
    Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not.

    ManagedClusterStatusResponse, ManagedClusterStatusResponseArgs

    Contains read-only information about the Managed Cluster.
    ProvisioningError Pulumi.AzureNative.ContainerService.Inputs.ErrorDetailResponse
    The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.
    ProvisioningError ErrorDetailResponse
    The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioning_error object
    The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioningError ErrorDetailResponse
    The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioningError ErrorDetailResponse
    The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioning_error ErrorDetailResponse
    The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.
    provisioningError Property Map
    The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.

    ManagedClusterStorageProfile, ManagedClusterStorageProfileArgs

    Storage profile for the container service cluster.
    BlobCSIDriver ManagedClusterStorageProfileBlobCSIDriver
    AzureBlob CSI Driver settings for the storage profile.
    DiskCSIDriver ManagedClusterStorageProfileDiskCSIDriver
    AzureDisk CSI Driver settings for the storage profile.
    FileCSIDriver ManagedClusterStorageProfileFileCSIDriver
    AzureFile CSI Driver settings for the storage profile.
    SnapshotController ManagedClusterStorageProfileSnapshotController
    Snapshot Controller settings for the storage profile.
    blob_csi_driver object
    AzureBlob CSI Driver settings for the storage profile.
    disk_csi_driver object
    AzureDisk CSI Driver settings for the storage profile.
    file_csi_driver object
    AzureFile CSI Driver settings for the storage profile.
    snapshot_controller object
    Snapshot Controller settings for the storage profile.
    blobCSIDriver ManagedClusterStorageProfileBlobCSIDriver
    AzureBlob CSI Driver settings for the storage profile.
    diskCSIDriver ManagedClusterStorageProfileDiskCSIDriver
    AzureDisk CSI Driver settings for the storage profile.
    fileCSIDriver ManagedClusterStorageProfileFileCSIDriver
    AzureFile CSI Driver settings for the storage profile.
    snapshotController ManagedClusterStorageProfileSnapshotController
    Snapshot Controller settings for the storage profile.
    blobCSIDriver ManagedClusterStorageProfileBlobCSIDriver
    AzureBlob CSI Driver settings for the storage profile.
    diskCSIDriver ManagedClusterStorageProfileDiskCSIDriver
    AzureDisk CSI Driver settings for the storage profile.
    fileCSIDriver ManagedClusterStorageProfileFileCSIDriver
    AzureFile CSI Driver settings for the storage profile.
    snapshotController ManagedClusterStorageProfileSnapshotController
    Snapshot Controller settings for the storage profile.
    blob_csi_driver ManagedClusterStorageProfileBlobCSIDriver
    AzureBlob CSI Driver settings for the storage profile.
    disk_csi_driver ManagedClusterStorageProfileDiskCSIDriver
    AzureDisk CSI Driver settings for the storage profile.
    file_csi_driver ManagedClusterStorageProfileFileCSIDriver
    AzureFile CSI Driver settings for the storage profile.
    snapshot_controller ManagedClusterStorageProfileSnapshotController
    Snapshot Controller settings for the storage profile.
    blobCSIDriver Property Map
    AzureBlob CSI Driver settings for the storage profile.
    diskCSIDriver Property Map
    AzureDisk CSI Driver settings for the storage profile.
    fileCSIDriver Property Map
    AzureFile CSI Driver settings for the storage profile.
    snapshotController Property Map
    Snapshot Controller settings for the storage profile.

    ManagedClusterStorageProfileBlobCSIDriver, ManagedClusterStorageProfileBlobCSIDriverArgs

    AzureBlob CSI Driver settings for the storage profile.
    Enabled bool
    Whether to enable AzureBlob CSI Driver. The default value is false.
    Enabled bool
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled bool
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled Boolean
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled boolean
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled bool
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled Boolean
    Whether to enable AzureBlob CSI Driver. The default value is false.

    ManagedClusterStorageProfileBlobCSIDriverResponse, ManagedClusterStorageProfileBlobCSIDriverResponseArgs

    AzureBlob CSI Driver settings for the storage profile.
    Enabled bool
    Whether to enable AzureBlob CSI Driver. The default value is false.
    Enabled bool
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled bool
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled Boolean
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled boolean
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled bool
    Whether to enable AzureBlob CSI Driver. The default value is false.
    enabled Boolean
    Whether to enable AzureBlob CSI Driver. The default value is false.

    ManagedClusterStorageProfileDiskCSIDriver, ManagedClusterStorageProfileDiskCSIDriverArgs

    AzureDisk CSI Driver settings for the storage profile.
    Enabled bool
    Whether to enable AzureDisk CSI Driver. The default value is true.
    Enabled bool
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled bool
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled Boolean
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled boolean
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled bool
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled Boolean
    Whether to enable AzureDisk CSI Driver. The default value is true.

    ManagedClusterStorageProfileDiskCSIDriverResponse, ManagedClusterStorageProfileDiskCSIDriverResponseArgs

    AzureDisk CSI Driver settings for the storage profile.
    Enabled bool
    Whether to enable AzureDisk CSI Driver. The default value is true.
    Enabled bool
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled bool
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled Boolean
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled boolean
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled bool
    Whether to enable AzureDisk CSI Driver. The default value is true.
    enabled Boolean
    Whether to enable AzureDisk CSI Driver. The default value is true.

    ManagedClusterStorageProfileFileCSIDriver, ManagedClusterStorageProfileFileCSIDriverArgs

    AzureFile CSI Driver settings for the storage profile.
    Enabled bool
    Whether to enable AzureFile CSI Driver. The default value is true.
    Enabled bool
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled bool
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled Boolean
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled boolean
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled bool
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled Boolean
    Whether to enable AzureFile CSI Driver. The default value is true.

    ManagedClusterStorageProfileFileCSIDriverResponse, ManagedClusterStorageProfileFileCSIDriverResponseArgs

    AzureFile CSI Driver settings for the storage profile.
    Enabled bool
    Whether to enable AzureFile CSI Driver. The default value is true.
    Enabled bool
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled bool
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled Boolean
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled boolean
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled bool
    Whether to enable AzureFile CSI Driver. The default value is true.
    enabled Boolean
    Whether to enable AzureFile CSI Driver. The default value is true.

    ManagedClusterStorageProfileResponse, ManagedClusterStorageProfileResponseArgs

    Storage profile for the container service cluster.
    BlobCSIDriver ManagedClusterStorageProfileBlobCSIDriverResponse
    AzureBlob CSI Driver settings for the storage profile.
    DiskCSIDriver ManagedClusterStorageProfileDiskCSIDriverResponse
    AzureDisk CSI Driver settings for the storage profile.
    FileCSIDriver ManagedClusterStorageProfileFileCSIDriverResponse
    AzureFile CSI Driver settings for the storage profile.
    SnapshotController ManagedClusterStorageProfileSnapshotControllerResponse
    Snapshot Controller settings for the storage profile.
    blob_csi_driver object
    AzureBlob CSI Driver settings for the storage profile.
    disk_csi_driver object
    AzureDisk CSI Driver settings for the storage profile.
    file_csi_driver object
    AzureFile CSI Driver settings for the storage profile.
    snapshot_controller object
    Snapshot Controller settings for the storage profile.
    blobCSIDriver ManagedClusterStorageProfileBlobCSIDriverResponse
    AzureBlob CSI Driver settings for the storage profile.
    diskCSIDriver ManagedClusterStorageProfileDiskCSIDriverResponse
    AzureDisk CSI Driver settings for the storage profile.
    fileCSIDriver ManagedClusterStorageProfileFileCSIDriverResponse
    AzureFile CSI Driver settings for the storage profile.
    snapshotController ManagedClusterStorageProfileSnapshotControllerResponse
    Snapshot Controller settings for the storage profile.
    blobCSIDriver ManagedClusterStorageProfileBlobCSIDriverResponse
    AzureBlob CSI Driver settings for the storage profile.
    diskCSIDriver ManagedClusterStorageProfileDiskCSIDriverResponse
    AzureDisk CSI Driver settings for the storage profile.
    fileCSIDriver ManagedClusterStorageProfileFileCSIDriverResponse
    AzureFile CSI Driver settings for the storage profile.
    snapshotController ManagedClusterStorageProfileSnapshotControllerResponse
    Snapshot Controller settings for the storage profile.
    blob_csi_driver ManagedClusterStorageProfileBlobCSIDriverResponse
    AzureBlob CSI Driver settings for the storage profile.
    disk_csi_driver ManagedClusterStorageProfileDiskCSIDriverResponse
    AzureDisk CSI Driver settings for the storage profile.
    file_csi_driver ManagedClusterStorageProfileFileCSIDriverResponse
    AzureFile CSI Driver settings for the storage profile.
    snapshot_controller ManagedClusterStorageProfileSnapshotControllerResponse
    Snapshot Controller settings for the storage profile.
    blobCSIDriver Property Map
    AzureBlob CSI Driver settings for the storage profile.
    diskCSIDriver Property Map
    AzureDisk CSI Driver settings for the storage profile.
    fileCSIDriver Property Map
    AzureFile CSI Driver settings for the storage profile.
    snapshotController Property Map
    Snapshot Controller settings for the storage profile.

    ManagedClusterStorageProfileSnapshotController, ManagedClusterStorageProfileSnapshotControllerArgs

    Snapshot Controller settings for the storage profile.
    Enabled bool
    Whether to enable Snapshot Controller. The default value is true.
    Enabled bool
    Whether to enable Snapshot Controller. The default value is true.
    enabled bool
    Whether to enable Snapshot Controller. The default value is true.
    enabled Boolean
    Whether to enable Snapshot Controller. The default value is true.
    enabled boolean
    Whether to enable Snapshot Controller. The default value is true.
    enabled bool
    Whether to enable Snapshot Controller. The default value is true.
    enabled Boolean
    Whether to enable Snapshot Controller. The default value is true.

    ManagedClusterStorageProfileSnapshotControllerResponse, ManagedClusterStorageProfileSnapshotControllerResponseArgs

    Snapshot Controller settings for the storage profile.
    Enabled bool
    Whether to enable Snapshot Controller. The default value is true.
    Enabled bool
    Whether to enable Snapshot Controller. The default value is true.
    enabled bool
    Whether to enable Snapshot Controller. The default value is true.
    enabled Boolean
    Whether to enable Snapshot Controller. The default value is true.
    enabled boolean
    Whether to enable Snapshot Controller. The default value is true.
    enabled bool
    Whether to enable Snapshot Controller. The default value is true.
    enabled Boolean
    Whether to enable Snapshot Controller. The default value is true.

    ManagedClusterWindowsProfile, ManagedClusterWindowsProfileArgs

    Profile for Windows VMs in the managed cluster.
    AdminUsername string
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    AdminPassword string
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    EnableCSIProxy bool
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    GmsaProfile Pulumi.AzureNative.ContainerService.Inputs.WindowsGmsaProfile
    The Windows gMSA Profile in the Managed Cluster.
    LicenseType string | Pulumi.AzureNative.ContainerService.LicenseType
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    AdminUsername string
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    AdminPassword string
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    EnableCSIProxy bool
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    GmsaProfile WindowsGmsaProfile
    The Windows gMSA Profile in the Managed Cluster.
    LicenseType string | LicenseType
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    admin_username string
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    admin_password string
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    enable_csi_proxy bool
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    gmsa_profile object
    The Windows gMSA Profile in the Managed Cluster.
    license_type string | "None" | "Windows_Server"
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    adminUsername String
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    adminPassword String
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    enableCSIProxy Boolean
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    gmsaProfile WindowsGmsaProfile
    The Windows gMSA Profile in the Managed Cluster.
    licenseType String | LicenseType
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    adminUsername string
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    adminPassword string
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    enableCSIProxy boolean
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    gmsaProfile WindowsGmsaProfile
    The Windows gMSA Profile in the Managed Cluster.
    licenseType string | LicenseType
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    admin_username str
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    admin_password str
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    enable_csi_proxy bool
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    gmsa_profile WindowsGmsaProfile
    The Windows gMSA Profile in the Managed Cluster.
    license_type str | LicenseType
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    adminUsername String
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    adminPassword String
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    enableCSIProxy Boolean
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    gmsaProfile Property Map
    The Windows gMSA Profile in the Managed Cluster.
    licenseType String | "None" | "Windows_Server"
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.

    ManagedClusterWindowsProfileResponse, ManagedClusterWindowsProfileResponseArgs

    Profile for Windows VMs in the managed cluster.
    AdminUsername string
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    AdminPassword string
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    EnableCSIProxy bool
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    GmsaProfile Pulumi.AzureNative.ContainerService.Inputs.WindowsGmsaProfileResponse
    The Windows gMSA Profile in the Managed Cluster.
    LicenseType string
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    AdminUsername string
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    AdminPassword string
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    EnableCSIProxy bool
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    GmsaProfile WindowsGmsaProfileResponse
    The Windows gMSA Profile in the Managed Cluster.
    LicenseType string
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    admin_username string
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    admin_password string
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    enable_csi_proxy bool
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    gmsa_profile object
    The Windows gMSA Profile in the Managed Cluster.
    license_type string
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    adminUsername String
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    adminPassword String
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    enableCSIProxy Boolean
    Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo.
    gmsaProfile WindowsGmsaProfileResponse
    The Windows gMSA Profile in the Managed Cluster.
    licenseType String
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.
    adminUsername string
    Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length: 1 character Max-length: 20 characters
    adminPassword string
    Specifies the password of the administrator account. Minimum-length: 8 characters Max-length: 123 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
    enableCSIProxy