Class ManagedCluster


  • public class ManagedCluster
    extends com.pulumi.resources.CustomResource
    Managed cluster. API Version: 2021-03-01. ## Example Usage ### Create Managed Cluster with Azure KeyVault Secrets Provider Addon ```java 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 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.of("enableSecretRotation", "true")), Map.entry("enabled", true) ))) .agentPoolProfiles(Map.ofEntries( Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Cluster with EncryptionAtHost enabled ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableEncryptionAtHost", true), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Cluster with FIPS enabled OS ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableFIPS", true), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(false) .enableRBAC(true) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Cluster with GPUMIG ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("gpuInstanceProfile", "MIG3g"), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_ND96asr_v4") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .httpProxyConfig(Map.ofEntries( Map.entry("httpProxy", "http://myproxy.server.com:8080"), Map.entry("httpsProxy", "https://myproxy.server.com:8080"), Map.entry("noProxy", "localhost", "127.0.0.1"), Map.entry("trustedCa", "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=") )) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Cluster with HTTP proxy configured ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .httpProxyConfig(Map.ofEntries( Map.entry("httpProxy", "http://myproxy.server.com:8080"), Map.entry("httpsProxy", "https://myproxy.server.com:8080"), Map.entry("noProxy", "localhost", "127.0.0.1"), Map.entry("trustedCa", "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=") )) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Cluster with Node Public IP Prefix ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("nodePublicIPPrefixID", "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Cluster with OSSKU ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osSKU", "CBLMariner"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .httpProxyConfig(Map.ofEntries( Map.entry("httpProxy", "http://myproxy.server.com:8080"), Map.entry("httpsProxy", "https://myproxy.server.com:8080"), Map.entry("noProxy", "localhost", "127.0.0.1"), Map.entry("trustedCa", "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=") )) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Cluster with PPG ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("proximityPlacementGroupID", "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Cluster with PodIdentity enabled ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .podIdentityProfile(Map.ofEntries( Map.entry("allowNetworkPluginKubenet", true), Map.entry("enabled", true) )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create Managed Private Cluster with fqdn subdomain specified ```java 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 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(Map.ofEntries( Map.entry("count", 3), Map.entry("enableEncryptionAtHost", true), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS2_v2") )) .apiServerAccessProfile(Map.ofEntries( Map.entry("enablePrivateCluster", true), Map.entry("privateDNSZone", "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .enablePodSecurityPolicy(true) .enableRBAC(true) .fqdnSubdomain("domain1") .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create/Update AAD Managed Cluster with EnableAzureRBAC ```java 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 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(Map.ofEntries( Map.entry("enableAzureRBAC", true), Map.entry("managed", true) )) .addonProfiles() .agentPoolProfiles(Map.ofEntries( Map.entry("availabilityZones", "1", "2", "3"), Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS1_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create/Update Managed Cluster ```java 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 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(Map.ofEntries( Map.entry("availabilityZones", "1", "2", "3"), Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS1_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("balanceSimilarNodeGroups", "true"), Map.entry("expander", "priority"), Map.entry("maxNodeProvisionTime", "15m"), Map.entry("newPodScaleUpDelay", "1m"), Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s"), Map.entry("skipNodesWithSystemPods", "false") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .identity(Map.ofEntries( Map.entry("type", "UserAssigned"), Map.entry("userAssignedIdentities", Map.of("/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", )) )) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser") )) .build()); } } ``` ### Create/Update Managed Cluster with EnableAHUB ```java 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 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(Map.ofEntries( Map.entry("availabilityZones", "1", "2", "3"), Map.entry("count", 3), Map.entry("enableNodePublicIP", true), Map.entry("mode", "System"), Map.entry("name", "nodepool1"), Map.entry("osType", "Linux"), Map.entry("type", "VirtualMachineScaleSets"), Map.entry("vmSize", "Standard_DS1_v2") )) .autoScalerProfile(Map.ofEntries( Map.entry("scaleDownDelayAfterAdd", "15m"), Map.entry("scanInterval", "20s") )) .diskEncryptionSetID("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des") .dnsPrefix("dnsprefix1") .enablePodSecurityPolicy(true) .enableRBAC(true) .identity(Map.ofEntries( Map.entry("type", "UserAssigned"), Map.entry("userAssignedIdentities", Map.of("/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", )) )) .kubernetesVersion("") .linuxProfile(Map.ofEntries( Map.entry("adminUsername", "azureuser"), Map.entry("ssh", Map.of("publicKeys", Map.of("keyData", "keydata"))) )) .location("location1") .networkProfile(Map.ofEntries( Map.entry("loadBalancerProfile", Map.of("managedOutboundIPs", Map.of("count", 2))), Map.entry("loadBalancerSku", "standard"), Map.entry("outboundType", "loadBalancer") )) .resourceGroupName("rg1") .resourceName("clustername1") .servicePrincipalProfile(Map.ofEntries( Map.entry("clientId", "clientid"), Map.entry("secret", "secret") )) .sku(Map.ofEntries( Map.entry("name", "Basic"), Map.entry("tier", "Free") )) .tags(Map.ofEntries( Map.entry("archv2", ""), Map.entry("tier", "production") )) .windowsProfile(Map.ofEntries( Map.entry("adminPassword", "replacePassword1234$"), Map.entry("adminUsername", "azureuser"), Map.entry("licenseType", "Windows_Server") )) .build()); } } ``` ## Import An existing resource can be imported using its type token, name, and identifier, e.g. ```sh $ pulumi import azure-native:containerservice:ManagedCluster clustername1 /subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1 ```
    • Constructor Detail

      • ManagedCluster

        public ManagedCluster​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • ManagedCluster

        public ManagedCluster​(java.lang.String name,
                              ManagedClusterArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • ManagedCluster

        public ManagedCluster​(java.lang.String name,
                              ManagedClusterArgs args,
                              @Nullable
                              com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • aadProfile

        public com.pulumi.core.Output<java.util.Optional<ManagedClusterAADProfileResponse>> aadProfile()
        Returns:
        Profile of Azure Active Directory configuration.
      • addonProfiles

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​ManagedClusterAddonProfileResponse>>> addonProfiles()
        Returns:
        Profile of managed cluster add-on.
      • azurePortalFQDN

        public com.pulumi.core.Output<java.lang.String> azurePortalFQDN()
        Returns:
        FQDN for the master pool which used by proxy config.
      • disableLocalAccounts

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> disableLocalAccounts()
        Returns:
        If set to true, getting static credential will be disabled for this cluster. Expected to only be used for AAD clusters.
      • diskEncryptionSetID

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> diskEncryptionSetID()
        Returns:
        ResourceId of the disk encryption set to use for enabling encryption at rest.
      • dnsPrefix

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> dnsPrefix()
        Returns:
        DNS prefix specified when creating the managed cluster.
      • enablePodSecurityPolicy

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enablePodSecurityPolicy()
        Returns:
        (DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy.
      • enableRBAC

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableRBAC()
        Returns:
        Whether to enable Kubernetes Role-Based Access Control.
      • extendedLocation

        public com.pulumi.core.Output<java.util.Optional<ExtendedLocationResponse>> extendedLocation()
        Returns:
        The extended location of the Virtual Machine.
      • fqdn

        public com.pulumi.core.Output<java.lang.String> fqdn()
        Returns:
        FQDN for the master pool.
      • fqdnSubdomain

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> fqdnSubdomain()
        Returns:
        FQDN subdomain specified when creating private cluster with custom private dns zone.
      • httpProxyConfig

        public com.pulumi.core.Output<java.util.Optional<ManagedClusterHTTPProxyConfigResponse>> httpProxyConfig()
        Returns:
        Configurations for provisioning the cluster with HTTP proxy servers.
      • identity

        public com.pulumi.core.Output<java.util.Optional<ManagedClusterIdentityResponse>> identity()
        Returns:
        The identity of the managed cluster, if configured.
      • kubernetesVersion

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> kubernetesVersion()
        Returns:
        Version of Kubernetes specified when creating the managed cluster.
      • linuxProfile

        public com.pulumi.core.Output<java.util.Optional<ContainerServiceLinuxProfileResponse>> linuxProfile()
        Returns:
        Profile for Linux VMs in the container service cluster.
      • location

        public com.pulumi.core.Output<java.lang.String> location()
        Returns:
        Resource location
      • maxAgentPools

        public com.pulumi.core.Output<java.lang.Integer> maxAgentPools()
        Returns:
        The max number of agent pools for the managed cluster.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Resource name
      • nodeResourceGroup

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> nodeResourceGroup()
        Returns:
        Name of the resource group containing agent pool nodes.
      • powerState

        public com.pulumi.core.Output<PowerStateResponse> powerState()
        Returns:
        Represents the Power State of the cluster
      • privateFQDN

        public com.pulumi.core.Output<java.lang.String> privateFQDN()
        Returns:
        FQDN of private cluster.
      • privateLinkResources

        public com.pulumi.core.Output<java.util.Optional<java.util.List<PrivateLinkResourceResponse>>> privateLinkResources()
        Returns:
        Private link resources associated with the cluster.
      • provisioningState

        public com.pulumi.core.Output<java.lang.String> provisioningState()
        Returns:
        The current deployment or provisioning state, which only appears in the response.
      • servicePrincipalProfile

        public com.pulumi.core.Output<java.util.Optional<ManagedClusterServicePrincipalProfileResponse>> servicePrincipalProfile()
        Returns:
        Information about a service principal identity for the cluster to use for manipulating Azure APIs.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Resource tags
      • type

        public com.pulumi.core.Output<java.lang.String> type()
        Returns:
        Resource type
      • windowsProfile

        public com.pulumi.core.Output<java.util.Optional<ManagedClusterWindowsProfileResponse>> windowsProfile()
        Returns:
        Profile for Windows VMs in the container service cluster.
      • get

        public static ManagedCluster get​(java.lang.String name,
                                         com.pulumi.core.Output<java.lang.String> id,
                                         @Nullable
                                         com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        options - Optional settings to control the behavior of the CustomResource.