1. Packages
  2. Azure Native
  3. API Docs
  4. containerservice
  5. ManagedCluster
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.37.0 published on Monday, Apr 15, 2024 by Pulumi

azure-native.containerservice.ManagedCluster

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.37.0 published on Monday, Apr 15, 2024 by Pulumi

    Managed cluster. Azure REST API version: 2023-04-01. Prior API version in Azure Native 1.x: 2021-03-01.

    Other available API versions: 2017-08-31, 2019-02-01, 2019-06-01, 2021-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.

    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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = false,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count: pulumi.Int(3),
    					CreationData: &containerservice.CreationDataArgs{
    						SourceResourceId: pulumi.String("/subscriptions/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(false),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .creationData(CreationDataArgs.builder()
                        .sourceResourceId("/subscriptions/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(false)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            count=3,
            creation_data=azure_native.containerservice.CreationDataArgs(
                source_resource_id="/subscriptions/subid1/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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=False,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: false,
        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",
        },
    });
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              creationData:
                sourceResourceId: /subscriptions/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: false
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_sku=azure_native.containerservice.LoadBalancerSku.STANDARD,
            nat_gateway_profile=azure_native.containerservice.ManagedClusterNATGatewayProfileArgs(
                managed_outbound_ip_profile=azure_native.containerservice.ManagedClusterManagedOutboundIPProfileArgs(
                    count=2,
                ),
            ),
            outbound_type=azure_native.containerservice.OutboundType.MANAGED_NAT_GATEWAY,
        ),
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles(Map.of("azureKeyvaultSecretsProvider", Map.ofEntries(
                    Map.entry("config", Map.ofEntries(
                        Map.entry("enableSecretRotation", "true"),
                        Map.entry("rotationPollInterval", "2m")
                    )),
                    Map.entry("enabled", true)
                )))
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={
            "azureKeyvaultSecretsProvider": azure_native.containerservice.ManagedClusterAddonProfileArgs(
                config={
                    "enableSecretRotation": "true",
                    "rotationPollInterval": "2m",
                },
                enabled=True,
            ),
        },
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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 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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = false,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    				&containerservice.ManagedClusterAgentPoolProfileArgs{
    					Count:              pulumi.Int(3),
    					EnableNodePublicIP: pulumi.Bool(true),
    					HostGroupID:        pulumi.String("/subscriptions/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(false),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .hostGroupID("/subscriptions/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(false)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            count=3,
            enable_node_public_ip=True,
            host_group_id="/subscriptions/subid1/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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=False,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: false,
        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",
        },
    });
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              hostGroupID: /subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1
              name: nodepool1
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: false
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = false,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(false),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(false)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=False,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: false,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: false
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        http_proxy_config=azure_native.containerservice.ManagedClusterHTTPProxyConfigArgs(
            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=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        http_proxy_config=azure_native.containerservice.ManagedClusterHTTPProxyConfigArgs(
            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=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterAPIServerAccessProfileArgs(
            disable_run_command=True,
        ),
        auto_scaler_profile=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            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=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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
          enablePodSecurityPolicy: true
          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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .nodePublicIPPrefixID("/subscriptions/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            count=3,
            enable_node_public_ip=True,
            mode=azure_native.containerservice.AgentPoolMode.SYSTEM,
            name="nodepool1",
            node_public_ip_prefix_id="/subscriptions/subid1/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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              nodePublicIPPrefixID: /subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix
              osType: Linux
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        http_proxy_config=azure_native.containerservice.ManagedClusterHTTPProxyConfigArgs(
            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=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
                    .count(3)
                    .enableNodePublicIP(true)
                    .mode("System")
                    .name("nodepool1")
                    .osType("Linux")
                    .proximityPlacementGroupID("/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1")
                    .type("VirtualMachineScaleSets")
                    .vmSize("Standard_DS2_v2")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1",
            type=azure_native.containerservice.AgentPoolType.VIRTUAL_MACHINE_SCALE_SETS,
            vm_size="Standard_DS2_v2",
        )],
        auto_scaler_profile=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1",
            type: azure_native.containerservice.AgentPoolType.VirtualMachineScaleSets,
            vmSize: "Standard_DS2_v2",
        }],
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        diskEncryptionSetID: "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    resources:
      managedCluster:
        type: azure-native:containerservice:ManagedCluster
        properties:
          addonProfiles: {}
          agentPoolProfiles:
            - count: 3
              enableNodePublicIP: true
              mode: System
              name: nodepool1
              osType: Linux
              proximityPlacementGroupID: /subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1
              type: VirtualMachineScaleSets
              vmSize: Standard_DS2_v2
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          diskEncryptionSetID: /subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    count=2,
                ),
            ),
            load_balancer_sku=azure_native.containerservice.LoadBalancerSku.STANDARD,
            outbound_type=azure_native.containerservice.OutboundType.LOAD_BALANCER,
        ),
        pod_identity_profile=azure_native.containerservice.ManagedClusterPodIdentityProfileArgs(
            allow_network_plugin_kubenet=True,
            enabled=True,
        ),
        resource_group_name="rg1",
        resource_name_="clustername1",
        service_principal_profile=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterAPIServerAccessProfileArgs(
            disable_run_command=True,
        ),
        auto_scaler_profile=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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
          enablePodSecurityPolicy: true
          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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var 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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterSecurityProfileArgs(
            defender=azure_native.containerservice.ManagedClusterSecurityProfileDefenderArgs(
                log_analytics_workspace_resource_id="/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME",
                security_monitoring=azure_native.containerservice.ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs(
                    enabled=True,
                ),
            ),
            workload_identity=azure_native.containerservice.ManagedClusterSecurityProfileWorkloadIdentityArgs(
                enabled=True,
            ),
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        })
    
    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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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 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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterAPIServerAccessProfileArgs(
            enable_private_cluster=True,
            enable_private_cluster_public_fqdn=True,
        ),
        auto_scaler_profile=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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
          enablePodSecurityPolicy: true
          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/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io",
            },
            AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
            {
                ScaleDownDelayAfterAdd = "15m",
                ScanInterval = "20s",
            },
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"),
    			},
    			AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    				ScaleDownDelayAfterAdd: pulumi.String("15m"),
    				ScanInterval:           pulumi.String("20s"),
    			},
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .addonProfiles()
                .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/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io")
                    .build())
                .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
                    .scaleDownDelayAfterAdd("15m")
                    .scanInterval("20s")
                    .build())
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterAPIServerAccessProfileArgs(
            enable_private_cluster=True,
            private_dns_zone="/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io",
        ),
        auto_scaler_profile=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        enable_pod_security_policy=True,
        enable_rbac=True,
        fqdn_subdomain="domain1",
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io",
        },
        autoScalerProfile: {
            scaleDownDelayAfterAdd: "15m",
            scanInterval: "20s",
        },
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io
          autoScalerProfile:
            scaleDownDelayAfterAdd: 15m
            scanInterval: 20s
          enablePodSecurityPolicy: true
          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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
            DnsPrefix = "dnsprefix1",
            EnablePodSecurityPolicy = true,
            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 (
    	"github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2"
    	"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: nil,
    			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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des"),
    			DnsPrefix:               pulumi.String("dnsprefix1"),
    			EnablePodSecurityPolicy: pulumi.Bool(true),
    			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
    	})
    }
    
    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.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var managedCluster = new ManagedCluster("managedCluster", ManagedClusterArgs.builder()        
                .aadProfile(ManagedClusterAADProfileArgs.builder()
                    .enableAzureRBAC(true)
                    .managed(true)
                    .build())
                .addonProfiles()
                .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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des")
                .dnsPrefix("dnsprefix1")
                .enablePodSecurityPolicy(true)
                .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 pulumi
    import pulumi_azure_native as azure_native
    
    managed_cluster = azure_native.containerservice.ManagedCluster("managedCluster",
        aad_profile=azure_native.containerservice.ManagedClusterAADProfileArgs(
            enable_azure_rbac=True,
            managed=True,
        ),
        addon_profiles={},
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            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=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            scale_down_delay_after_add="15m",
            scan_interval="20s",
        ),
        disk_encryption_set_id="/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dns_prefix="dnsprefix1",
        enable_pod_security_policy=True,
        enable_rbac=True,
        kubernetes_version="",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="azureuser",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="keydata",
                )],
            ),
        ),
        location="location1",
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    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=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="clientid",
            secret="secret",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="Basic",
            tier=azure_native.containerservice.ManagedClusterSKUTier.FREE,
        ),
        tags={
            "archv2": "",
            "tier": "production",
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_password="replacePassword1234$",
            admin_username="azureuser",
        ))
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
        dnsPrefix: "dnsprefix1",
        enablePodSecurityPolicy: true,
        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",
        },
    });
    
    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/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des
          dnsPrefix: dnsprefix1
          enablePodSecurityPolicy: true
          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 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,
                       linux_profile: Optional[ContainerServiceLinuxProfileArgs] = None,
                       auto_scaler_profile: Optional[ManagedClusterPropertiesAutoScalerProfileArgs] = None,
                       api_server_access_profile: Optional[ManagedClusterAPIServerAccessProfileArgs] = None,
                       aad_profile: Optional[ManagedClusterAADProfileArgs] = None,
                       auto_upgrade_profile: Optional[ManagedClusterAutoUpgradeProfileArgs] = None,
                       location: Optional[str] = None,
                       disable_local_accounts: Optional[bool] = None,
                       disk_encryption_set_id: Optional[str] = None,
                       dns_prefix: Optional[str] = None,
                       enable_pod_security_policy: Optional[bool] = 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,
                       windows_profile: Optional[ManagedClusterWindowsProfileArgs] = None,
                       agent_pool_profiles: Optional[Sequence[ManagedClusterAgentPoolProfileArgs]] = None,
                       azure_monitor_profile: Optional[ManagedClusterAzureMonitorProfileArgs] = None,
                       network_profile: Optional[ContainerServiceNetworkProfileArgs] = None,
                       node_resource_group: Optional[str] = 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_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,
                       kubernetes_version: Optional[str] = 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.
    
    

    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.

    Example

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

    var managedClusterResource = new AzureNative.ContainerService.ManagedCluster("managedClusterResource", new()
    {
        ResourceGroupName = "string",
        LinuxProfile = new AzureNative.ContainerService.Inputs.ContainerServiceLinuxProfileArgs
        {
            AdminUsername = "string",
            Ssh = new AzureNative.ContainerService.Inputs.ContainerServiceSshConfigurationArgs
            {
                PublicKeys = new[]
                {
                    new AzureNative.ContainerService.Inputs.ContainerServiceSshPublicKeyArgs
                    {
                        KeyData = "string",
                    },
                },
            },
        },
        AutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterPropertiesAutoScalerProfileArgs
        {
            BalanceSimilarNodeGroups = "string",
            Expander = "string",
            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",
        },
        ApiServerAccessProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAPIServerAccessProfileArgs
        {
            AuthorizedIPRanges = new[]
            {
                "string",
            },
            DisableRunCommand = false,
            EnablePrivateCluster = false,
            EnablePrivateClusterPublicFQDN = false,
            PrivateDNSZone = "string",
        },
        AadProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAADProfileArgs
        {
            AdminGroupObjectIDs = new[]
            {
                "string",
            },
            ClientAppID = "string",
            EnableAzureRBAC = false,
            Managed = false,
            ServerAppID = "string",
            ServerAppSecret = "string",
            TenantID = "string",
        },
        AutoUpgradeProfile = new AzureNative.ContainerService.Inputs.ManagedClusterAutoUpgradeProfileArgs
        {
            UpgradeChannel = "string",
        },
        Location = "string",
        DisableLocalAccounts = false,
        DiskEncryptionSetID = "string",
        DnsPrefix = "string",
        EnablePodSecurityPolicy = false,
        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
        {
            Type = AzureNative.ContainerService.ResourceIdentityType.SystemAssigned,
            UserAssignedIdentities = new[]
            {
                "string",
            },
        },
        IdentityProfile = 
        {
            { "string", new AzureNative.ContainerService.Inputs.UserAssignedIdentityArgs
            {
                ClientId = "string",
                ObjectId = "string",
                ResourceId = "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",
        },
        AgentPoolProfiles = new[]
        {
            new AzureNative.ContainerService.Inputs.ManagedClusterAgentPoolProfileArgs
            {
                Name = "string",
                NodeLabels = 
                {
                    { "string", "string" },
                },
                VnetSubnetID = "string",
                EnableAutoScaling = false,
                EnableEncryptionAtHost = false,
                EnableFIPS = false,
                EnableNodePublicIP = false,
                EnableUltraSSD = false,
                GpuInstanceProfile = "string",
                NodePublicIPPrefixID = "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",
                },
                MaxCount = 0,
                MaxPods = 0,
                MinCount = 0,
                Mode = "string",
                Count = 0,
                AvailabilityZones = new[]
                {
                    "string",
                },
                HostGroupID = "string",
                CreationData = new AzureNative.ContainerService.Inputs.CreationDataArgs
                {
                    SourceResourceId = "string",
                },
                PodSubnetID = "string",
                OsDiskSizeGB = 0,
                OsDiskType = "string",
                OsSKU = "string",
                OsType = "string",
                OrchestratorVersion = "string",
                PowerState = new AzureNative.ContainerService.Inputs.PowerStateArgs
                {
                    Code = "string",
                },
                ProximityPlacementGroupID = "string",
                ScaleDownMode = "string",
                ScaleSetEvictionPolicy = "string",
                ScaleSetPriority = "string",
                SpotMaxPrice = 0,
                Tags = 
                {
                    { "string", "string" },
                },
                Type = "string",
                UpgradeSettings = new AzureNative.ContainerService.Inputs.AgentPoolUpgradeSettingsArgs
                {
                    MaxSurge = "string",
                },
                VmSize = "string",
                NodeTaints = new[]
                {
                    "string",
                },
                WorkloadRuntime = "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",
                },
            },
        },
        NetworkProfile = new AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfileArgs
        {
            DnsServiceIP = "string",
            IpFamilies = new[]
            {
                "string",
            },
            LoadBalancerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterLoadBalancerProfileArgs
            {
                AllocatedOutboundPorts = 0,
                EffectiveOutboundIPs = new[]
                {
                    new AzureNative.ContainerService.Inputs.ResourceReferenceArgs
                    {
                        Id = "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
            {
                EffectiveOutboundIPs = new[]
                {
                    new AzureNative.ContainerService.Inputs.ResourceReferenceArgs
                    {
                        Id = "string",
                    },
                },
                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",
            },
        },
        NodeResourceGroup = "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",
            },
            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,
            },
        },
        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" },
        },
        KubernetesVersion = "string",
        WorkloadAutoScalerProfile = new AzureNative.ContainerService.Inputs.ManagedClusterWorkloadAutoScalerProfileArgs
        {
            Keda = new AzureNative.ContainerService.Inputs.ManagedClusterWorkloadAutoScalerProfileKedaArgs
            {
                Enabled = false,
            },
        },
    });
    
    example, err := containerservice.NewManagedCluster(ctx, "managedClusterResource", &containerservice.ManagedClusterArgs{
    ResourceGroupName: pulumi.String("string"),
    LinuxProfile: &containerservice.ContainerServiceLinuxProfileArgs{
    AdminUsername: pulumi.String("string"),
    Ssh: &containerservice.ContainerServiceSshConfigurationArgs{
    PublicKeys: containerservice.ContainerServiceSshPublicKeyArray{
    &containerservice.ContainerServiceSshPublicKeyArgs{
    KeyData: pulumi.String("string"),
    },
    },
    },
    },
    AutoScalerProfile: &containerservice.ManagedClusterPropertiesAutoScalerProfileArgs{
    BalanceSimilarNodeGroups: pulumi.String("string"),
    Expander: pulumi.String("string"),
    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"),
    },
    ApiServerAccessProfile: &containerservice.ManagedClusterAPIServerAccessProfileArgs{
    AuthorizedIPRanges: pulumi.StringArray{
    pulumi.String("string"),
    },
    DisableRunCommand: pulumi.Bool(false),
    EnablePrivateCluster: pulumi.Bool(false),
    EnablePrivateClusterPublicFQDN: pulumi.Bool(false),
    PrivateDNSZone: 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"),
    },
    AutoUpgradeProfile: &containerservice.ManagedClusterAutoUpgradeProfileArgs{
    UpgradeChannel: pulumi.String("string"),
    },
    Location: pulumi.String("string"),
    DisableLocalAccounts: pulumi.Bool(false),
    DiskEncryptionSetID: pulumi.String("string"),
    DnsPrefix: pulumi.String("string"),
    EnablePodSecurityPolicy: pulumi.Bool(false),
    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{
    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"),
    },
    },
    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"),
    },
    AgentPoolProfiles: containerservice.ManagedClusterAgentPoolProfileArray{
    &containerservice.ManagedClusterAgentPoolProfileArgs{
    Name: pulumi.String("string"),
    NodeLabels: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    VnetSubnetID: pulumi.String("string"),
    EnableAutoScaling: pulumi.Bool(false),
    EnableEncryptionAtHost: pulumi.Bool(false),
    EnableFIPS: pulumi.Bool(false),
    EnableNodePublicIP: pulumi.Bool(false),
    EnableUltraSSD: pulumi.Bool(false),
    GpuInstanceProfile: pulumi.String("string"),
    NodePublicIPPrefixID: 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"),
    },
    MaxCount: pulumi.Int(0),
    MaxPods: pulumi.Int(0),
    MinCount: pulumi.Int(0),
    Mode: pulumi.String("string"),
    Count: pulumi.Int(0),
    AvailabilityZones: pulumi.StringArray{
    pulumi.String("string"),
    },
    HostGroupID: pulumi.String("string"),
    CreationData: &containerservice.CreationDataArgs{
    SourceResourceId: pulumi.String("string"),
    },
    PodSubnetID: pulumi.String("string"),
    OsDiskSizeGB: pulumi.Int(0),
    OsDiskType: pulumi.String("string"),
    OsSKU: pulumi.String("string"),
    OsType: pulumi.String("string"),
    OrchestratorVersion: 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"),
    SpotMaxPrice: pulumi.Float64(0),
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    Type: pulumi.String("string"),
    UpgradeSettings: &containerservice.AgentPoolUpgradeSettingsArgs{
    MaxSurge: pulumi.String("string"),
    },
    VmSize: pulumi.String("string"),
    NodeTaints: pulumi.StringArray{
    pulumi.String("string"),
    },
    WorkloadRuntime: pulumi.String("string"),
    },
    },
    AzureMonitorProfile: &containerservice.ManagedClusterAzureMonitorProfileArgs{
    Metrics: &containerservice.ManagedClusterAzureMonitorProfileMetricsArgs{
    Enabled: pulumi.Bool(false),
    KubeStateMetrics: &containerservice.ManagedClusterAzureMonitorProfileKubeStateMetricsArgs{
    MetricAnnotationsAllowList: pulumi.String("string"),
    MetricLabelsAllowlist: pulumi.String("string"),
    },
    },
    },
    NetworkProfile: &containerservice.ContainerServiceNetworkProfileArgs{
    DnsServiceIP: pulumi.String("string"),
    IpFamilies: pulumi.StringArray{
    pulumi.String("string"),
    },
    LoadBalancerProfile: &containerservice.ManagedClusterLoadBalancerProfileArgs{
    AllocatedOutboundPorts: pulumi.Int(0),
    EffectiveOutboundIPs: containerservice.ResourceReferenceArray{
    &containerservice.ResourceReferenceArgs{
    Id: 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{
    EffectiveOutboundIPs: containerservice.ResourceReferenceArray{
    &containerservice.ResourceReferenceArgs{
    Id: pulumi.String("string"),
    },
    },
    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"),
    },
    },
    NodeResourceGroup: 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"),
    },
    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),
    },
    },
    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"),
    },
    KubernetesVersion: pulumi.String("string"),
    WorkloadAutoScalerProfile: &containerservice.ManagedClusterWorkloadAutoScalerProfileArgs{
    Keda: &containerservice.ManagedClusterWorkloadAutoScalerProfileKedaArgs{
    Enabled: pulumi.Bool(false),
    },
    },
    })
    
    var managedClusterResource = new ManagedCluster("managedClusterResource", ManagedClusterArgs.builder()        
        .resourceGroupName("string")
        .linuxProfile(ContainerServiceLinuxProfileArgs.builder()
            .adminUsername("string")
            .ssh(ContainerServiceSshConfigurationArgs.builder()
                .publicKeys(ContainerServiceSshPublicKeyArgs.builder()
                    .keyData("string")
                    .build())
                .build())
            .build())
        .autoScalerProfile(ManagedClusterPropertiesAutoScalerProfileArgs.builder()
            .balanceSimilarNodeGroups("string")
            .expander("string")
            .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())
        .apiServerAccessProfile(ManagedClusterAPIServerAccessProfileArgs.builder()
            .authorizedIPRanges("string")
            .disableRunCommand(false)
            .enablePrivateCluster(false)
            .enablePrivateClusterPublicFQDN(false)
            .privateDNSZone("string")
            .build())
        .aadProfile(ManagedClusterAADProfileArgs.builder()
            .adminGroupObjectIDs("string")
            .clientAppID("string")
            .enableAzureRBAC(false)
            .managed(false)
            .serverAppID("string")
            .serverAppSecret("string")
            .tenantID("string")
            .build())
        .autoUpgradeProfile(ManagedClusterAutoUpgradeProfileArgs.builder()
            .upgradeChannel("string")
            .build())
        .location("string")
        .disableLocalAccounts(false)
        .diskEncryptionSetID("string")
        .dnsPrefix("string")
        .enablePodSecurityPolicy(false)
        .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()
            .type("SystemAssigned")
            .userAssignedIdentities("string")
            .build())
        .identityProfile(Map.of("string", Map.ofEntries(
            Map.entry("clientId", "string"),
            Map.entry("objectId", "string"),
            Map.entry("resourceId", "string")
        )))
        .windowsProfile(ManagedClusterWindowsProfileArgs.builder()
            .adminUsername("string")
            .adminPassword("string")
            .enableCSIProxy(false)
            .gmsaProfile(WindowsGmsaProfileArgs.builder()
                .dnsServer("string")
                .enabled(false)
                .rootDomainName("string")
                .build())
            .licenseType("string")
            .build())
        .agentPoolProfiles(ManagedClusterAgentPoolProfileArgs.builder()
            .name("string")
            .nodeLabels(Map.of("string", "string"))
            .vnetSubnetID("string")
            .enableAutoScaling(false)
            .enableEncryptionAtHost(false)
            .enableFIPS(false)
            .enableNodePublicIP(false)
            .enableUltraSSD(false)
            .gpuInstanceProfile("string")
            .nodePublicIPPrefixID("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())
            .maxCount(0)
            .maxPods(0)
            .minCount(0)
            .mode("string")
            .count(0)
            .availabilityZones("string")
            .hostGroupID("string")
            .creationData(CreationDataArgs.builder()
                .sourceResourceId("string")
                .build())
            .podSubnetID("string")
            .osDiskSizeGB(0)
            .osDiskType("string")
            .osSKU("string")
            .osType("string")
            .orchestratorVersion("string")
            .powerState(PowerStateArgs.builder()
                .code("string")
                .build())
            .proximityPlacementGroupID("string")
            .scaleDownMode("string")
            .scaleSetEvictionPolicy("string")
            .scaleSetPriority("string")
            .spotMaxPrice(0)
            .tags(Map.of("string", "string"))
            .type("string")
            .upgradeSettings(AgentPoolUpgradeSettingsArgs.builder()
                .maxSurge("string")
                .build())
            .vmSize("string")
            .nodeTaints("string")
            .workloadRuntime("string")
            .build())
        .azureMonitorProfile(ManagedClusterAzureMonitorProfileArgs.builder()
            .metrics(ManagedClusterAzureMonitorProfileMetricsArgs.builder()
                .enabled(false)
                .kubeStateMetrics(ManagedClusterAzureMonitorProfileKubeStateMetricsArgs.builder()
                    .metricAnnotationsAllowList("string")
                    .metricLabelsAllowlist("string")
                    .build())
                .build())
            .build())
        .networkProfile(ContainerServiceNetworkProfileArgs.builder()
            .dnsServiceIP("string")
            .ipFamilies("string")
            .loadBalancerProfile(ManagedClusterLoadBalancerProfileArgs.builder()
                .allocatedOutboundPorts(0)
                .effectiveOutboundIPs(ResourceReferenceArgs.builder()
                    .id("string")
                    .build())
                .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()
                .effectiveOutboundIPs(ResourceReferenceArgs.builder()
                    .id("string")
                    .build())
                .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")
            .build())
        .nodeResourceGroup("string")
        .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", Map.ofEntries(
            Map.entry("enabled", false),
            Map.entry("config", Map.of("string", "string"))
        )))
        .resourceName("string")
        .securityProfile(ManagedClusterSecurityProfileArgs.builder()
            .azureKeyVaultKms(AzureKeyVaultKmsArgs.builder()
                .enabled(false)
                .keyId("string")
                .keyVaultNetworkAccess("string")
                .keyVaultResourceId("string")
                .build())
            .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())
        .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"))
        .kubernetesVersion("string")
        .workloadAutoScalerProfile(ManagedClusterWorkloadAutoScalerProfileArgs.builder()
            .keda(ManagedClusterWorkloadAutoScalerProfileKedaArgs.builder()
                .enabled(false)
                .build())
            .build())
        .build());
    
    managed_cluster_resource = azure_native.containerservice.ManagedCluster("managedClusterResource",
        resource_group_name="string",
        linux_profile=azure_native.containerservice.ContainerServiceLinuxProfileArgs(
            admin_username="string",
            ssh=azure_native.containerservice.ContainerServiceSshConfigurationArgs(
                public_keys=[azure_native.containerservice.ContainerServiceSshPublicKeyArgs(
                    key_data="string",
                )],
            ),
        ),
        auto_scaler_profile=azure_native.containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
            balance_similar_node_groups="string",
            expander="string",
            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",
        ),
        api_server_access_profile=azure_native.containerservice.ManagedClusterAPIServerAccessProfileArgs(
            authorized_ip_ranges=["string"],
            disable_run_command=False,
            enable_private_cluster=False,
            enable_private_cluster_public_fqdn=False,
            private_dns_zone="string",
        ),
        aad_profile=azure_native.containerservice.ManagedClusterAADProfileArgs(
            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",
        ),
        auto_upgrade_profile=azure_native.containerservice.ManagedClusterAutoUpgradeProfileArgs(
            upgrade_channel="string",
        ),
        location="string",
        disable_local_accounts=False,
        disk_encryption_set_id="string",
        dns_prefix="string",
        enable_pod_security_policy=False,
        enable_rbac=False,
        extended_location=azure_native.containerservice.ExtendedLocationArgs(
            name="string",
            type="string",
        ),
        fqdn_subdomain="string",
        http_proxy_config=azure_native.containerservice.ManagedClusterHTTPProxyConfigArgs(
            http_proxy="string",
            https_proxy="string",
            no_proxy=["string"],
            trusted_ca="string",
        ),
        identity=azure_native.containerservice.ManagedClusterIdentityArgs(
            type=azure_native.containerservice.ResourceIdentityType.SYSTEM_ASSIGNED,
            user_assigned_identities=["string"],
        ),
        identity_profile={
            "string": azure_native.containerservice.UserAssignedIdentityArgs(
                client_id="string",
                object_id="string",
                resource_id="string",
            ),
        },
        windows_profile=azure_native.containerservice.ManagedClusterWindowsProfileArgs(
            admin_username="string",
            admin_password="string",
            enable_csi_proxy=False,
            gmsa_profile=azure_native.containerservice.WindowsGmsaProfileArgs(
                dns_server="string",
                enabled=False,
                root_domain_name="string",
            ),
            license_type="string",
        ),
        agent_pool_profiles=[azure_native.containerservice.ManagedClusterAgentPoolProfileArgs(
            name="string",
            node_labels={
                "string": "string",
            },
            vnet_subnet_id="string",
            enable_auto_scaling=False,
            enable_encryption_at_host=False,
            enable_fips=False,
            enable_node_public_ip=False,
            enable_ultra_ssd=False,
            gpu_instance_profile="string",
            node_public_ip_prefix_id="string",
            kubelet_config=azure_native.containerservice.KubeletConfigArgs(
                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=azure_native.containerservice.LinuxOSConfigArgs(
                swap_file_size_mb=0,
                sysctls=azure_native.containerservice.SysctlConfigArgs(
                    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",
            ),
            max_count=0,
            max_pods=0,
            min_count=0,
            mode="string",
            count=0,
            availability_zones=["string"],
            host_group_id="string",
            creation_data=azure_native.containerservice.CreationDataArgs(
                source_resource_id="string",
            ),
            pod_subnet_id="string",
            os_disk_size_gb=0,
            os_disk_type="string",
            os_sku="string",
            os_type="string",
            orchestrator_version="string",
            power_state=azure_native.containerservice.PowerStateArgs(
                code="string",
            ),
            proximity_placement_group_id="string",
            scale_down_mode="string",
            scale_set_eviction_policy="string",
            scale_set_priority="string",
            spot_max_price=0,
            tags={
                "string": "string",
            },
            type="string",
            upgrade_settings=azure_native.containerservice.AgentPoolUpgradeSettingsArgs(
                max_surge="string",
            ),
            vm_size="string",
            node_taints=["string"],
            workload_runtime="string",
        )],
        azure_monitor_profile=azure_native.containerservice.ManagedClusterAzureMonitorProfileArgs(
            metrics=azure_native.containerservice.ManagedClusterAzureMonitorProfileMetricsArgs(
                enabled=False,
                kube_state_metrics=azure_native.containerservice.ManagedClusterAzureMonitorProfileKubeStateMetricsArgs(
                    metric_annotations_allow_list="string",
                    metric_labels_allowlist="string",
                ),
            ),
        ),
        network_profile=azure_native.containerservice.ContainerServiceNetworkProfileArgs(
            dns_service_ip="string",
            ip_families=["string"],
            load_balancer_profile=azure_native.containerservice.ManagedClusterLoadBalancerProfileArgs(
                allocated_outbound_ports=0,
                effective_outbound_ips=[azure_native.containerservice.ResourceReferenceArgs(
                    id="string",
                )],
                enable_multiple_standard_load_balancers=False,
                idle_timeout_in_minutes=0,
                managed_outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(
                    count=0,
                    count_i_pv6=0,
                ),
                outbound_ip_prefixes=azure_native.containerservice.ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs(
                    public_ip_prefixes=[azure_native.containerservice.ResourceReferenceArgs(
                        id="string",
                    )],
                ),
                outbound_ips=azure_native.containerservice.ManagedClusterLoadBalancerProfileOutboundIPsArgs(
                    public_ips=[azure_native.containerservice.ResourceReferenceArgs(
                        id="string",
                    )],
                ),
            ),
            load_balancer_sku="string",
            nat_gateway_profile=azure_native.containerservice.ManagedClusterNATGatewayProfileArgs(
                effective_outbound_ips=[azure_native.containerservice.ResourceReferenceArgs(
                    id="string",
                )],
                idle_timeout_in_minutes=0,
                managed_outbound_ip_profile=azure_native.containerservice.ManagedClusterManagedOutboundIPProfileArgs(
                    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"],
        ),
        node_resource_group="string",
        oidc_issuer_profile=azure_native.containerservice.ManagedClusterOIDCIssuerProfileArgs(
            enabled=False,
        ),
        pod_identity_profile=azure_native.containerservice.ManagedClusterPodIdentityProfileArgs(
            allow_network_plugin_kubenet=False,
            enabled=False,
            user_assigned_identities=[azure_native.containerservice.ManagedClusterPodIdentityArgs(
                identity=azure_native.containerservice.UserAssignedIdentityArgs(
                    client_id="string",
                    object_id="string",
                    resource_id="string",
                ),
                name="string",
                namespace="string",
                binding_selector="string",
            )],
            user_assigned_identity_exceptions=[azure_native.containerservice.ManagedClusterPodIdentityExceptionArgs(
                name="string",
                namespace="string",
                pod_labels={
                    "string": "string",
                },
            )],
        ),
        private_link_resources=[azure_native.containerservice.PrivateLinkResourceArgs(
            group_id="string",
            id="string",
            name="string",
            required_members=["string"],
            type="string",
        )],
        public_network_access="string",
        addon_profiles={
            "string": azure_native.containerservice.ManagedClusterAddonProfileArgs(
                enabled=False,
                config={
                    "string": "string",
                },
            ),
        },
        resource_name_="string",
        security_profile=azure_native.containerservice.ManagedClusterSecurityProfileArgs(
            azure_key_vault_kms=azure_native.containerservice.AzureKeyVaultKmsArgs(
                enabled=False,
                key_id="string",
                key_vault_network_access="string",
                key_vault_resource_id="string",
            ),
            defender=azure_native.containerservice.ManagedClusterSecurityProfileDefenderArgs(
                log_analytics_workspace_resource_id="string",
                security_monitoring=azure_native.containerservice.ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs(
                    enabled=False,
                ),
            ),
            image_cleaner=azure_native.containerservice.ManagedClusterSecurityProfileImageCleanerArgs(
                enabled=False,
                interval_hours=0,
            ),
            workload_identity=azure_native.containerservice.ManagedClusterSecurityProfileWorkloadIdentityArgs(
                enabled=False,
            ),
        ),
        service_principal_profile=azure_native.containerservice.ManagedClusterServicePrincipalProfileArgs(
            client_id="string",
            secret="string",
        ),
        sku=azure_native.containerservice.ManagedClusterSKUArgs(
            name="string",
            tier="string",
        ),
        storage_profile=azure_native.containerservice.ManagedClusterStorageProfileArgs(
            blob_csi_driver=azure_native.containerservice.ManagedClusterStorageProfileBlobCSIDriverArgs(
                enabled=False,
            ),
            disk_csi_driver=azure_native.containerservice.ManagedClusterStorageProfileDiskCSIDriverArgs(
                enabled=False,
            ),
            file_csi_driver=azure_native.containerservice.ManagedClusterStorageProfileFileCSIDriverArgs(
                enabled=False,
            ),
            snapshot_controller=azure_native.containerservice.ManagedClusterStorageProfileSnapshotControllerArgs(
                enabled=False,
            ),
        ),
        support_plan="string",
        tags={
            "string": "string",
        },
        kubernetes_version="string",
        workload_auto_scaler_profile=azure_native.containerservice.ManagedClusterWorkloadAutoScalerProfileArgs(
            keda=azure_native.containerservice.ManagedClusterWorkloadAutoScalerProfileKedaArgs(
                enabled=False,
            ),
        ))
    
    const managedClusterResource = new azure_native.containerservice.ManagedCluster("managedClusterResource", {
        resourceGroupName: "string",
        linuxProfile: {
            adminUsername: "string",
            ssh: {
                publicKeys: [{
                    keyData: "string",
                }],
            },
        },
        autoScalerProfile: {
            balanceSimilarNodeGroups: "string",
            expander: "string",
            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",
        },
        apiServerAccessProfile: {
            authorizedIPRanges: ["string"],
            disableRunCommand: false,
            enablePrivateCluster: false,
            enablePrivateClusterPublicFQDN: false,
            privateDNSZone: "string",
        },
        aadProfile: {
            adminGroupObjectIDs: ["string"],
            clientAppID: "string",
            enableAzureRBAC: false,
            managed: false,
            serverAppID: "string",
            serverAppSecret: "string",
            tenantID: "string",
        },
        autoUpgradeProfile: {
            upgradeChannel: "string",
        },
        location: "string",
        disableLocalAccounts: false,
        diskEncryptionSetID: "string",
        dnsPrefix: "string",
        enablePodSecurityPolicy: false,
        enableRBAC: false,
        extendedLocation: {
            name: "string",
            type: "string",
        },
        fqdnSubdomain: "string",
        httpProxyConfig: {
            httpProxy: "string",
            httpsProxy: "string",
            noProxy: ["string"],
            trustedCa: "string",
        },
        identity: {
            type: azure_native.containerservice.ResourceIdentityType.SystemAssigned,
            userAssignedIdentities: ["string"],
        },
        identityProfile: {
            string: {
                clientId: "string",
                objectId: "string",
                resourceId: "string",
            },
        },
        windowsProfile: {
            adminUsername: "string",
            adminPassword: "string",
            enableCSIProxy: false,
            gmsaProfile: {
                dnsServer: "string",
                enabled: false,
                rootDomainName: "string",
            },
            licenseType: "string",
        },
        agentPoolProfiles: [{
            name: "string",
            nodeLabels: {
                string: "string",
            },
            vnetSubnetID: "string",
            enableAutoScaling: false,
            enableEncryptionAtHost: false,
            enableFIPS: false,
            enableNodePublicIP: false,
            enableUltraSSD: false,
            gpuInstanceProfile: "string",
            nodePublicIPPrefixID: "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",
            },
            maxCount: 0,
            maxPods: 0,
            minCount: 0,
            mode: "string",
            count: 0,
            availabilityZones: ["string"],
            hostGroupID: "string",
            creationData: {
                sourceResourceId: "string",
            },
            podSubnetID: "string",
            osDiskSizeGB: 0,
            osDiskType: "string",
            osSKU: "string",
            osType: "string",
            orchestratorVersion: "string",
            powerState: {
                code: "string",
            },
            proximityPlacementGroupID: "string",
            scaleDownMode: "string",
            scaleSetEvictionPolicy: "string",
            scaleSetPriority: "string",
            spotMaxPrice: 0,
            tags: {
                string: "string",
            },
            type: "string",
            upgradeSettings: {
                maxSurge: "string",
            },
            vmSize: "string",
            nodeTaints: ["string"],
            workloadRuntime: "string",
        }],
        azureMonitorProfile: {
            metrics: {
                enabled: false,
                kubeStateMetrics: {
                    metricAnnotationsAllowList: "string",
                    metricLabelsAllowlist: "string",
                },
            },
        },
        networkProfile: {
            dnsServiceIP: "string",
            ipFamilies: ["string"],
            loadBalancerProfile: {
                allocatedOutboundPorts: 0,
                effectiveOutboundIPs: [{
                    id: "string",
                }],
                enableMultipleStandardLoadBalancers: false,
                idleTimeoutInMinutes: 0,
                managedOutboundIPs: {
                    count: 0,
                    countIPv6: 0,
                },
                outboundIPPrefixes: {
                    publicIPPrefixes: [{
                        id: "string",
                    }],
                },
                outboundIPs: {
                    publicIPs: [{
                        id: "string",
                    }],
                },
            },
            loadBalancerSku: "string",
            natGatewayProfile: {
                effectiveOutboundIPs: [{
                    id: "string",
                }],
                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"],
        },
        nodeResourceGroup: "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",
            },
            defender: {
                logAnalyticsWorkspaceResourceId: "string",
                securityMonitoring: {
                    enabled: false,
                },
            },
            imageCleaner: {
                enabled: false,
                intervalHours: 0,
            },
            workloadIdentity: {
                enabled: false,
            },
        },
        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",
        },
        kubernetesVersion: "string",
        workloadAutoScalerProfile: {
            keda: {
                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
              count: 0
              creationData:
                sourceResourceId: string
              enableAutoScaling: false
              enableEncryptionAtHost: false
              enableFIPS: false
              enableNodePublicIP: false
              enableUltraSSD: false
              gpuInstanceProfile: 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
              maxCount: 0
              maxPods: 0
              minCount: 0
              mode: string
              name: string
              nodeLabels:
                string: string
              nodePublicIPPrefixID: string
              nodeTaints:
                - string
              orchestratorVersion: string
              osDiskSizeGB: 0
              osDiskType: string
              osSKU: string
              osType: string
              podSubnetID: string
              powerState:
                code: string
              proximityPlacementGroupID: string
              scaleDownMode: string
              scaleSetEvictionPolicy: string
              scaleSetPriority: string
              spotMaxPrice: 0
              tags:
                string: string
              type: string
              upgradeSettings:
                maxSurge: string
              vmSize: string
              vnetSubnetID: string
              workloadRuntime: string
        apiServerAccessProfile:
            authorizedIPRanges:
                - string
            disableRunCommand: false
            enablePrivateCluster: false
            enablePrivateClusterPublicFQDN: false
            privateDNSZone: string
        autoScalerProfile:
            balanceSimilarNodeGroups: string
            expander: string
            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:
            upgradeChannel: string
        azureMonitorProfile:
            metrics:
                enabled: false
                kubeStateMetrics:
                    metricAnnotationsAllowList: string
                    metricLabelsAllowlist: string
        disableLocalAccounts: false
        diskEncryptionSetID: string
        dnsPrefix: string
        enablePodSecurityPolicy: false
        enableRBAC: false
        extendedLocation:
            name: string
            type: string
        fqdnSubdomain: string
        httpProxyConfig:
            httpProxy: string
            httpsProxy: string
            noProxy:
                - string
            trustedCa: string
        identity:
            type: SystemAssigned
            userAssignedIdentities:
                - string
        identityProfile:
            string:
                clientId: string
                objectId: string
                resourceId: string
        kubernetesVersion: string
        linuxProfile:
            adminUsername: string
            ssh:
                publicKeys:
                    - keyData: string
        location: string
        networkProfile:
            dnsServiceIP: string
            ipFamilies:
                - string
            loadBalancerProfile:
                allocatedOutboundPorts: 0
                effectiveOutboundIPs:
                    - id: string
                enableMultipleStandardLoadBalancers: false
                idleTimeoutInMinutes: 0
                managedOutboundIPs:
                    count: 0
                    countIPv6: 0
                outboundIPPrefixes:
                    publicIPPrefixes:
                        - id: string
                outboundIPs:
                    publicIPs:
                        - id: string
            loadBalancerSku: string
            natGatewayProfile:
                effectiveOutboundIPs:
                    - id: string
                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
        nodeResourceGroup: 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
            defender:
                logAnalyticsWorkspaceResourceId: string
                securityMonitoring:
                    enabled: false
            imageCleaner:
                enabled: false
                intervalHours: 0
            workloadIdentity:
                enabled: false
        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
        windowsProfile:
            adminPassword: string
            adminUsername: string
            enableCSIProxy: false
            gmsaProfile:
                dnsServer: string
                enabled: false
                rootDomainName: string
            licenseType: string
        workloadAutoScalerProfile:
            keda:
                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

    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.
    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.
    DisableLocalAccounts bool
    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
    This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    DnsPrefix string
    This cannot be updated once the Managed Cluster has been created.
    EnablePodSecurityPolicy bool
    (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp.
    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
    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>
    Identities associated with the cluster.
    KubernetesVersion string
    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
    NetworkProfile Pulumi.AzureNative.ContainerService.Inputs.ContainerServiceNetworkProfile
    The network configuration profile.
    NodeResourceGroup string
    The name of the resource group containing agent pool nodes.
    OidcIssuerProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterOIDCIssuerProfile
    The OIDC issuer profile of the Managed Cluster.
    PodIdentityProfile Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterPodIdentityProfile
    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
    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.
    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.
    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.
    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.
    DisableLocalAccounts bool
    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
    This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    DnsPrefix string
    This cannot be updated once the Managed Cluster has been created.
    EnablePodSecurityPolicy bool
    (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp.
    EnableRBAC bool
    Whether to enable Kubernetes Role-Based Access Control.
    ExtendedLocation ExtendedLocationArgs
    The extended location of the Virtual Machine.
    FqdnSubdomain string
    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
    Identities associated with the cluster.
    KubernetesVersion string
    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
    NetworkProfile ContainerServiceNetworkProfileArgs
    The network configuration profile.
    NodeResourceGroup string
    The name of the resource group containing agent pool nodes.
    OidcIssuerProfile ManagedClusterOIDCIssuerProfileArgs
    The OIDC issuer profile of the Managed Cluster.
    PodIdentityProfile ManagedClusterPodIdentityProfileArgs
    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
    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.
    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.
    WindowsProfile ManagedClusterWindowsProfileArgs
    The profile for Windows VMs in the Managed Cluster.
    WorkloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfileArgs
    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.
    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.
    disableLocalAccounts Boolean
    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
    This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dnsPrefix String
    This cannot be updated once the Managed Cluster has been created.
    enablePodSecurityPolicy Boolean
    (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp.
    enableRBAC Boolean
    Whether to enable Kubernetes Role-Based Access Control.
    extendedLocation ExtendedLocation
    The extended location of the Virtual Machine.
    fqdnSubdomain String
    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>
    Identities associated with the cluster.
    kubernetesVersion String
    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
    networkProfile ContainerServiceNetworkProfile
    The network configuration profile.
    nodeResourceGroup String
    The name of the resource group containing agent pool nodes.
    oidcIssuerProfile ManagedClusterOIDCIssuerProfile
    The OIDC issuer profile of the Managed Cluster.
    podIdentityProfile ManagedClusterPodIdentityProfile
    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
    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.
    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.
    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.
    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.
    disableLocalAccounts boolean
    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
    This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dnsPrefix string
    This cannot be updated once the Managed Cluster has been created.
    enablePodSecurityPolicy boolean
    (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp.
    enableRBAC boolean
    Whether to enable Kubernetes Role-Based Access Control.
    extendedLocation ExtendedLocation
    The extended location of the Virtual Machine.
    fqdnSubdomain string
    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}
    Identities associated with the cluster.
    kubernetesVersion string
    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
    networkProfile ContainerServiceNetworkProfile
    The network configuration profile.
    nodeResourceGroup string
    The name of the resource group containing agent pool nodes.
    oidcIssuerProfile ManagedClusterOIDCIssuerProfile
    The OIDC issuer profile of the Managed Cluster.
    podIdentityProfile ManagedClusterPodIdentityProfile
    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
    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.
    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.
    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.
    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.
    disable_local_accounts bool
    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
    This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dns_prefix str
    This cannot be updated once the Managed Cluster has been created.
    enable_pod_security_policy bool
    (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp.
    enable_rbac bool
    Whether to enable Kubernetes Role-Based Access Control.
    extended_location ExtendedLocationArgs
    The extended location of the Virtual Machine.
    fqdn_subdomain str
    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]
    Identities associated with the cluster.
    kubernetes_version str
    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
    network_profile ContainerServiceNetworkProfileArgs
    The network configuration profile.
    node_resource_group str
    The name of the resource group containing agent pool nodes.
    oidc_issuer_profile ManagedClusterOIDCIssuerProfileArgs
    The OIDC issuer profile of the Managed Cluster.
    pod_identity_profile ManagedClusterPodIdentityProfileArgs
    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
    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_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.
    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.
    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.
    disableLocalAccounts Boolean
    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
    This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
    dnsPrefix String
    This cannot be updated once the Managed Cluster has been created.
    enablePodSecurityPolicy Boolean
    (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp.
    enableRBAC Boolean
    Whether to enable Kubernetes Role-Based Access Control.
    extendedLocation Property Map
    The extended location of the Virtual Machine.
    fqdnSubdomain String
    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>
    Identities associated with the cluster.
    kubernetesVersion String
    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
    networkProfile Property Map
    The network configuration profile.
    nodeResourceGroup String
    The name of the resource group containing agent pool nodes.
    oidcIssuerProfile Property Map
    The OIDC issuer profile of the Managed Cluster.
    podIdentityProfile Property Map
    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"
    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.
    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.
    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:

    AzurePortalFQDN string
    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
    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.
    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.
    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"
    AzurePortalFQDN string
    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
    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.
    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.
    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"
    azurePortalFQDN String
    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
    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.
    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.
    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"
    azurePortalFQDN string
    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
    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.
    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.
    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"
    azure_portal_fqdn str
    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
    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.
    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.
    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"
    azurePortalFQDN String
    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
    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.
    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.
    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"

    Supporting Types

    AgentPoolMode, AgentPoolModeArgs

    System
    SystemSystem 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
    UserUser agent pools are primarily for hosting your application pods.
    AgentPoolModeSystem
    SystemSystem 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
    UserUser agent pools are primarily for hosting your application pods.
    System
    SystemSystem 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
    UserUser agent pools are primarily for hosting your application pods.
    System
    SystemSystem 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
    UserUser agent pools are primarily for hosting your application pods.
    SYSTEM
    SystemSystem 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
    UserUser agent pools are primarily for hosting your application pods.
    "System"
    SystemSystem 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"
    UserUser agent pools are primarily for hosting your application pods.

    AgentPoolType, AgentPoolTypeArgs

    VirtualMachineScaleSets
    VirtualMachineScaleSetsCreate an Agent Pool backed by a Virtual Machine Scale Set.
    AvailabilitySet
    AvailabilitySetUse of this is strongly discouraged.
    AgentPoolTypeVirtualMachineScaleSets
    VirtualMachineScaleSetsCreate an Agent Pool backed by a Virtual Machine Scale Set.
    AgentPoolTypeAvailabilitySet
    AvailabilitySetUse of this is strongly discouraged.
    VirtualMachineScaleSets
    VirtualMachineScaleSetsCreate an Agent Pool backed by a Virtual Machine Scale Set.
    AvailabilitySet
    AvailabilitySetUse of this is strongly discouraged.
    VirtualMachineScaleSets
    VirtualMachineScaleSetsCreate an Agent Pool backed by a Virtual Machine Scale Set.
    AvailabilitySet
    AvailabilitySetUse of this is strongly discouraged.
    VIRTUAL_MACHINE_SCALE_SETS
    VirtualMachineScaleSetsCreate an Agent Pool backed by a Virtual Machine Scale Set.
    AVAILABILITY_SET
    AvailabilitySetUse of this is strongly discouraged.
    "VirtualMachineScaleSets"
    VirtualMachineScaleSetsCreate an Agent Pool backed by a Virtual Machine Scale Set.
    "AvailabilitySet"
    AvailabilitySetUse of this is strongly discouraged.

    AgentPoolUpgradeSettings, AgentPoolUpgradeSettingsArgs

    MaxSurge string
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    MaxSurge string
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    maxSurge String
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    maxSurge string
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    max_surge str
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    maxSurge String
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade

    AgentPoolUpgradeSettingsResponse, AgentPoolUpgradeSettingsResponseArgs

    MaxSurge string
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    MaxSurge string
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    maxSurge String
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    maxSurge string
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    max_surge str
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade
    maxSurge String
    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 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade

    AzureKeyVaultKms, AzureKeyVaultKmsArgs

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

    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 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 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 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 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 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 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.

    Code, CodeArgs

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

    ContainerServiceLinuxProfile, ContainerServiceLinuxProfileArgs

    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.
    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

    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.
    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

    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>>
    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 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
    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
    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>
    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>
    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.
    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
    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 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
    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
    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
    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
    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.
    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>>
    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 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
    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
    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>
    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>
    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.
    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)[]
    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 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
    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
    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[]
    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[]
    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.
    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]]
    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 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
    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
    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]
    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]
    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.
    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">
    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 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"
    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 | "calico" | "azure" | "cilium"
    Network policy used for building the Kubernetes network.
    outboundType String | "loadBalancer" | "userDefinedRouting" | "managedNATGateway" | "userAssignedNATGateway"
    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>
    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>
    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.

    ContainerServiceNetworkProfileResponse, ContainerServiceNetworkProfileResponseArgs

    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>
    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 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
    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
    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>
    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>
    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.
    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
    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 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
    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
    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
    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
    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.
    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>
    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 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
    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
    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>
    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>
    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.
    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[]
    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 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
    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
    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[]
    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[]
    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.
    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]
    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 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
    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
    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]
    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]
    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.
    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>
    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 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
    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
    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>
    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>
    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.

    ContainerServiceSshConfiguration, ContainerServiceSshConfigurationArgs

    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.
    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

    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.
    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

    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.
    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

    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.
    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

    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.
    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

    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.
    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.

    Expander, ExpanderArgs

    Least_waste
    least-wasteSelects 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-podsSelects 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
    prioritySelects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    Random
    randomUsed when you don't have a particular need for the node groups to scale differently.
    Expander_Least_Waste
    least-wasteSelects 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-podsSelects 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
    prioritySelects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    ExpanderRandom
    randomUsed when you don't have a particular need for the node groups to scale differently.
    Leastwaste
    least-wasteSelects 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-podsSelects 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
    prioritySelects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    Random
    randomUsed when you don't have a particular need for the node groups to scale differently.
    Least_waste
    least-wasteSelects 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-podsSelects 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
    prioritySelects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    Random
    randomUsed when you don't have a particular need for the node groups to scale differently.
    LEAST_WASTE
    least-wasteSelects 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-podsSelects 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
    prioritySelects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    RANDOM
    randomUsed when you don't have a particular need for the node groups to scale differently.
    "least-waste"
    least-wasteSelects 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-podsSelects 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"
    prioritySelects the node group that has the highest priority assigned by the user. It's configuration is described in more details here.
    "random"
    randomUsed when you don't have a particular need for the node groups to scale differently.

    ExtendedLocation, ExtendedLocationArgs

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

    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
    EDGE_ZONE
    EdgeZone
    "EdgeZone"
    EdgeZone

    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

    IpFamily, IpFamilyArgs

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

    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

    KubeletConfig, KubeletConfigArgs

    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
    The default is true.
    CpuCfsQuotaPeriod string
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    ImageGcLowThreshold int
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    PodMaxPids int
    The maximum number of processes per pod.
    TopologyManagerPolicy string
    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
    The default is true.
    CpuCfsQuotaPeriod string
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    ImageGcLowThreshold int
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    PodMaxPids int
    The maximum number of processes per pod.
    TopologyManagerPolicy string
    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
    The default is true.
    cpuCfsQuotaPeriod String
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold Integer
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids Integer
    The maximum number of processes per pod.
    topologyManagerPolicy String
    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
    The default is true.
    cpuCfsQuotaPeriod string
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold number
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids number
    The maximum number of processes per pod.
    topologyManagerPolicy string
    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
    The default is true.
    cpu_cfs_quota_period str
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    image_gc_low_threshold int
    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
    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
    The default is true.
    cpuCfsQuotaPeriod String
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold Number
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids Number
    The maximum number of processes per pod.
    topologyManagerPolicy String
    For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.

    KubeletConfigResponse, KubeletConfigResponseArgs

    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
    The default is true.
    CpuCfsQuotaPeriod string
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    ImageGcLowThreshold int
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    PodMaxPids int
    The maximum number of processes per pod.
    TopologyManagerPolicy string
    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
    The default is true.
    CpuCfsQuotaPeriod string
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    ImageGcLowThreshold int
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    PodMaxPids int
    The maximum number of processes per pod.
    TopologyManagerPolicy string
    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
    The default is true.
    cpuCfsQuotaPeriod String
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold Integer
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids Integer
    The maximum number of processes per pod.
    topologyManagerPolicy String
    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
    The default is true.
    cpuCfsQuotaPeriod string
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold number
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids number
    The maximum number of processes per pod.
    topologyManagerPolicy string
    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
    The default is true.
    cpu_cfs_quota_period str
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    image_gc_low_threshold int
    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
    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
    The default is true.
    cpuCfsQuotaPeriod String
    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 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
    To disable image garbage collection, set to 100. The default is 85%
    imageGcLowThreshold Number
    This cannot be set higher than imageGcHighThreshold. The default is 80%
    podMaxPids Number
    The maximum number of processes per pod.
    topologyManagerPolicy String
    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
    OSKubelet will use the OS disk for its data.
    Temporary
    TemporaryKubelet will use the temporary disk for its data.
    KubeletDiskTypeOS
    OSKubelet will use the OS disk for its data.
    KubeletDiskTypeTemporary
    TemporaryKubelet will use the temporary disk for its data.
    OS
    OSKubelet will use the OS disk for its data.
    Temporary
    TemporaryKubelet will use the temporary disk for its data.
    OS
    OSKubelet will use the OS disk for its data.
    Temporary
    TemporaryKubelet will use the temporary disk for its data.
    OS
    OSKubelet will use the OS disk for its data.
    TEMPORARY
    TemporaryKubelet will use the temporary disk for its data.
    "OS"
    OSKubelet will use the OS disk for its data.
    "Temporary"
    TemporaryKubelet will use the temporary disk for its data.

    KubernetesSupportPlan, KubernetesSupportPlanArgs

    KubernetesOfficial
    KubernetesOfficialSupport 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
    AKSLongTermSupportSupport 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
    KubernetesOfficialSupport 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
    AKSLongTermSupportSupport 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
    KubernetesOfficialSupport 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
    AKSLongTermSupportSupport 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
    KubernetesOfficialSupport 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
    AKSLongTermSupportSupport 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
    KubernetesOfficialSupport 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
    AKSLongTermSupportSupport 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"
    KubernetesOfficialSupport 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"
    AKSLongTermSupportSupport 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
    NoneNo additional licensing is applied.
    Windows_Server
    Windows_ServerEnables Azure Hybrid User Benefits for Windows VMs.
    LicenseTypeNone
    NoneNo additional licensing is applied.
    LicenseType_Windows_Server
    Windows_ServerEnables Azure Hybrid User Benefits for Windows VMs.
    None
    NoneNo additional licensing is applied.
    Windows_Server
    Windows_ServerEnables Azure Hybrid User Benefits for Windows VMs.
    None
    NoneNo additional licensing is applied.
    Windows_Server
    Windows_ServerEnables Azure Hybrid User Benefits for Windows VMs.
    NONE
    NoneNo additional licensing is applied.
    WINDOWS_SERVER
    Windows_ServerEnables Azure Hybrid User Benefits for Windows VMs.
    "None"
    NoneNo additional licensing is applied.
    "Windows_Server"
    Windows_ServerEnables Azure Hybrid User Benefits for Windows VMs.

    LinuxOSConfig, LinuxOSConfigArgs

    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    TransparentHugePageEnabled string
    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    TransparentHugePageEnabled string
    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled String
    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled string
    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
    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
    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled String
    Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.

    LinuxOSConfigResponse, LinuxOSConfigResponseArgs

    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    TransparentHugePageEnabled string
    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    TransparentHugePageEnabled string
    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled String
    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled string
    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
    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
    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
    Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.
    transparentHugePageEnabled String
    Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.

    LoadBalancerSku, LoadBalancerSkuArgs

    Standard
    standardUse 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
    basicUse a basic Load Balancer with limited functionality.
    LoadBalancerSkuStandard
    standardUse 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
    basicUse a basic Load Balancer with limited functionality.
    Standard
    standardUse 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
    basicUse a basic Load Balancer with limited functionality.
    Standard
    standardUse 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
    basicUse a basic Load Balancer with limited functionality.
    STANDARD
    standardUse 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
    basicUse a basic Load Balancer with limited functionality.
    "standard"
    standardUse 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"
    basicUse a basic Load Balancer with limited functionality.

    ManagedClusterAADProfile, ManagedClusterAADProfileArgs

    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.
    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

    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.
    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.

    ManagedClusterAPIServerAccessProfile, ManagedClusterAPIServerAccessProfileArgs

    AuthorizedIPRanges List<string>
    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
    For more details, see Creating a private AKS cluster.
    EnablePrivateClusterPublicFQDN bool
    Whether to create additional public FQDN for private cluster or not.
    PrivateDNSZone string
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    AuthorizedIPRanges []string
    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
    For more details, see Creating a private AKS cluster.
    EnablePrivateClusterPublicFQDN bool
    Whether to create additional public FQDN for private cluster or not.
    PrivateDNSZone string
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    authorizedIPRanges List<String>
    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
    For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN Boolean
    Whether to create additional public FQDN for private cluster or not.
    privateDNSZone String
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    authorizedIPRanges string[]
    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
    For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN boolean
    Whether to create additional public FQDN for private cluster or not.
    privateDNSZone string
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    authorized_ip_ranges Sequence[str]
    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
    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.
    private_dns_zone str
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    authorizedIPRanges List<String>
    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
    For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN Boolean
    Whether to create additional public FQDN for private cluster or not.
    privateDNSZone String
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.

    ManagedClusterAPIServerAccessProfileResponse, ManagedClusterAPIServerAccessProfileResponseArgs

    AuthorizedIPRanges List<string>
    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
    For more details, see Creating a private AKS cluster.
    EnablePrivateClusterPublicFQDN bool
    Whether to create additional public FQDN for private cluster or not.
    PrivateDNSZone string
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    AuthorizedIPRanges []string
    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
    For more details, see Creating a private AKS cluster.
    EnablePrivateClusterPublicFQDN bool
    Whether to create additional public FQDN for private cluster or not.
    PrivateDNSZone string
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    authorizedIPRanges List<String>
    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
    For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN Boolean
    Whether to create additional public FQDN for private cluster or not.
    privateDNSZone String
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    authorizedIPRanges string[]
    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
    For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN boolean
    Whether to create additional public FQDN for private cluster or not.
    privateDNSZone string
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    authorized_ip_ranges Sequence[str]
    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
    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.
    private_dns_zone str
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.
    authorizedIPRanges List<String>
    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
    For more details, see Creating a private AKS cluster.
    enablePrivateClusterPublicFQDN Boolean
    Whether to create additional public FQDN for private cluster or not.
    privateDNSZone String
    The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'.

    ManagedClusterAddonProfile, ManagedClusterAddonProfileArgs

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

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

    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.
    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

    Name string
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    EnableNodePublicIP bool
    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
    GpuInstanceProfile string | Pulumi.AzureNative.ContainerService.GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    HostGroupID string
    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.
    MaxCount int
    The maximum number of nodes for auto-scaling
    MaxPods int
    The maximum number of pods that can run on a node.
    MinCount int
    The minimum number of nodes for auto-scaling
    Mode string | Pulumi.AzureNative.ContainerService.AgentPoolMode
    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
    NodeLabels Dictionary<string, string>
    The node labels to be persisted across all nodes in agent pool.
    NodePublicIPPrefixID string
    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
    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 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.
    PodSubnetID string
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    ScaleSetEvictionPolicy string | Pulumi.AzureNative.ContainerService.ScaleSetEvictionPolicy
    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'.
    SpotMaxPrice double
    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
    VmSize string
    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
    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}
    WorkloadRuntime string | Pulumi.AzureNative.ContainerService.WorkloadRuntime
    Determines the type of workload a node can run.
    Name string
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    EnableNodePublicIP bool
    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
    GpuInstanceProfile string | GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    HostGroupID string
    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.
    MaxCount int
    The maximum number of nodes for auto-scaling
    MaxPods int
    The maximum number of pods that can run on a node.
    MinCount int
    The minimum number of nodes for auto-scaling
    Mode string | AgentPoolMode
    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
    NodeLabels map[string]string
    The node labels to be persisted across all nodes in agent pool.
    NodePublicIPPrefixID string
    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
    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 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.
    PodSubnetID string
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    ScaleSetEvictionPolicy string | ScaleSetEvictionPolicy
    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'.
    SpotMaxPrice float64
    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
    VmSize string
    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
    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}
    WorkloadRuntime string | WorkloadRuntime
    Determines the type of workload a node can run.
    name String
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP Boolean
    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
    gpuInstanceProfile String | GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    hostGroupID String
    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.
    maxCount Integer
    The maximum number of nodes for auto-scaling
    maxPods Integer
    The maximum number of pods that can run on a node.
    minCount Integer
    The minimum number of nodes for auto-scaling
    mode String | AgentPoolMode
    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
    nodeLabels Map<String,String>
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID String
    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
    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 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.
    podSubnetID String
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy String | ScaleSetEvictionPolicy
    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'.
    spotMaxPrice Double
    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
    vmSize String
    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
    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}
    workloadRuntime String | WorkloadRuntime
    Determines the type of workload a node can run.
    name string
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP boolean
    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
    gpuInstanceProfile string | GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    hostGroupID string
    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.
    maxCount number
    The maximum number of nodes for auto-scaling
    maxPods number
    The maximum number of pods that can run on a node.
    minCount number
    The minimum number of nodes for auto-scaling
    mode string | AgentPoolMode
    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
    nodeLabels {[key: string]: string}
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID string
    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
    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 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.
    podSubnetID string
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy string | ScaleSetEvictionPolicy
    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'.
    spotMaxPrice number
    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
    vmSize string
    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
    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}
    workloadRuntime string | WorkloadRuntime
    Determines the type of workload a node can run.
    name str
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    enable_node_public_ip bool
    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
    gpu_instance_profile str | GPUInstanceProfile
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    host_group_id str
    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.
    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.
    min_count int
    The minimum number of nodes for auto-scaling
    mode str | AgentPoolMode
    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
    node_labels Mapping[str, str]
    The node labels to be persisted across all nodes in agent pool.
    node_public_ip_prefix_id str
    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
    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 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_subnet_id str
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scale_set_eviction_policy str | ScaleSetEvictionPolicy
    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'.
    spot_max_price float
    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
    vm_size str
    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
    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}
    workload_runtime str | WorkloadRuntime
    Determines the type of workload a node can run.
    name String
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP Boolean
    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
    gpuInstanceProfile String | "MIG1g" | "MIG2g" | "MIG3g" | "MIG4g" | "MIG7g"
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    hostGroupID String
    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.
    maxCount Number
    The maximum number of nodes for auto-scaling
    maxPods Number
    The maximum number of pods that can run on a node.
    minCount Number
    The minimum number of nodes for auto-scaling
    mode String | "System" | "User"
    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
    nodeLabels Map<String>
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID String
    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
    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 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" | "CBLMariner" | "Windows2019" | "Windows2022"
    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.
    podSubnetID String
    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
    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"
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy String | "Delete" | "Deallocate"
    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'.
    spotMaxPrice Number
    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"
    The type of Agent Pool.
    upgradeSettings Property Map
    Settings for upgrading the agentpool
    vmSize String
    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
    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}
    workloadRuntime String | "OCIContainer" | "WasmWasi"
    Determines the type of workload a node can run.

    ManagedClusterAgentPoolProfileResponse, ManagedClusterAgentPoolProfileResponseArgs

    CurrentOrchestratorVersion string
    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.
    Name string
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    EnableNodePublicIP bool
    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
    GpuInstanceProfile string
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    HostGroupID string
    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.
    MaxCount int
    The maximum number of nodes for auto-scaling
    MaxPods int
    The maximum number of pods that can run on a node.
    MinCount int
    The minimum number of nodes for auto-scaling
    Mode string
    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
    NodeLabels Dictionary<string, string>
    The node labels to be persisted across all nodes in agent pool.
    NodePublicIPPrefixID string
    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
    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 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.
    PodSubnetID string
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    ScaleSetEvictionPolicy string
    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'.
    SpotMaxPrice double
    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
    The type of Agent Pool.
    UpgradeSettings Pulumi.AzureNative.ContainerService.Inputs.AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    VmSize string
    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
    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}
    WorkloadRuntime string
    Determines the type of workload a node can run.
    CurrentOrchestratorVersion string
    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.
    Name string
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    EnableNodePublicIP bool
    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
    GpuInstanceProfile string
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    HostGroupID string
    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.
    MaxCount int
    The maximum number of nodes for auto-scaling
    MaxPods int
    The maximum number of pods that can run on a node.
    MinCount int
    The minimum number of nodes for auto-scaling
    Mode string
    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
    NodeLabels map[string]string
    The node labels to be persisted across all nodes in agent pool.
    NodePublicIPPrefixID string
    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
    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 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.
    PodSubnetID string
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    ScaleSetEvictionPolicy string
    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'.
    SpotMaxPrice float64
    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
    The type of Agent Pool.
    UpgradeSettings AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    VmSize string
    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
    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}
    WorkloadRuntime string
    Determines the type of workload a node can run.
    currentOrchestratorVersion String
    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.
    name String
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP Boolean
    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
    gpuInstanceProfile String
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    hostGroupID String
    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.
    maxCount Integer
    The maximum number of nodes for auto-scaling
    maxPods Integer
    The maximum number of pods that can run on a node.
    minCount Integer
    The minimum number of nodes for auto-scaling
    mode String
    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
    nodeLabels Map<String,String>
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID String
    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
    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 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.
    podSubnetID String
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy String
    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'.
    spotMaxPrice Double
    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
    The type of Agent Pool.
    upgradeSettings AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    vmSize String
    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
    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}
    workloadRuntime String
    Determines the type of workload a node can run.
    currentOrchestratorVersion string
    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.
    name string
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP boolean
    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
    gpuInstanceProfile string
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    hostGroupID string
    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.
    maxCount number
    The maximum number of nodes for auto-scaling
    maxPods number
    The maximum number of pods that can run on a node.
    minCount number
    The minimum number of nodes for auto-scaling
    mode string
    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
    nodeLabels {[key: string]: string}
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID string
    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
    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 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.
    podSubnetID string
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy string
    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'.
    spotMaxPrice number
    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
    The type of Agent Pool.
    upgradeSettings AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    vmSize string
    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
    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}
    workloadRuntime string
    Determines the type of workload a node can run.
    current_orchestrator_version str
    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.
    name str
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    enable_node_public_ip bool
    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
    gpu_instance_profile str
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    host_group_id str
    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.
    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.
    min_count int
    The minimum number of nodes for auto-scaling
    mode str
    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
    node_labels Mapping[str, str]
    The node labels to be persisted across all nodes in agent pool.
    node_public_ip_prefix_id str
    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
    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 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_subnet_id str
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scale_set_eviction_policy str
    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'.
    spot_max_price float
    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
    The type of Agent Pool.
    upgrade_settings AgentPoolUpgradeSettingsResponse
    Settings for upgrading the agentpool
    vm_size str
    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
    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}
    workload_runtime str
    Determines the type of workload a node can run.
    currentOrchestratorVersion String
    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.
    name String
    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'.
    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
    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
    See Add a FIPS-enabled node pool for more details.
    enableNodePublicIP Boolean
    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
    gpuInstanceProfile String
    GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
    hostGroupID String
    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.
    maxCount Number
    The maximum number of nodes for auto-scaling
    maxPods Number
    The maximum number of pods that can run on a node.
    minCount Number
    The minimum number of nodes for auto-scaling
    mode String
    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
    nodeLabels Map<String>
    The node labels to be persisted across all nodes in agent pool.
    nodePublicIPPrefixID String
    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
    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 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.
    podSubnetID String
    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
    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
    This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
    scaleSetEvictionPolicy String
    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'.
    spotMaxPrice Number
    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
    The type of Agent Pool.
    upgradeSettings Property Map
    Settings for upgrading the agentpool
    vmSize String
    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
    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}
    workloadRuntime String
    Determines the type of workload a node can run.

    ManagedClusterAutoUpgradeProfile, ManagedClusterAutoUpgradeProfileArgs

    ManagedClusterAutoUpgradeProfileResponse, ManagedClusterAutoUpgradeProfileResponseArgs

    ManagedClusterAzureMonitorProfile, ManagedClusterAzureMonitorProfileArgs

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

    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.
    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

    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.
    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

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

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

    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 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.

    ManagedClusterHTTPProxyConfig, ManagedClusterHTTPProxyConfigArgs

    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.
    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

    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.
    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

    Type Pulumi.AzureNative.ContainerService.ResourceIdentityType
    For more information see use managed identities in AKS.
    UserAssignedIdentities List<string>
    The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    Type ResourceIdentityType
    For more information see use managed identities in AKS.
    UserAssignedIdentities []string
    The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    type ResourceIdentityType
    For more information see use managed identities in AKS.
    userAssignedIdentities List<String>
    The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    type ResourceIdentityType
    For more information see use managed identities in AKS.
    userAssignedIdentities string[]
    The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    type ResourceIdentityType
    For more information see use managed identities in AKS.
    user_assigned_identities Sequence[str]
    The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    type "SystemAssigned" | "UserAssigned" | "None"
    For more information see use managed identities in AKS.
    userAssignedIdentities List<String>
    The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

    ManagedClusterIdentityResponse, ManagedClusterIdentityResponseArgs

    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.
    Type string
    For more information see use managed identities in AKS.
    UserAssignedIdentities Dictionary<string, Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterIdentityResponseUserAssignedIdentities>
    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.
    Type string
    For more information see use managed identities in AKS.
    UserAssignedIdentities map[string]ManagedClusterIdentityResponseUserAssignedIdentities
    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.
    type String
    For more information see use managed identities in AKS.
    userAssignedIdentities Map<String,ManagedClusterIdentityResponseUserAssignedIdentities>
    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.
    type string
    For more information see use managed identities in AKS.
    userAssignedIdentities {[key: string]: ManagedClusterIdentityResponseUserAssignedIdentities}
    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.
    type str
    For more information see use managed identities in AKS.
    user_assigned_identities Mapping[str, ManagedClusterIdentityResponseUserAssignedIdentities]
    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.
    type String
    For more information see use managed identities in AKS.
    userAssignedIdentities Map<Property Map>
    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.
    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.

    ManagedClusterLoadBalancerProfile, ManagedClusterLoadBalancerProfileArgs

    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.
    EffectiveOutboundIPs List<Pulumi.AzureNative.ContainerService.Inputs.ResourceReference>
    The effective outbound IP resources of the cluster load balancer.
    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.
    EffectiveOutboundIPs []ResourceReference
    The effective outbound IP resources of the cluster load balancer.
    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.
    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.
    effectiveOutboundIPs List<ResourceReference>
    The effective outbound IP resources of the cluster load balancer.
    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.
    effectiveOutboundIPs ResourceReference[]
    The effective outbound IP resources of the cluster load balancer.
    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.
    effective_outbound_ips Sequence[ResourceReference]
    The effective outbound IP resources of the cluster load balancer.
    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.
    effectiveOutboundIPs List<Property Map>
    The effective outbound IP resources of the cluster load balancer.
    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

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

    PublicIPPrefixes []ResourceReference
    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

    PublicIPs []ResourceReference
    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

    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.
    EffectiveOutboundIPs List<Pulumi.AzureNative.ContainerService.Inputs.ResourceReferenceResponse>
    The effective outbound IP resources of the cluster load balancer.
    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.
    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.
    EffectiveOutboundIPs []ResourceReferenceResponse
    The effective outbound IP resources of the cluster load balancer.
    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.
    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.
    effectiveOutboundIPs List<ResourceReferenceResponse>
    The effective outbound IP resources of the cluster load balancer.
    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.
    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.
    effectiveOutboundIPs ResourceReferenceResponse[]
    The effective outbound IP resources of the cluster load balancer.
    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.
    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.
    effective_outbound_ips Sequence[ResourceReferenceResponse]
    The effective outbound IP resources of the cluster load balancer.
    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.
    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.
    effectiveOutboundIPs List<Property Map>
    The effective outbound IP resources of the cluster load balancer.
    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

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

    PublicIPPrefixes []ResourceReferenceResponse
    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

    PublicIPs []ResourceReferenceResponse
    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

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

    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 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.

    ManagedClusterNATGatewayProfile, ManagedClusterNATGatewayProfileArgs

    EffectiveOutboundIPs List<Pulumi.AzureNative.ContainerService.Inputs.ResourceReference>
    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.ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    EffectiveOutboundIPs []ResourceReference
    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 ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    effectiveOutboundIPs List<ResourceReference>
    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 ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    effectiveOutboundIPs ResourceReference[]
    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 ManagedClusterManagedOutboundIPProfile
    Profile of the managed outbound IP resources of the cluster NAT gateway.
    effective_outbound_ips Sequence[ResourceReference]
    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 ManagedClusterManagedOutboundIPProfile
    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.

    ManagedClusterNATGatewayProfileResponse, ManagedClusterNATGatewayProfileResponseArgs

    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.
    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.

    ManagedClusterOIDCIssuerProfile, ManagedClusterOIDCIssuerProfileArgs

    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

    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.
    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

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

    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.
    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

    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.
    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

    AllowNetworkPluginKubenet bool
    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
    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.
    allowNetworkPluginKubenet Boolean
    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
    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
    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
    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

    AllowNetworkPluginKubenet bool
    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
    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.
    allowNetworkPluginKubenet Boolean
    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
    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
    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
    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

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

    error Property Map
    Details about the error.

    ManagedClusterPodIdentityResponse, ManagedClusterPodIdentityResponseArgs

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

    BalanceSimilarNodeGroups string
    Valid values are 'true' and 'false'
    Expander string | Pulumi.AzureNative.ContainerService.Expander
    If not specified, the default is 'random'. See expanders for more information.
    MaxEmptyBulkDelete string
    The default is 10.
    MaxGracefulTerminationSec string
    The default is 600.
    MaxNodeProvisionTime string
    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 default is 45. The maximum is 100 and the minimum is 0.
    NewPodScaleUpDelay string
    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
    This must be an integer. The default is 3.
    ScaleDownDelayAfterAdd string
    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
    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
    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
    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
    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
    The default is '0.5'.
    ScanInterval string
    The default is '10'. Values must be an integer number of seconds.
    SkipNodesWithLocalStorage string
    The default is true.
    SkipNodesWithSystemPods string
    The default is true.
    BalanceSimilarNodeGroups string
    Valid values are 'true' and 'false'
    Expander string | Expander
    If not specified, the default is 'random'. See expanders for more information.
    MaxEmptyBulkDelete string
    The default is 10.
    MaxGracefulTerminationSec string
    The default is 600.
    MaxNodeProvisionTime string
    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 default is 45. The maximum is 100 and the minimum is 0.
    NewPodScaleUpDelay string
    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
    This must be an integer. The default is 3.
    ScaleDownDelayAfterAdd string
    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
    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
    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
    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
    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
    The default is '0.5'.
    ScanInterval string
    The default is '10'. Values must be an integer number of seconds.
    SkipNodesWithLocalStorage string
    The default is true.
    SkipNodesWithSystemPods string
    The default is true.
    balanceSimilarNodeGroups String
    Valid values are 'true' and 'false'
    expander String | Expander
    If not specified, the default is 'random'. See expanders for more information.
    maxEmptyBulkDelete String
    The default is 10.
    maxGracefulTerminationSec String
    The default is 600.
    maxNodeProvisionTime String
    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 default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay String
    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
    This must be an integer. The default is 3.
    scaleDownDelayAfterAdd String
    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
    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
    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
    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
    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
    The default is '0.5'.
    scanInterval String
    The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage String
    The default is true.
    skipNodesWithSystemPods String
    The default is true.
    balanceSimilarNodeGroups string
    Valid values are 'true' and 'false'
    expander string | Expander
    If not specified, the default is 'random'. See expanders for more information.
    maxEmptyBulkDelete string
    The default is 10.
    maxGracefulTerminationSec string
    The default is 600.
    maxNodeProvisionTime string
    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 default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay string
    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
    This must be an integer. The default is 3.
    scaleDownDelayAfterAdd string
    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
    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
    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
    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
    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
    The default is '0.5'.
    scanInterval string
    The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage string
    The default is true.
    skipNodesWithSystemPods string
    The default is true.
    balance_similar_node_groups str
    Valid values are 'true' and 'false'
    expander str | Expander
    If not specified, the default is 'random'. See expanders for more information.
    max_empty_bulk_delete str
    The default is 10.
    max_graceful_termination_sec str
    The default is 600.
    max_node_provision_time str
    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 default is 45. The maximum is 100 and the minimum is 0.
    new_pod_scale_up_delay str
    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
    This must be an integer. The default is 3.
    scale_down_delay_after_add str
    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
    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
    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
    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
    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
    The default is '0.5'.
    scan_interval str
    The default is '10'. Values must be an integer number of seconds.
    skip_nodes_with_local_storage str
    The default is true.
    skip_nodes_with_system_pods str
    The default is true.
    balanceSimilarNodeGroups String
    Valid values are 'true' and 'false'
    expander String | "least-waste" | "most-pods" | "priority" | "random"
    If not specified, the default is 'random'. See expanders for more information.
    maxEmptyBulkDelete String
    The default is 10.
    maxGracefulTerminationSec String
    The default is 600.
    maxNodeProvisionTime String
    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 default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay String
    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
    This must be an integer. The default is 3.
    scaleDownDelayAfterAdd String
    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
    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
    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
    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
    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
    The default is '0.5'.
    scanInterval String
    The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage String
    The default is true.
    skipNodesWithSystemPods String
    The default is true.

    ManagedClusterPropertiesResponseAutoScalerProfile, ManagedClusterPropertiesResponseAutoScalerProfileArgs

    BalanceSimilarNodeGroups string
    Valid values are 'true' and 'false'
    Expander string
    If not specified, the default is 'random'. See expanders for more information.
    MaxEmptyBulkDelete string
    The default is 10.
    MaxGracefulTerminationSec string
    The default is 600.
    MaxNodeProvisionTime string
    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 default is 45. The maximum is 100 and the minimum is 0.
    NewPodScaleUpDelay string
    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
    This must be an integer. The default is 3.
    ScaleDownDelayAfterAdd string
    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
    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
    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
    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
    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
    The default is '0.5'.
    ScanInterval string
    The default is '10'. Values must be an integer number of seconds.
    SkipNodesWithLocalStorage string
    The default is true.
    SkipNodesWithSystemPods string
    The default is true.
    BalanceSimilarNodeGroups string
    Valid values are 'true' and 'false'
    Expander string
    If not specified, the default is 'random'. See expanders for more information.
    MaxEmptyBulkDelete string
    The default is 10.
    MaxGracefulTerminationSec string
    The default is 600.
    MaxNodeProvisionTime string
    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 default is 45. The maximum is 100 and the minimum is 0.
    NewPodScaleUpDelay string
    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
    This must be an integer. The default is 3.
    ScaleDownDelayAfterAdd string
    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
    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
    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
    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
    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
    The default is '0.5'.
    ScanInterval string
    The default is '10'. Values must be an integer number of seconds.
    SkipNodesWithLocalStorage string
    The default is true.
    SkipNodesWithSystemPods string
    The default is true.
    balanceSimilarNodeGroups String
    Valid values are 'true' and 'false'
    expander String
    If not specified, the default is 'random'. See expanders for more information.
    maxEmptyBulkDelete String
    The default is 10.
    maxGracefulTerminationSec String
    The default is 600.
    maxNodeProvisionTime String
    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 default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay String
    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
    This must be an integer. The default is 3.
    scaleDownDelayAfterAdd String
    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
    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
    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
    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
    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
    The default is '0.5'.
    scanInterval String
    The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage String
    The default is true.
    skipNodesWithSystemPods String
    The default is true.
    balanceSimilarNodeGroups string
    Valid values are 'true' and 'false'
    expander string
    If not specified, the default is 'random'. See expanders for more information.
    maxEmptyBulkDelete string
    The default is 10.
    maxGracefulTerminationSec string
    The default is 600.
    maxNodeProvisionTime string
    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 default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay string
    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
    This must be an integer. The default is 3.
    scaleDownDelayAfterAdd string
    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
    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
    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
    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
    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
    The default is '0.5'.
    scanInterval string
    The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage string
    The default is true.
    skipNodesWithSystemPods string
    The default is true.
    balance_similar_node_groups str
    Valid values are 'true' and 'false'
    expander str
    If not specified, the default is 'random'. See expanders for more information.
    max_empty_bulk_delete str
    The default is 10.
    max_graceful_termination_sec str
    The default is 600.
    max_node_provision_time str
    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 default is 45. The maximum is 100 and the minimum is 0.
    new_pod_scale_up_delay str
    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
    This must be an integer. The default is 3.
    scale_down_delay_after_add str
    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
    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
    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
    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
    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
    The default is '0.5'.
    scan_interval str
    The default is '10'. Values must be an integer number of seconds.
    skip_nodes_with_local_storage str
    The default is true.
    skip_nodes_with_system_pods str
    The default is true.
    balanceSimilarNodeGroups String
    Valid values are 'true' and 'false'
    expander String
    If not specified, the default is 'random'. See expanders for more information.
    maxEmptyBulkDelete String
    The default is 10.
    maxGracefulTerminationSec String
    The default is 600.
    maxNodeProvisionTime String
    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 default is 45. The maximum is 100 and the minimum is 0.
    newPodScaleUpDelay String
    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
    This must be an integer. The default is 3.
    scaleDownDelayAfterAdd String
    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
    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
    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
    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
    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
    The default is '0.5'.
    scanInterval String
    The default is '10'. Values must be an integer number of seconds.
    skipNodesWithLocalStorage String
    The default is true.
    skipNodesWithSystemPods String
    The default is true.

    ManagedClusterSKU, ManagedClusterSKUArgs

    Name string | Pulumi.AzureNative.ContainerService.ManagedClusterSKUName
    The name of a managed cluster SKU.
    Tier string | Pulumi.AzureNative.ContainerService.ManagedClusterSKUTier
    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
    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
    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
    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
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.
    name String | "Base"
    The name of a managed cluster SKU.
    tier String | "Premium" | "Standard" | "Free"
    If not specified, the default is 'Free'. See AKS Pricing Tier for more details.

    ManagedClusterSKUName, ManagedClusterSKUNameArgs

    Base
    BaseBase option for the AKS control plane.
    ManagedClusterSKUNameBase
    BaseBase option for the AKS control plane.
    Base
    BaseBase option for the AKS control plane.
    Base
    BaseBase option for the AKS control plane.
    BASE
    BaseBase option for the AKS control plane.
    "Base"
    BaseBase option for the AKS control plane.

    ManagedClusterSKUResponse, ManagedClusterSKUResponseArgs

    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
    PremiumCluster 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
    StandardRecommended 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
    FreeThe 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
    PremiumCluster 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
    StandardRecommended 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
    FreeThe 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
    PremiumCluster 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
    StandardRecommended 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
    FreeThe 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
    PremiumCluster 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
    StandardRecommended 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
    FreeThe 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
    PremiumCluster 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
    StandardRecommended 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
    FreeThe 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"
    PremiumCluster 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"
    StandardRecommended 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"
    FreeThe 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

    AzureKeyVaultKms Pulumi.AzureNative.ContainerService.Inputs.AzureKeyVaultKms
    Azure Key Vault key management service settings for the security profile.
    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.
    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.
    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.
    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.
    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.
    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

    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.
    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

    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.
    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

    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

    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

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

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

    AzureKeyVaultKms Pulumi.AzureNative.ContainerService.Inputs.AzureKeyVaultKmsResponse
    Azure Key Vault key management service settings for the security profile.
    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.
    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.
    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.
    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.
    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.
    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

    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

    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

    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.
    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

    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.
    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.

    ManagedClusterStorageProfile, ManagedClusterStorageProfileArgs

    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.
    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

    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

    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

    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

    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

    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

    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

    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.
    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

    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

    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

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

    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
    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
    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 Boolean
    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 boolean
    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 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
    For more details on CSI proxy, see the CSI proxy GitHub repo.
    gmsa_profile WindowsGmsaProfileResponse
    The Windows gMSA Profile in the Managed Cluster.
    license_type str
    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
    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
    The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details.

    ManagedClusterWorkloadAutoScalerProfile, ManagedClusterWorkloadAutoScalerProfileArgs

    Keda Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterWorkloadAutoScalerProfileKeda
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    Keda ManagedClusterWorkloadAutoScalerProfileKeda
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    keda ManagedClusterWorkloadAutoScalerProfileKeda
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    keda ManagedClusterWorkloadAutoScalerProfileKeda
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    keda ManagedClusterWorkloadAutoScalerProfileKeda
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    keda Property Map
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.

    ManagedClusterWorkloadAutoScalerProfileKeda, ManagedClusterWorkloadAutoScalerProfileKedaArgs

    Enabled bool
    Whether to enable KEDA.
    Enabled bool
    Whether to enable KEDA.
    enabled Boolean
    Whether to enable KEDA.
    enabled boolean
    Whether to enable KEDA.
    enabled bool
    Whether to enable KEDA.
    enabled Boolean
    Whether to enable KEDA.

    ManagedClusterWorkloadAutoScalerProfileKedaResponse, ManagedClusterWorkloadAutoScalerProfileKedaResponseArgs

    Enabled bool
    Whether to enable KEDA.
    Enabled bool
    Whether to enable KEDA.
    enabled Boolean
    Whether to enable KEDA.
    enabled boolean
    Whether to enable KEDA.
    enabled bool
    Whether to enable KEDA.
    enabled Boolean
    Whether to enable KEDA.

    ManagedClusterWorkloadAutoScalerProfileResponse, ManagedClusterWorkloadAutoScalerProfileResponseArgs

    Keda Pulumi.AzureNative.ContainerService.Inputs.ManagedClusterWorkloadAutoScalerProfileKedaResponse
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    Keda ManagedClusterWorkloadAutoScalerProfileKedaResponse
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    keda ManagedClusterWorkloadAutoScalerProfileKedaResponse
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    keda ManagedClusterWorkloadAutoScalerProfileKedaResponse
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    keda ManagedClusterWorkloadAutoScalerProfileKedaResponse
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.
    keda Property Map
    KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.

    NetworkDataplane, NetworkDataplaneArgs

    Azure
    azureUse Azure network dataplane.
    Cilium
    ciliumUse Cilium network dataplane. See Azure CNI Powered by Cilium for more information.
    NetworkDataplaneAzure
    azureUse Azure network dataplane.
    NetworkDataplaneCilium
    ciliumUse Cilium network dataplane. See Azure CNI Powered by Cilium for more information.
    Azure
    azureUse Azure network dataplane.
    Cilium
    ciliumUse Cilium network dataplane. See Azure CNI Powered by Cilium for more information.
    Azure
    azureUse Azure network dataplane.
    Cilium
    ciliumUse Cilium network dataplane. See Azure CNI Powered by Cilium for more information.
    AZURE
    azureUse Azure network dataplane.
    CILIUM
    ciliumUse Cilium network dataplane. See Azure CNI Powered by Cilium for more information.
    "azure"
    azureUse Azure network dataplane.
    "cilium"
    ciliumUse Cilium network dataplane. See Azure CNI Powered by Cilium for more information.

    NetworkMode, NetworkModeArgs

    Transparent
    transparentNo bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See Transparent Mode for more information.
    Bridge
    bridgeThis is no longer supported
    NetworkModeTransparent
    transparentNo bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See Transparent Mode for more information.
    NetworkModeBridge
    bridgeThis is no longer supported
    Transparent
    transparentNo bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See Transparent Mode for more information.
    Bridge
    bridgeThis is no longer supported
    Transparent
    transparentNo bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See Transparent Mode for more information.
    Bridge
    bridgeThis is no longer supported
    TRANSPARENT
    transparentNo bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See Transparent Mode for more information.
    BRIDGE
    bridgeThis is no longer supported
    "transparent"
    transparentNo bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See Transparent Mode for more information.
    "bridge"
    bridgeThis is no longer supported

    NetworkPlugin, NetworkPluginArgs

    Azure
    azureUse the Azure CNI network plugin. See Azure CNI (advanced) networking for more information.
    Kubenet
    kubenetUse the Kubenet network plugin. See Kubenet (basic) networking for more information.
    None
    noneNo CNI plugin is pre-installed. See BYO CNI for more information.
    NetworkPluginAzure
    azureUse the Azure CNI network plugin. See Azure CNI (advanced) networking for more information.
    NetworkPluginKubenet
    kubenetUse the Kubenet network plugin. See Kubenet (basic) networking for more information.
    NetworkPluginNone
    noneNo CNI plugin is pre-installed. See BYO CNI for more information.
    Azure
    azureUse the Azure CNI network plugin. See Azure CNI (advanced) networking for more information.
    Kubenet
    kubenetUse the Kubenet network plugin. See Kubenet (basic) networking for more information.
    None
    noneNo CNI plugin is pre-installed. See BYO CNI for more information.
    Azure
    azureUse the Azure CNI network plugin. See Azure CNI (advanced) networking for more information.
    Kubenet
    kubenetUse the Kubenet network plugin. See Kubenet (basic) networking for more information.
    None
    noneNo CNI plugin is pre-installed. See BYO CNI for more information.
    AZURE
    azureUse the Azure CNI network plugin. See Azure CNI (advanced) networking for more information.
    KUBENET
    kubenetUse the Kubenet network plugin. See Kubenet (basic) networking for more information.
    NONE
    noneNo CNI plugin is pre-installed. See BYO CNI for more information.
    "azure"
    azureUse the Azure CNI network plugin. See Azure CNI (advanced) networking for more information.
    "kubenet"
    kubenetUse the Kubenet network plugin. See Kubenet (basic) networking for more information.
    "none"
    noneNo CNI plugin is pre-installed. See BYO CNI for more information.

    NetworkPluginMode, NetworkPluginModeArgs

    Overlay
    overlayUsed with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay.
    NetworkPluginModeOverlay
    overlayUsed with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay.
    Overlay
    overlayUsed with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay.
    Overlay
    overlayUsed with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay.
    OVERLAY
    overlayUsed with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay.
    "overlay"
    overlayUsed with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay.

    NetworkPolicy, NetworkPolicyArgs

    Calico
    calicoUse Calico network policies. See differences between Azure and Calico policies for more information.
    Azure
    azureUse Azure network policies. See differences between Azure and Calico policies for more information.
    Cilium
    ciliumUse Cilium to enforce network policies. This requires networkDataplane to be 'cilium'.
    NetworkPolicyCalico
    calicoUse Calico network policies. See differences between Azure and Calico policies for more information.
    NetworkPolicyAzure
    azureUse Azure network policies. See differences between Azure and Calico policies for more information.
    NetworkPolicyCilium
    ciliumUse Cilium to enforce network policies. This requires networkDataplane to be 'cilium'.
    Calico
    calicoUse Calico network policies. See differences between Azure and Calico policies for more information.
    Azure
    azureUse Azure network policies. See differences between Azure and Calico policies for more information.
    Cilium
    ciliumUse Cilium to enforce network policies. This requires networkDataplane to be 'cilium'.
    Calico
    calicoUse Calico network policies. See differences between Azure and Calico policies for more information.
    Azure
    azureUse Azure network policies. See differences between Azure and Calico policies for more information.
    Cilium
    ciliumUse Cilium to enforce network policies. This requires networkDataplane to be 'cilium'.
    CALICO
    calicoUse Calico network policies. See differences between Azure and Calico policies for more information.
    AZURE
    azureUse Azure network policies. See differences between Azure and Calico policies for more information.
    CILIUM
    ciliumUse Cilium to enforce network policies. This requires networkDataplane to be 'cilium'.
    "calico"
    calicoUse Calico network policies. See differences between Azure and Calico policies for more information.
    "azure"
    azureUse Azure network policies. See differences between Azure and Calico policies for more information.
    "cilium"
    ciliumUse Cilium to enforce network policies. This requires networkDataplane to be 'cilium'.

    OSDiskType, OSDiskTypeArgs

    Managed
    ManagedAzure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency.
    Ephemeral
    EphemeralEphemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades.
    OSDiskTypeManaged
    ManagedAzure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency.
    OSDiskTypeEphemeral
    EphemeralEphemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades.
    Managed
    ManagedAzure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency.
    Ephemeral
    EphemeralEphemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades.
    Managed
    ManagedAzure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency.
    Ephemeral
    EphemeralEphemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades.
    MANAGED
    ManagedAzure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency.
    EPHEMERAL
    EphemeralEphemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades.
    "Managed"
    ManagedAzure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency.
    "Ephemeral"
    EphemeralEphemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades.

    OSSKU, OSSKUArgs

    Ubuntu
    UbuntuUse Ubuntu as the OS for node images.
    AzureLinux
    AzureLinuxUse AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information.
    CBLMariner
    CBLMarinerDeprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead.
    Windows2019
    Windows2019Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa.
    Windows2022
    Windows2022Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa.
    OSSKUUbuntu
    UbuntuUse Ubuntu as the OS for node images.
    OSSKUAzureLinux
    AzureLinuxUse AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information.
    OSSKUCBLMariner
    CBLMarinerDeprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead.
    OSSKUWindows2019
    Windows2019Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa.
    OSSKUWindows2022
    Windows2022Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa.
    Ubuntu
    UbuntuUse Ubuntu as the OS for node images.
    AzureLinux
    AzureLinuxUse AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information.
    CBLMariner
    CBLMarinerDeprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead.
    Windows2019
    Windows2019Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa.
    Windows2022
    Windows2022Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa.
    Ubuntu
    UbuntuUse Ubuntu as the OS for node images.
    AzureLinux
    AzureLinuxUse AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information.
    CBLMariner
    CBLMarinerDeprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead.
    Windows2019
    Windows2019Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa.
    Windows2022
    Windows2022Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa.
    UBUNTU
    UbuntuUse Ubuntu as the OS for node images.
    AZURE_LINUX
    AzureLinuxUse AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information.
    CBL_MARINER
    CBLMarinerDeprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead.
    WINDOWS2019
    Windows2019Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa.
    WINDOWS2022
    Windows2022Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa.
    "Ubuntu"
    UbuntuUse Ubuntu as the OS for node images.
    "AzureLinux"
    AzureLinuxUse AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information.
    "CBLMariner"
    CBLMarinerDeprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead.
    "Windows2019"
    Windows2019Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa.
    "Windows2022"
    Windows2022Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa.

    OSType, OSTypeArgs

    Linux
    Linux
    Windows
    Windows
    OSTypeLinux
    Linux
    OSTypeWindows
    Windows
    Linux
    Linux
    Windows
    Windows
    Linux
    Linux
    Windows
    Windows
    LINUX
    Linux
    WINDOWS
    Windows
    "Linux"
    Linux
    "Windows"
    Windows

    OutboundType, OutboundTypeArgs

    LoadBalancer
    loadBalancerThe load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see outbound type loadbalancer.
    UserDefinedRouting
    userDefinedRoutingEgress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see outbound type userDefinedRouting.
    ManagedNATGateway
    managedNATGatewayThe AKS-managed NAT gateway is used for egress.
    UserAssignedNATGateway
    userAssignedNATGatewayThe user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration.
    OutboundTypeLoadBalancer
    loadBalancerThe load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see outbound type loadbalancer.
    OutboundTypeUserDefinedRouting
    userDefinedRoutingEgress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see outbound type userDefinedRouting.
    OutboundTypeManagedNATGateway
    managedNATGatewayThe AKS-managed NAT gateway is used for egress.
    OutboundTypeUserAssignedNATGateway
    userAssignedNATGatewayThe user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration.
    LoadBalancer
    loadBalancerThe load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see outbound type loadbalancer.
    UserDefinedRouting
    userDefinedRoutingEgress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see outbound type userDefinedRouting.
    ManagedNATGateway
    managedNATGatewayThe AKS-managed NAT gateway is used for egress.
    UserAssignedNATGateway
    userAssignedNATGatewayThe user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration.
    LoadBalancer
    loadBalancerThe load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see outbound type loadbalancer.
    UserDefinedRouting
    userDefinedRoutingEgress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see outbound type userDefinedRouting.
    ManagedNATGateway
    managedNATGatewayThe AKS-managed NAT gateway is used for egress.
    UserAssignedNATGateway
    userAssignedNATGatewayThe user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration.
    LOAD_BALANCER
    loadBalancerThe load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see outbound type loadbalancer.
    USER_DEFINED_ROUTING
    userDefinedRoutingEgress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see outbound type userDefinedRouting.
    MANAGED_NAT_GATEWAY
    managedNATGatewayThe AKS-managed NAT gateway is used for egress.
    USER_ASSIGNED_NAT_GATEWAY
    userAssignedNATGatewayThe user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration.
    "loadBalancer"
    loadBalancerThe load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see outbound type loadbalancer.
    "userDefinedRouting"
    userDefinedRoutingEgress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see outbound type userDefinedRouting.
    "managedNATGateway"
    managedNATGatewayThe AKS-managed NAT gateway is used for egress.
    "userAssignedNATGateway"
    userAssignedNATGatewayThe user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration.

    PowerState, PowerStateArgs

    Code string | Pulumi.AzureNative.ContainerService.Code
    Tells whether the cluster is Running or Stopped
    Code string | Code
    Tells whether the cluster is Running or Stopped
    code String | Code
    Tells whether the cluster is Running or Stopped
    code string | Code
    Tells whether the cluster is Running or Stopped
    code str | Code
    Tells whether the cluster is Running or Stopped
    code String | "Running" | "Stopped"
    Tells whether the cluster is Running or Stopped

    PowerStateResponse, PowerStateResponseArgs

    Code string
    Tells whether the cluster is Running or Stopped
    Code string
    Tells whether the cluster is Running or Stopped
    code String
    Tells whether the cluster is Running or Stopped
    code string
    Tells whether the cluster is Running or Stopped
    code str
    Tells whether the cluster is Running or Stopped
    code String
    Tells whether the cluster is Running or Stopped

    PrivateLinkResource, PrivateLinkResourceArgs

    GroupId string
    The group ID of the resource.
    Id string
    The ID of the private link resource.
    Name string
    The name of the private link resource.
    RequiredMembers List<string>
    The RequiredMembers of the resource
    Type string
    The resource type.
    GroupId string
    The group ID of the resource.
    Id string
    The ID of the private link resource.
    Name string
    The name of the private link resource.
    RequiredMembers []string
    The RequiredMembers of the resource
    Type string
    The resource type.
    groupId String
    The group ID of the resource.
    id String
    The ID of the private link resource.
    name String
    The name of the private link resource.
    requiredMembers List<String>
    The RequiredMembers of the resource
    type String
    The resource type.
    groupId string
    The group ID of the resource.
    id string
    The ID of the private link resource.
    name string
    The name of the private link resource.
    requiredMembers string[]
    The RequiredMembers of the resource
    type string
    The resource type.
    group_id str
    The group ID of the resource.
    id str
    The ID of the private link resource.
    name str
    The name of the private link resource.
    required_members Sequence[str]
    The RequiredMembers of the resource
    type str
    The resource type.
    groupId String
    The group ID of the resource.
    id String
    The ID of the private link resource.
    name String
    The name of the private link resource.
    requiredMembers List<String>
    The RequiredMembers of the resource
    type String
    The resource type.

    PrivateLinkResourceResponse, PrivateLinkResourceResponseArgs

    PrivateLinkServiceID string
    The private link service ID of the resource, this field is exposed only to NRP internally.
    GroupId string
    The group ID of the resource.
    Id string
    The ID of the private link resource.
    Name string
    The name of the private link resource.
    RequiredMembers List<string>
    The RequiredMembers of the resource
    Type string
    The resource type.
    PrivateLinkServiceID string
    The private link service ID of the resource, this field is exposed only to NRP internally.
    GroupId string
    The group ID of the resource.
    Id string
    The ID of the private link resource.
    Name string
    The name of the private link resource.
    RequiredMembers []string
    The RequiredMembers of the resource
    Type string
    The resource type.
    privateLinkServiceID String
    The private link service ID of the resource, this field is exposed only to NRP internally.
    groupId String
    The group ID of the resource.
    id String
    The ID of the private link resource.
    name String
    The name of the private link resource.
    requiredMembers List<String>
    The RequiredMembers of the resource
    type String
    The resource type.
    privateLinkServiceID string
    The private link service ID of the resource, this field is exposed only to NRP internally.
    groupId string
    The group ID of the resource.
    id string
    The ID of the private link resource.
    name string
    The name of the private link resource.
    requiredMembers string[]
    The RequiredMembers of the resource
    type string
    The resource type.
    private_link_service_id str
    The private link service ID of the resource, this field is exposed only to NRP internally.
    group_id str
    The group ID of the resource.
    id str
    The ID of the private link resource.
    name str
    The name of the private link resource.
    required_members Sequence[str]
    The RequiredMembers of the resource
    type str
    The resource type.
    privateLinkServiceID String
    The private link service ID of the resource, this field is exposed only to NRP internally.
    groupId String
    The group ID of the resource.
    id String
    The ID of the private link resource.
    name String
    The name of the private link resource.
    requiredMembers List<String>
    The RequiredMembers of the resource
    type String
    The resource type.

    PublicNetworkAccess, PublicNetworkAccessArgs

    Enabled
    Enabled
    Disabled
    Disabled
    PublicNetworkAccessEnabled
    Enabled
    PublicNetworkAccessDisabled
    Disabled
    Enabled
    Enabled
    Disabled
    Disabled
    Enabled
    Enabled
    Disabled
    Disabled
    ENABLED
    Enabled
    DISABLED
    Disabled
    "Enabled"
    Enabled
    "Disabled"
    Disabled

    ResourceIdentityType, ResourceIdentityTypeArgs

    SystemAssigned
    SystemAssignedUse an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources.
    UserAssigned
    UserAssignedUse a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources.
    None
    NoneDo not use a managed identity for the Managed Cluster, service principal will be used instead.
    ResourceIdentityTypeSystemAssigned
    SystemAssignedUse an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources.
    ResourceIdentityTypeUserAssigned
    UserAssignedUse a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources.
    ResourceIdentityTypeNone
    NoneDo not use a managed identity for the Managed Cluster, service principal will be used instead.
    SystemAssigned
    SystemAssignedUse an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources.
    UserAssigned
    UserAssignedUse a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources.
    None
    NoneDo not use a managed identity for the Managed Cluster, service principal will be used instead.
    SystemAssigned
    SystemAssignedUse an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources.
    UserAssigned
    UserAssignedUse a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources.
    None
    NoneDo not use a managed identity for the Managed Cluster, service principal will be used instead.
    SYSTEM_ASSIGNED
    SystemAssignedUse an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources.
    USER_ASSIGNED
    UserAssignedUse a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources.
    NONE
    NoneDo not use a managed identity for the Managed Cluster, service principal will be used instead.
    "SystemAssigned"
    SystemAssignedUse an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources.
    "UserAssigned"
    UserAssignedUse a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources.
    "None"
    NoneDo not use a managed identity for the Managed Cluster, service principal will be used instead.

    ResourceReference, ResourceReferenceArgs

    Id string
    The fully qualified Azure resource id.
    Id string
    The fully qualified Azure resource id.
    id String
    The fully qualified Azure resource id.
    id string
    The fully qualified Azure resource id.
    id str
    The fully qualified Azure resource id.
    id String
    The fully qualified Azure resource id.

    ResourceReferenceResponse, ResourceReferenceResponseArgs

    Id string
    The fully qualified Azure resource id.
    Id string
    The fully qualified Azure resource id.
    id String
    The fully qualified Azure resource id.
    id string
    The fully qualified Azure resource id.
    id str
    The fully qualified Azure resource id.
    id String
    The fully qualified Azure resource id.

    ScaleDownMode, ScaleDownModeArgs

    Delete
    DeleteCreate new instances during scale up and remove instances during scale down.
    Deallocate
    DeallocateAttempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.
    ScaleDownModeDelete
    DeleteCreate new instances during scale up and remove instances during scale down.
    ScaleDownModeDeallocate
    DeallocateAttempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.
    Delete
    DeleteCreate new instances during scale up and remove instances during scale down.
    Deallocate
    DeallocateAttempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.
    Delete
    DeleteCreate new instances during scale up and remove instances during scale down.
    Deallocate
    DeallocateAttempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.
    DELETE
    DeleteCreate new instances during scale up and remove instances during scale down.
    DEALLOCATE
    DeallocateAttempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.
    "Delete"
    DeleteCreate new instances during scale up and remove instances during scale down.
    "Deallocate"
    DeallocateAttempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.

    ScaleSetEvictionPolicy, ScaleSetEvictionPolicyArgs

    Delete
    DeleteNodes in the underlying Scale Set of the node pool are deleted when they're evicted.
    Deallocate
    DeallocateNodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.
    ScaleSetEvictionPolicyDelete
    DeleteNodes in the underlying Scale Set of the node pool are deleted when they're evicted.
    ScaleSetEvictionPolicyDeallocate
    DeallocateNodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.
    Delete
    DeleteNodes in the underlying Scale Set of the node pool are deleted when they're evicted.
    Deallocate
    DeallocateNodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.
    Delete
    DeleteNodes in the underlying Scale Set of the node pool are deleted when they're evicted.
    Deallocate
    DeallocateNodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.
    DELETE
    DeleteNodes in the underlying Scale Set of the node pool are deleted when they're evicted.
    DEALLOCATE
    DeallocateNodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.
    "Delete"
    DeleteNodes in the underlying Scale Set of the node pool are deleted when they're evicted.
    "Deallocate"
    DeallocateNodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.

    ScaleSetPriority, ScaleSetPriorityArgs

    Spot
    SpotSpot priority VMs will be used. There is no SLA for spot nodes. See spot on AKS for more information.
    Regular
    RegularRegular VMs will be used.
    ScaleSetPrioritySpot
    SpotSpot priority VMs will be used. There is no SLA for spot nodes. See spot on AKS for more information.
    ScaleSetPriorityRegular
    RegularRegular VMs will be used.
    Spot
    SpotSpot priority VMs will be used. There is no SLA for spot nodes. See spot on AKS for more information.
    Regular
    RegularRegular VMs will be used.
    Spot
    SpotSpot priority VMs will be used. There is no SLA for spot nodes. See spot on AKS for more information.
    Regular
    RegularRegular VMs will be used.
    SPOT
    SpotSpot priority VMs will be used. There is no SLA for spot nodes. See spot on AKS for more information.
    REGULAR
    RegularRegular VMs will be used.
    "Spot"
    SpotSpot priority VMs will be used. There is no SLA for spot nodes. See spot on AKS for more information.
    "Regular"
    RegularRegular VMs will be used.

    SysctlConfig, SysctlConfigArgs

    FsAioMaxNr int
    Sysctl setting fs.aio-max-nr.
    FsFileMax int
    Sysctl setting fs.file-max.
    FsInotifyMaxUserWatches int
    Sysctl setting fs.inotify.max_user_watches.
    FsNrOpen int
    Sysctl setting fs.nr_open.
    KernelThreadsMax int
    Sysctl setting kernel.threads-max.
    NetCoreNetdevMaxBacklog int
    Sysctl setting net.core.netdev_max_backlog.
    NetCoreOptmemMax int
    Sysctl setting net.core.optmem_max.
    NetCoreRmemDefault int
    Sysctl setting net.core.rmem_default.
    NetCoreRmemMax int
    Sysctl setting net.core.rmem_max.
    NetCoreSomaxconn int
    Sysctl setting net.core.somaxconn.
    NetCoreWmemDefault int
    Sysctl setting net.core.wmem_default.
    NetCoreWmemMax int
    Sysctl setting net.core.wmem_max.
    NetIpv4IpLocalPortRange string
    Sysctl setting net.ipv4.ip_local_port_range.
    NetIpv4NeighDefaultGcThresh1 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    NetIpv4NeighDefaultGcThresh2 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    NetIpv4NeighDefaultGcThresh3 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    NetIpv4TcpFinTimeout int
    Sysctl setting net.ipv4.tcp_fin_timeout.
    NetIpv4TcpKeepaliveProbes int
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    NetIpv4TcpKeepaliveTime int
    Sysctl setting net.ipv4.tcp_keepalive_time.
    NetIpv4TcpMaxSynBacklog int
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    NetIpv4TcpMaxTwBuckets int
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    NetIpv4TcpTwReuse bool
    Sysctl setting net.ipv4.tcp_tw_reuse.
    NetIpv4TcpkeepaliveIntvl int
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    NetNetfilterNfConntrackBuckets int
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    NetNetfilterNfConntrackMax int
    Sysctl setting net.netfilter.nf_conntrack_max.
    VmMaxMapCount int
    Sysctl setting vm.max_map_count.
    VmSwappiness int
    Sysctl setting vm.swappiness.
    VmVfsCachePressure int
    Sysctl setting vm.vfs_cache_pressure.
    FsAioMaxNr int
    Sysctl setting fs.aio-max-nr.
    FsFileMax int
    Sysctl setting fs.file-max.
    FsInotifyMaxUserWatches int
    Sysctl setting fs.inotify.max_user_watches.
    FsNrOpen int
    Sysctl setting fs.nr_open.
    KernelThreadsMax int
    Sysctl setting kernel.threads-max.
    NetCoreNetdevMaxBacklog int
    Sysctl setting net.core.netdev_max_backlog.
    NetCoreOptmemMax int
    Sysctl setting net.core.optmem_max.
    NetCoreRmemDefault int
    Sysctl setting net.core.rmem_default.
    NetCoreRmemMax int
    Sysctl setting net.core.rmem_max.
    NetCoreSomaxconn int
    Sysctl setting net.core.somaxconn.
    NetCoreWmemDefault int
    Sysctl setting net.core.wmem_default.
    NetCoreWmemMax int
    Sysctl setting net.core.wmem_max.
    NetIpv4IpLocalPortRange string
    Sysctl setting net.ipv4.ip_local_port_range.
    NetIpv4NeighDefaultGcThresh1 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    NetIpv4NeighDefaultGcThresh2 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    NetIpv4NeighDefaultGcThresh3 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    NetIpv4TcpFinTimeout int
    Sysctl setting net.ipv4.tcp_fin_timeout.
    NetIpv4TcpKeepaliveProbes int
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    NetIpv4TcpKeepaliveTime int
    Sysctl setting net.ipv4.tcp_keepalive_time.
    NetIpv4TcpMaxSynBacklog int
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    NetIpv4TcpMaxTwBuckets int
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    NetIpv4TcpTwReuse bool
    Sysctl setting net.ipv4.tcp_tw_reuse.
    NetIpv4TcpkeepaliveIntvl int
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    NetNetfilterNfConntrackBuckets int
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    NetNetfilterNfConntrackMax int
    Sysctl setting net.netfilter.nf_conntrack_max.
    VmMaxMapCount int
    Sysctl setting vm.max_map_count.
    VmSwappiness int
    Sysctl setting vm.swappiness.
    VmVfsCachePressure int
    Sysctl setting vm.vfs_cache_pressure.
    fsAioMaxNr Integer
    Sysctl setting fs.aio-max-nr.
    fsFileMax Integer
    Sysctl setting fs.file-max.
    fsInotifyMaxUserWatches Integer
    Sysctl setting fs.inotify.max_user_watches.
    fsNrOpen Integer
    Sysctl setting fs.nr_open.
    kernelThreadsMax Integer
    Sysctl setting kernel.threads-max.
    netCoreNetdevMaxBacklog Integer
    Sysctl setting net.core.netdev_max_backlog.
    netCoreOptmemMax Integer
    Sysctl setting net.core.optmem_max.
    netCoreRmemDefault Integer
    Sysctl setting net.core.rmem_default.
    netCoreRmemMax Integer
    Sysctl setting net.core.rmem_max.
    netCoreSomaxconn Integer
    Sysctl setting net.core.somaxconn.
    netCoreWmemDefault Integer
    Sysctl setting net.core.wmem_default.
    netCoreWmemMax Integer
    Sysctl setting net.core.wmem_max.
    netIpv4IpLocalPortRange String
    Sysctl setting net.ipv4.ip_local_port_range.
    netIpv4NeighDefaultGcThresh1 Integer
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    netIpv4NeighDefaultGcThresh2 Integer
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    netIpv4NeighDefaultGcThresh3 Integer
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    netIpv4TcpFinTimeout Integer
    Sysctl setting net.ipv4.tcp_fin_timeout.
    netIpv4TcpKeepaliveProbes Integer
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    netIpv4TcpKeepaliveTime Integer
    Sysctl setting net.ipv4.tcp_keepalive_time.
    netIpv4TcpMaxSynBacklog Integer
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    netIpv4TcpMaxTwBuckets Integer
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    netIpv4TcpTwReuse Boolean
    Sysctl setting net.ipv4.tcp_tw_reuse.
    netIpv4TcpkeepaliveIntvl Integer
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    netNetfilterNfConntrackBuckets Integer
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    netNetfilterNfConntrackMax Integer
    Sysctl setting net.netfilter.nf_conntrack_max.
    vmMaxMapCount Integer
    Sysctl setting vm.max_map_count.
    vmSwappiness Integer
    Sysctl setting vm.swappiness.
    vmVfsCachePressure Integer
    Sysctl setting vm.vfs_cache_pressure.
    fsAioMaxNr number
    Sysctl setting fs.aio-max-nr.
    fsFileMax number
    Sysctl setting fs.file-max.
    fsInotifyMaxUserWatches number
    Sysctl setting fs.inotify.max_user_watches.
    fsNrOpen number
    Sysctl setting fs.nr_open.
    kernelThreadsMax number
    Sysctl setting kernel.threads-max.
    netCoreNetdevMaxBacklog number
    Sysctl setting net.core.netdev_max_backlog.
    netCoreOptmemMax number
    Sysctl setting net.core.optmem_max.
    netCoreRmemDefault number
    Sysctl setting net.core.rmem_default.
    netCoreRmemMax number
    Sysctl setting net.core.rmem_max.
    netCoreSomaxconn number
    Sysctl setting net.core.somaxconn.
    netCoreWmemDefault number
    Sysctl setting net.core.wmem_default.
    netCoreWmemMax number
    Sysctl setting net.core.wmem_max.
    netIpv4IpLocalPortRange string
    Sysctl setting net.ipv4.ip_local_port_range.
    netIpv4NeighDefaultGcThresh1 number
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    netIpv4NeighDefaultGcThresh2 number
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    netIpv4NeighDefaultGcThresh3 number
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    netIpv4TcpFinTimeout number
    Sysctl setting net.ipv4.tcp_fin_timeout.
    netIpv4TcpKeepaliveProbes number
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    netIpv4TcpKeepaliveTime number
    Sysctl setting net.ipv4.tcp_keepalive_time.
    netIpv4TcpMaxSynBacklog number
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    netIpv4TcpMaxTwBuckets number
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    netIpv4TcpTwReuse boolean
    Sysctl setting net.ipv4.tcp_tw_reuse.
    netIpv4TcpkeepaliveIntvl number
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    netNetfilterNfConntrackBuckets number
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    netNetfilterNfConntrackMax number
    Sysctl setting net.netfilter.nf_conntrack_max.
    vmMaxMapCount number
    Sysctl setting vm.max_map_count.
    vmSwappiness number
    Sysctl setting vm.swappiness.
    vmVfsCachePressure number
    Sysctl setting vm.vfs_cache_pressure.
    fs_aio_max_nr int
    Sysctl setting fs.aio-max-nr.
    fs_file_max int
    Sysctl setting fs.file-max.
    fs_inotify_max_user_watches int
    Sysctl setting fs.inotify.max_user_watches.
    fs_nr_open int
    Sysctl setting fs.nr_open.
    kernel_threads_max int
    Sysctl setting kernel.threads-max.
    net_core_netdev_max_backlog int
    Sysctl setting net.core.netdev_max_backlog.
    net_core_optmem_max int
    Sysctl setting net.core.optmem_max.
    net_core_rmem_default int
    Sysctl setting net.core.rmem_default.
    net_core_rmem_max int
    Sysctl setting net.core.rmem_max.
    net_core_somaxconn int
    Sysctl setting net.core.somaxconn.
    net_core_wmem_default int
    Sysctl setting net.core.wmem_default.
    net_core_wmem_max int
    Sysctl setting net.core.wmem_max.
    net_ipv4_ip_local_port_range str
    Sysctl setting net.ipv4.ip_local_port_range.
    net_ipv4_neigh_default_gc_thresh1 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    net_ipv4_neigh_default_gc_thresh2 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    net_ipv4_neigh_default_gc_thresh3 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    net_ipv4_tcp_fin_timeout int
    Sysctl setting net.ipv4.tcp_fin_timeout.
    net_ipv4_tcp_keepalive_probes int
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    net_ipv4_tcp_keepalive_time int
    Sysctl setting net.ipv4.tcp_keepalive_time.
    net_ipv4_tcp_max_syn_backlog int
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    net_ipv4_tcp_max_tw_buckets int
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    net_ipv4_tcp_tw_reuse bool
    Sysctl setting net.ipv4.tcp_tw_reuse.
    net_ipv4_tcpkeepalive_intvl int
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    net_netfilter_nf_conntrack_buckets int
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    net_netfilter_nf_conntrack_max int
    Sysctl setting net.netfilter.nf_conntrack_max.
    vm_max_map_count int
    Sysctl setting vm.max_map_count.
    vm_swappiness int
    Sysctl setting vm.swappiness.
    vm_vfs_cache_pressure int
    Sysctl setting vm.vfs_cache_pressure.
    fsAioMaxNr Number
    Sysctl setting fs.aio-max-nr.
    fsFileMax Number
    Sysctl setting fs.file-max.
    fsInotifyMaxUserWatches Number
    Sysctl setting fs.inotify.max_user_watches.
    fsNrOpen Number
    Sysctl setting fs.nr_open.
    kernelThreadsMax Number
    Sysctl setting kernel.threads-max.
    netCoreNetdevMaxBacklog Number
    Sysctl setting net.core.netdev_max_backlog.
    netCoreOptmemMax Number
    Sysctl setting net.core.optmem_max.
    netCoreRmemDefault Number
    Sysctl setting net.core.rmem_default.
    netCoreRmemMax Number
    Sysctl setting net.core.rmem_max.
    netCoreSomaxconn Number
    Sysctl setting net.core.somaxconn.
    netCoreWmemDefault Number
    Sysctl setting net.core.wmem_default.
    netCoreWmemMax Number
    Sysctl setting net.core.wmem_max.
    netIpv4IpLocalPortRange String
    Sysctl setting net.ipv4.ip_local_port_range.
    netIpv4NeighDefaultGcThresh1 Number
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    netIpv4NeighDefaultGcThresh2 Number
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    netIpv4NeighDefaultGcThresh3 Number
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    netIpv4TcpFinTimeout Number
    Sysctl setting net.ipv4.tcp_fin_timeout.
    netIpv4TcpKeepaliveProbes Number
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    netIpv4TcpKeepaliveTime Number
    Sysctl setting net.ipv4.tcp_keepalive_time.
    netIpv4TcpMaxSynBacklog Number
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    netIpv4TcpMaxTwBuckets Number
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    netIpv4TcpTwReuse Boolean
    Sysctl setting net.ipv4.tcp_tw_reuse.
    netIpv4TcpkeepaliveIntvl Number
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    netNetfilterNfConntrackBuckets Number
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    netNetfilterNfConntrackMax Number
    Sysctl setting net.netfilter.nf_conntrack_max.
    vmMaxMapCount Number
    Sysctl setting vm.max_map_count.
    vmSwappiness Number
    Sysctl setting vm.swappiness.
    vmVfsCachePressure Number
    Sysctl setting vm.vfs_cache_pressure.

    SysctlConfigResponse, SysctlConfigResponseArgs

    FsAioMaxNr int
    Sysctl setting fs.aio-max-nr.
    FsFileMax int
    Sysctl setting fs.file-max.
    FsInotifyMaxUserWatches int
    Sysctl setting fs.inotify.max_user_watches.
    FsNrOpen int
    Sysctl setting fs.nr_open.
    KernelThreadsMax int
    Sysctl setting kernel.threads-max.
    NetCoreNetdevMaxBacklog int
    Sysctl setting net.core.netdev_max_backlog.
    NetCoreOptmemMax int
    Sysctl setting net.core.optmem_max.
    NetCoreRmemDefault int
    Sysctl setting net.core.rmem_default.
    NetCoreRmemMax int
    Sysctl setting net.core.rmem_max.
    NetCoreSomaxconn int
    Sysctl setting net.core.somaxconn.
    NetCoreWmemDefault int
    Sysctl setting net.core.wmem_default.
    NetCoreWmemMax int
    Sysctl setting net.core.wmem_max.
    NetIpv4IpLocalPortRange string
    Sysctl setting net.ipv4.ip_local_port_range.
    NetIpv4NeighDefaultGcThresh1 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    NetIpv4NeighDefaultGcThresh2 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    NetIpv4NeighDefaultGcThresh3 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    NetIpv4TcpFinTimeout int
    Sysctl setting net.ipv4.tcp_fin_timeout.
    NetIpv4TcpKeepaliveProbes int
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    NetIpv4TcpKeepaliveTime int
    Sysctl setting net.ipv4.tcp_keepalive_time.
    NetIpv4TcpMaxSynBacklog int
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    NetIpv4TcpMaxTwBuckets int
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    NetIpv4TcpTwReuse bool
    Sysctl setting net.ipv4.tcp_tw_reuse.
    NetIpv4TcpkeepaliveIntvl int
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    NetNetfilterNfConntrackBuckets int
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    NetNetfilterNfConntrackMax int
    Sysctl setting net.netfilter.nf_conntrack_max.
    VmMaxMapCount int
    Sysctl setting vm.max_map_count.
    VmSwappiness int
    Sysctl setting vm.swappiness.
    VmVfsCachePressure int
    Sysctl setting vm.vfs_cache_pressure.
    FsAioMaxNr int
    Sysctl setting fs.aio-max-nr.
    FsFileMax int
    Sysctl setting fs.file-max.
    FsInotifyMaxUserWatches int
    Sysctl setting fs.inotify.max_user_watches.
    FsNrOpen int
    Sysctl setting fs.nr_open.
    KernelThreadsMax int
    Sysctl setting kernel.threads-max.
    NetCoreNetdevMaxBacklog int
    Sysctl setting net.core.netdev_max_backlog.
    NetCoreOptmemMax int
    Sysctl setting net.core.optmem_max.
    NetCoreRmemDefault int
    Sysctl setting net.core.rmem_default.
    NetCoreRmemMax int
    Sysctl setting net.core.rmem_max.
    NetCoreSomaxconn int
    Sysctl setting net.core.somaxconn.
    NetCoreWmemDefault int
    Sysctl setting net.core.wmem_default.
    NetCoreWmemMax int
    Sysctl setting net.core.wmem_max.
    NetIpv4IpLocalPortRange string
    Sysctl setting net.ipv4.ip_local_port_range.
    NetIpv4NeighDefaultGcThresh1 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    NetIpv4NeighDefaultGcThresh2 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    NetIpv4NeighDefaultGcThresh3 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    NetIpv4TcpFinTimeout int
    Sysctl setting net.ipv4.tcp_fin_timeout.
    NetIpv4TcpKeepaliveProbes int
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    NetIpv4TcpKeepaliveTime int
    Sysctl setting net.ipv4.tcp_keepalive_time.
    NetIpv4TcpMaxSynBacklog int
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    NetIpv4TcpMaxTwBuckets int
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    NetIpv4TcpTwReuse bool
    Sysctl setting net.ipv4.tcp_tw_reuse.
    NetIpv4TcpkeepaliveIntvl int
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    NetNetfilterNfConntrackBuckets int
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    NetNetfilterNfConntrackMax int
    Sysctl setting net.netfilter.nf_conntrack_max.
    VmMaxMapCount int
    Sysctl setting vm.max_map_count.
    VmSwappiness int
    Sysctl setting vm.swappiness.
    VmVfsCachePressure int
    Sysctl setting vm.vfs_cache_pressure.
    fsAioMaxNr Integer
    Sysctl setting fs.aio-max-nr.
    fsFileMax Integer
    Sysctl setting fs.file-max.
    fsInotifyMaxUserWatches Integer
    Sysctl setting fs.inotify.max_user_watches.
    fsNrOpen Integer
    Sysctl setting fs.nr_open.
    kernelThreadsMax Integer
    Sysctl setting kernel.threads-max.
    netCoreNetdevMaxBacklog Integer
    Sysctl setting net.core.netdev_max_backlog.
    netCoreOptmemMax Integer
    Sysctl setting net.core.optmem_max.
    netCoreRmemDefault Integer
    Sysctl setting net.core.rmem_default.
    netCoreRmemMax Integer
    Sysctl setting net.core.rmem_max.
    netCoreSomaxconn Integer
    Sysctl setting net.core.somaxconn.
    netCoreWmemDefault Integer
    Sysctl setting net.core.wmem_default.
    netCoreWmemMax Integer
    Sysctl setting net.core.wmem_max.
    netIpv4IpLocalPortRange String
    Sysctl setting net.ipv4.ip_local_port_range.
    netIpv4NeighDefaultGcThresh1 Integer
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    netIpv4NeighDefaultGcThresh2 Integer
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    netIpv4NeighDefaultGcThresh3 Integer
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    netIpv4TcpFinTimeout Integer
    Sysctl setting net.ipv4.tcp_fin_timeout.
    netIpv4TcpKeepaliveProbes Integer
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    netIpv4TcpKeepaliveTime Integer
    Sysctl setting net.ipv4.tcp_keepalive_time.
    netIpv4TcpMaxSynBacklog Integer
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    netIpv4TcpMaxTwBuckets Integer
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    netIpv4TcpTwReuse Boolean
    Sysctl setting net.ipv4.tcp_tw_reuse.
    netIpv4TcpkeepaliveIntvl Integer
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    netNetfilterNfConntrackBuckets Integer
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    netNetfilterNfConntrackMax Integer
    Sysctl setting net.netfilter.nf_conntrack_max.
    vmMaxMapCount Integer
    Sysctl setting vm.max_map_count.
    vmSwappiness Integer
    Sysctl setting vm.swappiness.
    vmVfsCachePressure Integer
    Sysctl setting vm.vfs_cache_pressure.
    fsAioMaxNr number
    Sysctl setting fs.aio-max-nr.
    fsFileMax number
    Sysctl setting fs.file-max.
    fsInotifyMaxUserWatches number
    Sysctl setting fs.inotify.max_user_watches.
    fsNrOpen number
    Sysctl setting fs.nr_open.
    kernelThreadsMax number
    Sysctl setting kernel.threads-max.
    netCoreNetdevMaxBacklog number
    Sysctl setting net.core.netdev_max_backlog.
    netCoreOptmemMax number
    Sysctl setting net.core.optmem_max.
    netCoreRmemDefault number
    Sysctl setting net.core.rmem_default.
    netCoreRmemMax number
    Sysctl setting net.core.rmem_max.
    netCoreSomaxconn number
    Sysctl setting net.core.somaxconn.
    netCoreWmemDefault number
    Sysctl setting net.core.wmem_default.
    netCoreWmemMax number
    Sysctl setting net.core.wmem_max.
    netIpv4IpLocalPortRange string
    Sysctl setting net.ipv4.ip_local_port_range.
    netIpv4NeighDefaultGcThresh1 number
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    netIpv4NeighDefaultGcThresh2 number
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    netIpv4NeighDefaultGcThresh3 number
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    netIpv4TcpFinTimeout number
    Sysctl setting net.ipv4.tcp_fin_timeout.
    netIpv4TcpKeepaliveProbes number
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    netIpv4TcpKeepaliveTime number
    Sysctl setting net.ipv4.tcp_keepalive_time.
    netIpv4TcpMaxSynBacklog number
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    netIpv4TcpMaxTwBuckets number
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    netIpv4TcpTwReuse boolean
    Sysctl setting net.ipv4.tcp_tw_reuse.
    netIpv4TcpkeepaliveIntvl number
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    netNetfilterNfConntrackBuckets number
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    netNetfilterNfConntrackMax number
    Sysctl setting net.netfilter.nf_conntrack_max.
    vmMaxMapCount number
    Sysctl setting vm.max_map_count.
    vmSwappiness number
    Sysctl setting vm.swappiness.
    vmVfsCachePressure number
    Sysctl setting vm.vfs_cache_pressure.
    fs_aio_max_nr int
    Sysctl setting fs.aio-max-nr.
    fs_file_max int
    Sysctl setting fs.file-max.
    fs_inotify_max_user_watches int
    Sysctl setting fs.inotify.max_user_watches.
    fs_nr_open int
    Sysctl setting fs.nr_open.
    kernel_threads_max int
    Sysctl setting kernel.threads-max.
    net_core_netdev_max_backlog int
    Sysctl setting net.core.netdev_max_backlog.
    net_core_optmem_max int
    Sysctl setting net.core.optmem_max.
    net_core_rmem_default int
    Sysctl setting net.core.rmem_default.
    net_core_rmem_max int
    Sysctl setting net.core.rmem_max.
    net_core_somaxconn int
    Sysctl setting net.core.somaxconn.
    net_core_wmem_default int
    Sysctl setting net.core.wmem_default.
    net_core_wmem_max int
    Sysctl setting net.core.wmem_max.
    net_ipv4_ip_local_port_range str
    Sysctl setting net.ipv4.ip_local_port_range.
    net_ipv4_neigh_default_gc_thresh1 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    net_ipv4_neigh_default_gc_thresh2 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    net_ipv4_neigh_default_gc_thresh3 int
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    net_ipv4_tcp_fin_timeout int
    Sysctl setting net.ipv4.tcp_fin_timeout.
    net_ipv4_tcp_keepalive_probes int
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    net_ipv4_tcp_keepalive_time int
    Sysctl setting net.ipv4.tcp_keepalive_time.
    net_ipv4_tcp_max_syn_backlog int
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    net_ipv4_tcp_max_tw_buckets int
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    net_ipv4_tcp_tw_reuse bool
    Sysctl setting net.ipv4.tcp_tw_reuse.
    net_ipv4_tcpkeepalive_intvl int
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    net_netfilter_nf_conntrack_buckets int
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    net_netfilter_nf_conntrack_max int
    Sysctl setting net.netfilter.nf_conntrack_max.
    vm_max_map_count int
    Sysctl setting vm.max_map_count.
    vm_swappiness int
    Sysctl setting vm.swappiness.
    vm_vfs_cache_pressure int
    Sysctl setting vm.vfs_cache_pressure.
    fsAioMaxNr Number
    Sysctl setting fs.aio-max-nr.
    fsFileMax Number
    Sysctl setting fs.file-max.
    fsInotifyMaxUserWatches Number
    Sysctl setting fs.inotify.max_user_watches.
    fsNrOpen Number
    Sysctl setting fs.nr_open.
    kernelThreadsMax Number
    Sysctl setting kernel.threads-max.
    netCoreNetdevMaxBacklog Number
    Sysctl setting net.core.netdev_max_backlog.
    netCoreOptmemMax Number
    Sysctl setting net.core.optmem_max.
    netCoreRmemDefault Number
    Sysctl setting net.core.rmem_default.
    netCoreRmemMax Number
    Sysctl setting net.core.rmem_max.
    netCoreSomaxconn Number
    Sysctl setting net.core.somaxconn.
    netCoreWmemDefault Number
    Sysctl setting net.core.wmem_default.
    netCoreWmemMax Number
    Sysctl setting net.core.wmem_max.
    netIpv4IpLocalPortRange String
    Sysctl setting net.ipv4.ip_local_port_range.
    netIpv4NeighDefaultGcThresh1 Number
    Sysctl setting net.ipv4.neigh.default.gc_thresh1.
    netIpv4NeighDefaultGcThresh2 Number
    Sysctl setting net.ipv4.neigh.default.gc_thresh2.
    netIpv4NeighDefaultGcThresh3 Number
    Sysctl setting net.ipv4.neigh.default.gc_thresh3.
    netIpv4TcpFinTimeout Number
    Sysctl setting net.ipv4.tcp_fin_timeout.
    netIpv4TcpKeepaliveProbes Number
    Sysctl setting net.ipv4.tcp_keepalive_probes.
    netIpv4TcpKeepaliveTime Number
    Sysctl setting net.ipv4.tcp_keepalive_time.
    netIpv4TcpMaxSynBacklog Number
    Sysctl setting net.ipv4.tcp_max_syn_backlog.
    netIpv4TcpMaxTwBuckets Number
    Sysctl setting net.ipv4.tcp_max_tw_buckets.
    netIpv4TcpTwReuse Boolean
    Sysctl setting net.ipv4.tcp_tw_reuse.
    netIpv4TcpkeepaliveIntvl Number
    Sysctl setting net.ipv4.tcp_keepalive_intvl.
    netNetfilterNfConntrackBuckets Number
    Sysctl setting net.netfilter.nf_conntrack_buckets.
    netNetfilterNfConntrackMax Number
    Sysctl setting net.netfilter.nf_conntrack_max.
    vmMaxMapCount Number
    Sysctl setting vm.max_map_count.
    vmSwappiness Number
    Sysctl setting vm.swappiness.
    vmVfsCachePressure Number
    Sysctl setting vm.vfs_cache_pressure.

    SystemDataResponse, SystemDataResponseArgs

    CreatedAt string
    The timestamp of resource creation (UTC).
    CreatedBy string
    The identity that created the resource.
    CreatedByType string
    The type of identity that created the resource.
    LastModifiedAt string
    The timestamp of resource last modification (UTC)
    LastModifiedBy string
    The identity that last modified the resource.
    LastModifiedByType string
    The type of identity that last modified the resource.
    CreatedAt string
    The timestamp of resource creation (UTC).
    CreatedBy string
    The identity that created the resource.
    CreatedByType string
    The type of identity that created the resource.
    LastModifiedAt string
    The timestamp of resource last modification (UTC)
    LastModifiedBy string
    The identity that last modified the resource.
    LastModifiedByType string
    The type of identity that last modified the resource.
    createdAt String
    The timestamp of resource creation (UTC).
    createdBy String
    The identity that created the resource.
    createdByType String
    The type of identity that created the resource.
    lastModifiedAt String
    The timestamp of resource last modification (UTC)
    lastModifiedBy String
    The identity that last modified the resource.
    lastModifiedByType String
    The type of identity that last modified the resource.
    createdAt string
    The timestamp of resource creation (UTC).
    createdBy string
    The identity that created the resource.
    createdByType string
    The type of identity that created the resource.
    lastModifiedAt string
    The timestamp of resource last modification (UTC)
    lastModifiedBy string
    The identity that last modified the resource.
    lastModifiedByType string
    The type of identity that last modified the resource.
    created_at str
    The timestamp of resource creation (UTC).
    created_by str
    The identity that created the resource.
    created_by_type str
    The type of identity that created the resource.
    last_modified_at str
    The timestamp of resource last modification (UTC)
    last_modified_by str
    The identity that last modified the resource.
    last_modified_by_type str
    The type of identity that last modified the resource.
    createdAt String
    The timestamp of resource creation (UTC).
    createdBy String
    The identity that created the resource.
    createdByType String
    The type of identity that created the resource.
    lastModifiedAt String
    The timestamp of resource last modification (UTC)
    lastModifiedBy String
    The identity that last modified the resource.
    lastModifiedByType String
    The type of identity that last modified the resource.

    UpgradeChannel, UpgradeChannelArgs

    Rapid
    rapidAutomatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1.
    Stable
    stableAutomatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6.
    Patch
    patchAutomatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9.
    Node_image
    node-imageAutomatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available.
    None
    noneDisables auto-upgrades and keeps the cluster at its current version of Kubernetes.
    UpgradeChannelRapid
    rapidAutomatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1.
    UpgradeChannelStable
    stableAutomatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6.
    UpgradeChannelPatch
    patchAutomatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9.
    UpgradeChannel_Node_Image
    node-imageAutomatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available.
    UpgradeChannelNone
    noneDisables auto-upgrades and keeps the cluster at its current version of Kubernetes.
    Rapid
    rapidAutomatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1.
    Stable
    stableAutomatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6.
    Patch
    patchAutomatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9.
    Nodeimage
    node-imageAutomatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available.
    None
    noneDisables auto-upgrades and keeps the cluster at its current version of Kubernetes.
    Rapid
    rapidAutomatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1.
    Stable
    stableAutomatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6.
    Patch
    patchAutomatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9.
    Node_image
    node-imageAutomatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available.
    None
    noneDisables auto-upgrades and keeps the cluster at its current version of Kubernetes.
    RAPID
    rapidAutomatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1.
    STABLE
    stableAutomatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6.
    PATCH
    patchAutomatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9.
    NODE_IMAGE
    node-imageAutomatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available.
    NONE
    noneDisables auto-upgrades and keeps the cluster at its current version of Kubernetes.
    "rapid"
    rapidAutomatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1.
    "stable"
    stableAutomatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6.
    "patch"
    patchAutomatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9.
    "node-image"
    node-imageAutomatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available.
    "none"
    noneDisables auto-upgrades and keeps the cluster at its current version of Kubernetes.

    UserAssignedIdentity, UserAssignedIdentityArgs

    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.
    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.

    UserAssignedIdentityResponse, UserAssignedIdentityResponseArgs

    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.
    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.

    WindowsGmsaProfile, WindowsGmsaProfileArgs

    DnsServer string
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    Enabled bool
    Specifies whether to enable Windows gMSA in the managed cluster.
    RootDomainName string
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    DnsServer string
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    Enabled bool
    Specifies whether to enable Windows gMSA in the managed cluster.
    RootDomainName string
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    dnsServer String
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    enabled Boolean
    Specifies whether to enable Windows gMSA in the managed cluster.
    rootDomainName String
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    dnsServer string
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    enabled boolean
    Specifies whether to enable Windows gMSA in the managed cluster.
    rootDomainName string
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    dns_server str
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    enabled bool
    Specifies whether to enable Windows gMSA in the managed cluster.
    root_domain_name str
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    dnsServer String
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    enabled Boolean
    Specifies whether to enable Windows gMSA in the managed cluster.
    rootDomainName String
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.

    WindowsGmsaProfileResponse, WindowsGmsaProfileResponseArgs

    DnsServer string
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    Enabled bool
    Specifies whether to enable Windows gMSA in the managed cluster.
    RootDomainName string
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    DnsServer string
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    Enabled bool
    Specifies whether to enable Windows gMSA in the managed cluster.
    RootDomainName string
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    dnsServer String
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    enabled Boolean
    Specifies whether to enable Windows gMSA in the managed cluster.
    rootDomainName String
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    dnsServer string
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    enabled boolean
    Specifies whether to enable Windows gMSA in the managed cluster.
    rootDomainName string
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    dns_server str
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    enabled bool
    Specifies whether to enable Windows gMSA in the managed cluster.
    root_domain_name str
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    dnsServer String
    Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.
    enabled Boolean
    Specifies whether to enable Windows gMSA in the managed cluster.
    rootDomainName String
    Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster.

    WorkloadRuntime, WorkloadRuntimeArgs

    OCIContainer
    OCIContainerNodes will use Kubelet to run standard OCI container workloads.
    WasmWasi
    WasmWasiNodes will use Krustlet to run WASM workloads using the WASI provider (Preview).
    WorkloadRuntimeOCIContainer
    OCIContainerNodes will use Kubelet to run standard OCI container workloads.
    WorkloadRuntimeWasmWasi
    WasmWasiNodes will use Krustlet to run WASM workloads using the WASI provider (Preview).
    OCIContainer
    OCIContainerNodes will use Kubelet to run standard OCI container workloads.
    WasmWasi
    WasmWasiNodes will use Krustlet to run WASM workloads using the WASI provider (Preview).
    OCIContainer
    OCIContainerNodes will use Kubelet to run standard OCI container workloads.
    WasmWasi
    WasmWasiNodes will use Krustlet to run WASM workloads using the WASI provider (Preview).
    OCI_CONTAINER
    OCIContainerNodes will use Kubelet to run standard OCI container workloads.
    WASM_WASI
    WasmWasiNodes will use Krustlet to run WASM workloads using the WASI provider (Preview).
    "OCIContainer"
    OCIContainerNodes will use Kubelet to run standard OCI container workloads.
    "WasmWasi"
    WasmWasiNodes will use Krustlet to run WASM workloads using the WASI provider (Preview).

    Import

    An existing resource can be imported using its type token, name, and identifier, e.g.

    $ pulumi import azure-native:containerservice:ManagedCluster clustername1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} 
    

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

    Package Details

    Repository
    Azure Native pulumi/pulumi-azure-native
    License
    Apache-2.0
    azure-native logo
    This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
    Azure Native v2.37.0 published on Monday, Apr 15, 2024 by Pulumi