com.pulumi.azurenative.containerservice.ManagedCluster Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.containerservice;
import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.containerservice.ManagedClusterArgs;
import com.pulumi.azurenative.containerservice.outputs.ContainerServiceLinuxProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ContainerServiceNetworkProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ExtendedLocationResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterAADProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterAPIServerAccessProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterAddonProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterAgentPoolProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterAutoUpgradeProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterAzureMonitorProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterHTTPProxyConfigResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterIdentityResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterOIDCIssuerProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterPodIdentityProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterPropertiesResponseAutoScalerProfile;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterSKUResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterSecurityProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterServicePrincipalProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterStorageProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterWindowsProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.ManagedClusterWorkloadAutoScalerProfileResponse;
import com.pulumi.azurenative.containerservice.outputs.PowerStateResponse;
import com.pulumi.azurenative.containerservice.outputs.PrivateLinkResourceResponse;
import com.pulumi.azurenative.containerservice.outputs.SystemDataResponse;
import com.pulumi.azurenative.containerservice.outputs.UserAssignedIdentityResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* 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, 2024-03-02-preview, 2024-04-02-preview, 2024-05-01, 2024-05-02-preview, 2024-06-02-preview, 2024-07-01, 2024-07-02-preview, 2024-08-01.
*
* 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](https://www.pulumi.com/docs/concepts/options/replaceonchanges/), 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
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with AKS-managed NAT gateway as outbound type
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with Azure KeyVault Secrets Provider Addon
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with Dedicated Host Group
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with EncryptionAtHost enabled
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with FIPS enabled OS
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with GPUMIG
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with HTTP proxy configured
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with LongTermSupport
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with Node Public IP Prefix
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with OSSKU
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with PPG
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with PodIdentity enabled
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with RunCommand disabled
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with Security Profile configured
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with UltraSSD enabled
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Cluster with user-assigned NAT gateway as outbound type
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Private Cluster with Public FQDN specified
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create Managed Private Cluster with fqdn subdomain specified
*
*
* {@code
* 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());
*
* }
* }
*
* }
*
* ### Create/Update AAD Managed Cluster with EnableAzureRBAC
*
*
* {@code
* 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
*
* An existing resource can be imported using its type token, name, and identifier, e.g.
*
* ```sh
* $ pulumi import azure-native:containerservice:ManagedCluster clustername1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}
* ```
*
*/
@ResourceType(type="azure-native:containerservice:ManagedCluster")
public class ManagedCluster extends com.pulumi.resources.CustomResource {
/**
* The Azure Active Directory configuration.
*
*/
@Export(name="aadProfile", refs={ManagedClusterAADProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterAADProfileResponse> aadProfile;
/**
* @return The Azure Active Directory configuration.
*
*/
public Output> aadProfile() {
return Codegen.optional(this.aadProfile);
}
/**
* The profile of managed cluster add-on.
*
*/
@Export(name="addonProfiles", refs={Map.class,String.class,ManagedClusterAddonProfileResponse.class}, tree="[0,1,2]")
private Output* @Nullable */ Map> addonProfiles;
/**
* @return The profile of managed cluster add-on.
*
*/
public Output>> addonProfiles() {
return Codegen.optional(this.addonProfiles);
}
/**
* The agent pool properties.
*
*/
@Export(name="agentPoolProfiles", refs={List.class,ManagedClusterAgentPoolProfileResponse.class}, tree="[0,1]")
private Output* @Nullable */ List> agentPoolProfiles;
/**
* @return The agent pool properties.
*
*/
public Output>> agentPoolProfiles() {
return Codegen.optional(this.agentPoolProfiles);
}
/**
* The access profile for managed cluster API server.
*
*/
@Export(name="apiServerAccessProfile", refs={ManagedClusterAPIServerAccessProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterAPIServerAccessProfileResponse> apiServerAccessProfile;
/**
* @return The access profile for managed cluster API server.
*
*/
public Output> apiServerAccessProfile() {
return Codegen.optional(this.apiServerAccessProfile);
}
/**
* Parameters to be applied to the cluster-autoscaler when enabled
*
*/
@Export(name="autoScalerProfile", refs={ManagedClusterPropertiesResponseAutoScalerProfile.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterPropertiesResponseAutoScalerProfile> autoScalerProfile;
/**
* @return Parameters to be applied to the cluster-autoscaler when enabled
*
*/
public Output> autoScalerProfile() {
return Codegen.optional(this.autoScalerProfile);
}
/**
* The auto upgrade configuration.
*
*/
@Export(name="autoUpgradeProfile", refs={ManagedClusterAutoUpgradeProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterAutoUpgradeProfileResponse> autoUpgradeProfile;
/**
* @return The auto upgrade configuration.
*
*/
public Output> autoUpgradeProfile() {
return Codegen.optional(this.autoUpgradeProfile);
}
/**
* Azure Monitor addon profiles for monitoring the managed cluster.
*
*/
@Export(name="azureMonitorProfile", refs={ManagedClusterAzureMonitorProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterAzureMonitorProfileResponse> azureMonitorProfile;
/**
* @return Azure Monitor addon profiles for monitoring the managed cluster.
*
*/
public Output> azureMonitorProfile() {
return Codegen.optional(this.azureMonitorProfile);
}
/**
* 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.
*
*/
@Export(name="azurePortalFQDN", refs={String.class}, tree="[0]")
private Output azurePortalFQDN;
/**
* @return 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.
*
*/
public Output azurePortalFQDN() {
return this.azurePortalFQDN;
}
/**
* 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.
*
*/
@Export(name="currentKubernetesVersion", refs={String.class}, tree="[0]")
private Output currentKubernetesVersion;
/**
* @return 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.
*
*/
public Output currentKubernetesVersion() {
return this.currentKubernetesVersion;
}
/**
* 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](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
*
*/
@Export(name="disableLocalAccounts", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> disableLocalAccounts;
/**
* @return 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](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
*
*/
public Output> disableLocalAccounts() {
return Codegen.optional(this.disableLocalAccounts);
}
/**
* This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
*
*/
@Export(name="diskEncryptionSetID", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> diskEncryptionSetID;
/**
* @return This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
*
*/
public Output> diskEncryptionSetID() {
return Codegen.optional(this.diskEncryptionSetID);
}
/**
* This cannot be updated once the Managed Cluster has been created.
*
*/
@Export(name="dnsPrefix", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> dnsPrefix;
/**
* @return This cannot be updated once the Managed Cluster has been created.
*
*/
public Output> dnsPrefix() {
return Codegen.optional(this.dnsPrefix);
}
/**
* (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.
*
*/
@Export(name="enablePodSecurityPolicy", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> enablePodSecurityPolicy;
/**
* @return (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.
*
*/
public Output> enablePodSecurityPolicy() {
return Codegen.optional(this.enablePodSecurityPolicy);
}
/**
* Whether to enable Kubernetes Role-Based Access Control.
*
*/
@Export(name="enableRBAC", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> enableRBAC;
/**
* @return Whether to enable Kubernetes Role-Based Access Control.
*
*/
public Output> enableRBAC() {
return Codegen.optional(this.enableRBAC);
}
/**
* The extended location of the Virtual Machine.
*
*/
@Export(name="extendedLocation", refs={ExtendedLocationResponse.class}, tree="[0]")
private Output* @Nullable */ ExtendedLocationResponse> extendedLocation;
/**
* @return The extended location of the Virtual Machine.
*
*/
public Output> extendedLocation() {
return Codegen.optional(this.extendedLocation);
}
/**
* The FQDN of the master pool.
*
*/
@Export(name="fqdn", refs={String.class}, tree="[0]")
private Output fqdn;
/**
* @return The FQDN of the master pool.
*
*/
public Output fqdn() {
return this.fqdn;
}
/**
* This cannot be updated once the Managed Cluster has been created.
*
*/
@Export(name="fqdnSubdomain", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> fqdnSubdomain;
/**
* @return This cannot be updated once the Managed Cluster has been created.
*
*/
public Output> fqdnSubdomain() {
return Codegen.optional(this.fqdnSubdomain);
}
/**
* Configurations for provisioning the cluster with HTTP proxy servers.
*
*/
@Export(name="httpProxyConfig", refs={ManagedClusterHTTPProxyConfigResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterHTTPProxyConfigResponse> httpProxyConfig;
/**
* @return Configurations for provisioning the cluster with HTTP proxy servers.
*
*/
public Output> httpProxyConfig() {
return Codegen.optional(this.httpProxyConfig);
}
/**
* The identity of the managed cluster, if configured.
*
*/
@Export(name="identity", refs={ManagedClusterIdentityResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterIdentityResponse> identity;
/**
* @return The identity of the managed cluster, if configured.
*
*/
public Output> identity() {
return Codegen.optional(this.identity);
}
/**
* Identities associated with the cluster.
*
*/
@Export(name="identityProfile", refs={Map.class,String.class,UserAssignedIdentityResponse.class}, tree="[0,1,2]")
private Output* @Nullable */ Map> identityProfile;
/**
* @return Identities associated with the cluster.
*
*/
public Output>> identityProfile() {
return Codegen.optional(this.identityProfile);
}
/**
* 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](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details.
*
*/
@Export(name="kubernetesVersion", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> kubernetesVersion;
/**
* @return 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](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details.
*
*/
public Output> kubernetesVersion() {
return Codegen.optional(this.kubernetesVersion);
}
/**
* The profile for Linux VMs in the Managed Cluster.
*
*/
@Export(name="linuxProfile", refs={ContainerServiceLinuxProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ContainerServiceLinuxProfileResponse> linuxProfile;
/**
* @return The profile for Linux VMs in the Managed Cluster.
*
*/
public Output> linuxProfile() {
return Codegen.optional(this.linuxProfile);
}
/**
* The geo-location where the resource lives
*
*/
@Export(name="location", refs={String.class}, tree="[0]")
private Output location;
/**
* @return The geo-location where the resource lives
*
*/
public Output location() {
return this.location;
}
/**
* The max number of agent pools for the managed cluster.
*
*/
@Export(name="maxAgentPools", refs={Integer.class}, tree="[0]")
private Output maxAgentPools;
/**
* @return The max number of agent pools for the managed cluster.
*
*/
public Output maxAgentPools() {
return this.maxAgentPools;
}
/**
* The name of the resource
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
* @return The name of the resource
*
*/
public Output name() {
return this.name;
}
/**
* The network configuration profile.
*
*/
@Export(name="networkProfile", refs={ContainerServiceNetworkProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ContainerServiceNetworkProfileResponse> networkProfile;
/**
* @return The network configuration profile.
*
*/
public Output> networkProfile() {
return Codegen.optional(this.networkProfile);
}
/**
* The name of the resource group containing agent pool nodes.
*
*/
@Export(name="nodeResourceGroup", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> nodeResourceGroup;
/**
* @return The name of the resource group containing agent pool nodes.
*
*/
public Output> nodeResourceGroup() {
return Codegen.optional(this.nodeResourceGroup);
}
/**
* The OIDC issuer profile of the Managed Cluster.
*
*/
@Export(name="oidcIssuerProfile", refs={ManagedClusterOIDCIssuerProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterOIDCIssuerProfileResponse> oidcIssuerProfile;
/**
* @return The OIDC issuer profile of the Managed Cluster.
*
*/
public Output> oidcIssuerProfile() {
return Codegen.optional(this.oidcIssuerProfile);
}
/**
* See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration.
*
*/
@Export(name="podIdentityProfile", refs={ManagedClusterPodIdentityProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterPodIdentityProfileResponse> podIdentityProfile;
/**
* @return See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration.
*
*/
public Output> podIdentityProfile() {
return Codegen.optional(this.podIdentityProfile);
}
/**
* The Power State of the cluster.
*
*/
@Export(name="powerState", refs={PowerStateResponse.class}, tree="[0]")
private Output powerState;
/**
* @return The Power State of the cluster.
*
*/
public Output powerState() {
return this.powerState;
}
/**
* The FQDN of private cluster.
*
*/
@Export(name="privateFQDN", refs={String.class}, tree="[0]")
private Output privateFQDN;
/**
* @return The FQDN of private cluster.
*
*/
public Output privateFQDN() {
return this.privateFQDN;
}
/**
* Private link resources associated with the cluster.
*
*/
@Export(name="privateLinkResources", refs={List.class,PrivateLinkResourceResponse.class}, tree="[0,1]")
private Output* @Nullable */ List> privateLinkResources;
/**
* @return Private link resources associated with the cluster.
*
*/
public Output>> privateLinkResources() {
return Codegen.optional(this.privateLinkResources);
}
/**
* The current provisioning state.
*
*/
@Export(name="provisioningState", refs={String.class}, tree="[0]")
private Output provisioningState;
/**
* @return The current provisioning state.
*
*/
public Output provisioningState() {
return this.provisioningState;
}
/**
* Allow or deny public network access for AKS
*
*/
@Export(name="publicNetworkAccess", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> publicNetworkAccess;
/**
* @return Allow or deny public network access for AKS
*
*/
public Output> publicNetworkAccess() {
return Codegen.optional(this.publicNetworkAccess);
}
/**
* Security profile for the managed cluster.
*
*/
@Export(name="securityProfile", refs={ManagedClusterSecurityProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterSecurityProfileResponse> securityProfile;
/**
* @return Security profile for the managed cluster.
*
*/
public Output> securityProfile() {
return Codegen.optional(this.securityProfile);
}
/**
* Information about a service principal identity for the cluster to use for manipulating Azure APIs.
*
*/
@Export(name="servicePrincipalProfile", refs={ManagedClusterServicePrincipalProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterServicePrincipalProfileResponse> servicePrincipalProfile;
/**
* @return Information about a service principal identity for the cluster to use for manipulating Azure APIs.
*
*/
public Output> servicePrincipalProfile() {
return Codegen.optional(this.servicePrincipalProfile);
}
/**
* The managed cluster SKU.
*
*/
@Export(name="sku", refs={ManagedClusterSKUResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterSKUResponse> sku;
/**
* @return The managed cluster SKU.
*
*/
public Output> sku() {
return Codegen.optional(this.sku);
}
/**
* Storage profile for the managed cluster.
*
*/
@Export(name="storageProfile", refs={ManagedClusterStorageProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterStorageProfileResponse> storageProfile;
/**
* @return Storage profile for the managed cluster.
*
*/
public Output> storageProfile() {
return Codegen.optional(this.storageProfile);
}
/**
* The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
*
*/
@Export(name="supportPlan", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> supportPlan;
/**
* @return The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'.
*
*/
public Output> supportPlan() {
return Codegen.optional(this.supportPlan);
}
/**
* Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
*/
@Export(name="systemData", refs={SystemDataResponse.class}, tree="[0]")
private Output systemData;
/**
* @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
*/
public Output systemData() {
return this.systemData;
}
/**
* Resource tags.
*
*/
@Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]")
private Output* @Nullable */ Map> tags;
/**
* @return Resource tags.
*
*/
public Output>> tags() {
return Codegen.optional(this.tags);
}
/**
* The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*
*/
@Export(name="type", refs={String.class}, tree="[0]")
private Output type;
/**
* @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*
*/
public Output type() {
return this.type;
}
/**
* The profile for Windows VMs in the Managed Cluster.
*
*/
@Export(name="windowsProfile", refs={ManagedClusterWindowsProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterWindowsProfileResponse> windowsProfile;
/**
* @return The profile for Windows VMs in the Managed Cluster.
*
*/
public Output> windowsProfile() {
return Codegen.optional(this.windowsProfile);
}
/**
* Workload Auto-scaler profile for the managed cluster.
*
*/
@Export(name="workloadAutoScalerProfile", refs={ManagedClusterWorkloadAutoScalerProfileResponse.class}, tree="[0]")
private Output* @Nullable */ ManagedClusterWorkloadAutoScalerProfileResponse> workloadAutoScalerProfile;
/**
* @return Workload Auto-scaler profile for the managed cluster.
*
*/
public Output> workloadAutoScalerProfile() {
return Codegen.optional(this.workloadAutoScalerProfile);
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public ManagedCluster(java.lang.String name) {
this(name, ManagedClusterArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public ManagedCluster(java.lang.String name, ManagedClusterArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public ManagedCluster(java.lang.String name, ManagedClusterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:containerservice:ManagedCluster", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private ManagedCluster(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:containerservice:ManagedCluster", name, null, makeResourceOptions(options, id), false);
}
private static ManagedClusterArgs makeArgs(ManagedClusterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? ManagedClusterArgs.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.aliases(List.of(
Output.of(Alias.builder().type("azure-native:containerservice/v20170831:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20180331:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20180801preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20190201:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20190401:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20190601:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20190801:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20191001:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20191101:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20200101:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20200201:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20200301:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20200401:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20200601:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20200701:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20200901:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20201101:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20201201:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20210201:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20210301:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20210501:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20210701:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20210801:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20210901:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20211001:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20211101preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220101:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220102preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220201:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220202preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220301:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220302preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220401:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220402preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220502preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220601:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220602preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220701:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220702preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220802preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220803preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220901:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20220902preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20221002preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20221101:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20221102preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230101:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230102preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230201:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230202preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230301:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230302preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230401:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230402preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230501:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230502preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230601:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230602preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230701:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230702preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230801:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230802preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230901:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20230902preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20231001:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20231002preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20231101:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20231102preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240101:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240102preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240201:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240202preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240302preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240402preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240501:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240502preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240602preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240701:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240702preview:ManagedCluster").build()),
Output.of(Alias.builder().type("azure-native:containerservice/v20240801:ManagedCluster").build())
))
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static ManagedCluster get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new ManagedCluster(name, id, options);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy