KubernetesCluster

Manages a Managed Kubernetes Cluster (also known as AKS / Azure Kubernetes Service)

Example Usage

using Pulumi;
using Azure = Pulumi.Azure;

class MyStack : Stack
{
    public MyStack()
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
        {
            Location = "West Europe",
        });
        var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("exampleKubernetesCluster", new Azure.ContainerService.KubernetesClusterArgs
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            DnsPrefix = "exampleaks1",
            DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs
            {
                Name = "default",
                NodeCount = 1,
                VmSize = "Standard_D2_v2",
            },
            Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs
            {
                Type = "SystemAssigned",
            },
            Tags = 
            {
                { "Environment", "Production" },
            },
        });
        this.ClientCertificate = exampleKubernetesCluster.KubeConfigs.Apply(kubeConfigs => kubeConfigs[0].ClientCertificate);
        this.KubeConfig = exampleKubernetesCluster.KubeConfigRaw;
    }

    [Output("clientCertificate")]
    public Output<string> ClientCertificate { get; set; }
    [Output("kubeConfig")]
    public Output<string> KubeConfig { get; set; }
}
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/containerservice"
	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, "exampleKubernetesCluster", &containerservice.KubernetesClusterArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			DnsPrefix:         pulumi.String("exampleaks1"),
			DefaultNodePool: &containerservice.KubernetesClusterDefaultNodePoolArgs{
				Name:      pulumi.String("default"),
				NodeCount: pulumi.Int(1),
				VmSize:    pulumi.String("Standard_D2_v2"),
			},
			Identity: &containerservice.KubernetesClusterIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		ctx.Export("clientCertificate", exampleKubernetesCluster.KubeConfigs.ApplyT(func(kubeConfigs []containerservice.KubernetesClusterKubeConfig) (string, error) {
			return kubeConfigs[0].ClientCertificate, nil
		}).(pulumi.StringOutput))
		ctx.Export("kubeConfig", exampleKubernetesCluster.KubeConfigRaw)
		return nil
	})
}
import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_kubernetes_cluster = azure.containerservice.KubernetesCluster("exampleKubernetesCluster",
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name,
    dns_prefix="exampleaks1",
    default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs(
        name="default",
        node_count=1,
        vm_size="Standard_D2_v2",
    ),
    identity=azure.containerservice.KubernetesClusterIdentityArgs(
        type="SystemAssigned",
    ),
    tags={
        "Environment": "Production",
    })
pulumi.export("clientCertificate", example_kubernetes_cluster.kube_configs[0].client_certificate)
pulumi.export("kubeConfig", example_kubernetes_cluster.kube_config_raw)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("exampleKubernetesCluster", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    dnsPrefix: "exampleaks1",
    defaultNodePool: {
        name: "default",
        nodeCount: 1,
        vmSize: "Standard_D2_v2",
    },
    identity: {
        type: "SystemAssigned",
    },
    tags: {
        Environment: "Production",
    },
});
export const clientCertificate = exampleKubernetesCluster.kubeConfigs.apply(kubeConfigs => kubeConfigs[0].clientCertificate);
export const kubeConfig = exampleKubernetesCluster.kubeConfigRaw;

Create a KubernetesCluster Resource

new KubernetesCluster(name: string, args: KubernetesClusterArgs, opts?: CustomResourceOptions);
@overload
def KubernetesCluster(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      addon_profile: Optional[KubernetesClusterAddonProfileArgs] = None,
                      api_server_authorized_ip_ranges: Optional[Sequence[str]] = None,
                      auto_scaler_profile: Optional[KubernetesClusterAutoScalerProfileArgs] = None,
                      automatic_channel_upgrade: Optional[str] = None,
                      default_node_pool: Optional[KubernetesClusterDefaultNodePoolArgs] = None,
                      disk_encryption_set_id: Optional[str] = None,
                      dns_prefix: Optional[str] = None,
                      enable_pod_security_policy: Optional[bool] = None,
                      identity: Optional[KubernetesClusterIdentityArgs] = None,
                      kubernetes_version: Optional[str] = None,
                      linux_profile: Optional[KubernetesClusterLinuxProfileArgs] = None,
                      location: Optional[str] = None,
                      name: Optional[str] = None,
                      network_profile: Optional[KubernetesClusterNetworkProfileArgs] = None,
                      node_resource_group: Optional[str] = None,
                      private_cluster_enabled: Optional[bool] = None,
                      private_dns_zone_id: Optional[str] = None,
                      private_link_enabled: Optional[bool] = None,
                      resource_group_name: Optional[str] = None,
                      role_based_access_control: Optional[KubernetesClusterRoleBasedAccessControlArgs] = None,
                      service_principal: Optional[KubernetesClusterServicePrincipalArgs] = None,
                      sku_tier: Optional[str] = None,
                      tags: Optional[Mapping[str, str]] = None,
                      windows_profile: Optional[KubernetesClusterWindowsProfileArgs] = None)
@overload
def KubernetesCluster(resource_name: str,
                      args: KubernetesClusterArgs,
                      opts: Optional[ResourceOptions] = None)
func NewKubernetesCluster(ctx *Context, name string, args KubernetesClusterArgs, opts ...ResourceOption) (*KubernetesCluster, error)
public KubernetesCluster(string name, KubernetesClusterArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args KubernetesClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args KubernetesClusterArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args KubernetesClusterArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args KubernetesClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

KubernetesCluster Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The KubernetesCluster resource accepts the following input properties:

DefaultNodePool KubernetesClusterDefaultNodePoolArgs
A default_node_pool block as defined below.
DnsPrefix string
DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.
ResourceGroupName string
Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
AddonProfile KubernetesClusterAddonProfileArgs
A addon_profile block as defined below.
ApiServerAuthorizedIpRanges List<string>
The IP ranges to whitelist for incoming traffic to the masters.
AutoScalerProfile KubernetesClusterAutoScalerProfileArgs
A auto_scaler_profile block as defined below.
AutomaticChannelUpgrade string
The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, and stable.
DiskEncryptionSetId string
The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.
EnablePodSecurityPolicy bool
Identity KubernetesClusterIdentityArgs
An identity block as defined below. Changing this forces a new resource to be created.
KubernetesVersion string
Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).
LinuxProfile KubernetesClusterLinuxProfileArgs
A linux_profile block as defined below.
Location string
The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
Name string
The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
NetworkProfile KubernetesClusterNetworkProfileArgs
A network_profile block as defined below.
NodeResourceGroup string
The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.
PrivateClusterEnabled bool
Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
PrivateDnsZoneId string
Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise cluster will have issues after provisioning.
PrivateLinkEnabled bool

Deprecated: Deprecated in favour of private_cluster_enabled

RoleBasedAccessControl KubernetesClusterRoleBasedAccessControlArgs
A role_based_access_control block. Changing this forces a new resource to be created.
ServicePrincipal KubernetesClusterServicePrincipalArgs
A service_principal block as documented below.
SkuTier string
The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.
Tags Dictionary<string, string>
A mapping of tags to assign to the resource.
WindowsProfile KubernetesClusterWindowsProfileArgs
A windows_profile block as defined below.
DefaultNodePool KubernetesClusterDefaultNodePool
A default_node_pool block as defined below.
DnsPrefix string
DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.
ResourceGroupName string
Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
AddonProfile KubernetesClusterAddonProfile
A addon_profile block as defined below.
ApiServerAuthorizedIpRanges []string
The IP ranges to whitelist for incoming traffic to the masters.
AutoScalerProfile KubernetesClusterAutoScalerProfile
A auto_scaler_profile block as defined below.
AutomaticChannelUpgrade string
The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, and stable.
DiskEncryptionSetId string
The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.
EnablePodSecurityPolicy bool
Identity KubernetesClusterIdentity
An identity block as defined below. Changing this forces a new resource to be created.
KubernetesVersion string
Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).
LinuxProfile KubernetesClusterLinuxProfile
A linux_profile block as defined below.
Location string
The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
Name string
The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
NetworkProfile KubernetesClusterNetworkProfile
A network_profile block as defined below.
NodeResourceGroup string
The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.
PrivateClusterEnabled bool
Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
PrivateDnsZoneId string
Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise cluster will have issues after provisioning.
PrivateLinkEnabled bool

Deprecated: Deprecated in favour of private_cluster_enabled

RoleBasedAccessControl KubernetesClusterRoleBasedAccessControl
A role_based_access_control block. Changing this forces a new resource to be created.
ServicePrincipal KubernetesClusterServicePrincipal
A service_principal block as documented below.
SkuTier string
The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.
Tags map[string]string
A mapping of tags to assign to the resource.
WindowsProfile KubernetesClusterWindowsProfile
A windows_profile block as defined below.
defaultNodePool KubernetesClusterDefaultNodePoolArgs
A default_node_pool block as defined below.
dnsPrefix string
DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.
resourceGroupName string
Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
addonProfile KubernetesClusterAddonProfileArgs
A addon_profile block as defined below.
apiServerAuthorizedIpRanges string[]
The IP ranges to whitelist for incoming traffic to the masters.
autoScalerProfile KubernetesClusterAutoScalerProfileArgs
A auto_scaler_profile block as defined below.
automaticChannelUpgrade string
The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, and stable.
diskEncryptionSetId string
The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.
enablePodSecurityPolicy boolean
identity KubernetesClusterIdentityArgs
An identity block as defined below. Changing this forces a new resource to be created.
kubernetesVersion string
Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).
linuxProfile KubernetesClusterLinuxProfileArgs
A linux_profile block as defined below.
location string
The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
name string
The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
networkProfile KubernetesClusterNetworkProfileArgs
A network_profile block as defined below.
nodeResourceGroup string
The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.
privateClusterEnabled boolean
Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
privateDnsZoneId string
Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise cluster will have issues after provisioning.
privateLinkEnabled boolean

Deprecated: Deprecated in favour of private_cluster_enabled

roleBasedAccessControl KubernetesClusterRoleBasedAccessControlArgs
A role_based_access_control block. Changing this forces a new resource to be created.
servicePrincipal KubernetesClusterServicePrincipalArgs
A service_principal block as documented below.
skuTier string
The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.
tags {[key: string]: string}
A mapping of tags to assign to the resource.
windowsProfile KubernetesClusterWindowsProfileArgs
A windows_profile block as defined below.
default_node_pool KubernetesClusterDefaultNodePoolArgs
A default_node_pool block as defined below.
dns_prefix str
DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.
resource_group_name str
Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
addon_profile KubernetesClusterAddonProfileArgs
A addon_profile block as defined below.
api_server_authorized_ip_ranges Sequence[str]
The IP ranges to whitelist for incoming traffic to the masters.
auto_scaler_profile KubernetesClusterAutoScalerProfileArgs
A auto_scaler_profile block as defined below.
automatic_channel_upgrade str
The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, and stable.
disk_encryption_set_id str
The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.
enable_pod_security_policy bool
identity KubernetesClusterIdentityArgs
An identity block as defined below. Changing this forces a new resource to be created.
kubernetes_version str
Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).
linux_profile KubernetesClusterLinuxProfileArgs
A linux_profile block as defined below.
location str
The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
name str
The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
network_profile KubernetesClusterNetworkProfileArgs
A network_profile block as defined below.
node_resource_group str
The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.
private_cluster_enabled bool
Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
private_dns_zone_id str
Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise cluster will have issues after provisioning.
private_link_enabled bool

Deprecated: Deprecated in favour of private_cluster_enabled

role_based_access_control KubernetesClusterRoleBasedAccessControlArgs
A role_based_access_control block. Changing this forces a new resource to be created.
service_principal KubernetesClusterServicePrincipalArgs
A service_principal block as documented below.
sku_tier str
The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.
tags Mapping[str, str]
A mapping of tags to assign to the resource.
windows_profile KubernetesClusterWindowsProfileArgs
A windows_profile block as defined below.

Outputs

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

Fqdn string
The FQDN of the Azure Kubernetes Managed Cluster.
Id string
The provider-assigned unique ID for this managed resource.
KubeAdminConfigRaw string
Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.
KubeAdminConfigs List<KubernetesClusterKubeAdminConfig>
A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.
KubeConfigRaw string
Raw Kubernetes config to be used by kubectl and other compatible tools
KubeConfigs List<KubernetesClusterKubeConfig>
A kube_config block as defined below.
KubeletIdentities List<KubernetesClusterKubeletIdentity>
A kubelet_identity block as defined below.
PrivateFqdn string
The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
Fqdn string
The FQDN of the Azure Kubernetes Managed Cluster.
Id string
The provider-assigned unique ID for this managed resource.
KubeAdminConfigRaw string
Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.
KubeAdminConfigs []KubernetesClusterKubeAdminConfig
A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.
KubeConfigRaw string
Raw Kubernetes config to be used by kubectl and other compatible tools
KubeConfigs []KubernetesClusterKubeConfig
A kube_config block as defined below.
KubeletIdentities []KubernetesClusterKubeletIdentity
A kubelet_identity block as defined below.
PrivateFqdn string
The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
fqdn string
The FQDN of the Azure Kubernetes Managed Cluster.
id string
The provider-assigned unique ID for this managed resource.
kubeAdminConfigRaw string
Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.
kubeAdminConfigs KubernetesClusterKubeAdminConfig[]
A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.
kubeConfigRaw string
Raw Kubernetes config to be used by kubectl and other compatible tools
kubeConfigs KubernetesClusterKubeConfig[]
A kube_config block as defined below.
kubeletIdentities KubernetesClusterKubeletIdentity[]
A kubelet_identity block as defined below.
privateFqdn string
The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
fqdn str
The FQDN of the Azure Kubernetes Managed Cluster.
id str
The provider-assigned unique ID for this managed resource.
kube_admin_config_raw str
Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.
kube_admin_configs Sequence[KubernetesClusterKubeAdminConfig]
A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.
kube_config_raw str
Raw Kubernetes config to be used by kubectl and other compatible tools
kube_configs Sequence[KubernetesClusterKubeConfig]
A kube_config block as defined below.
kubelet_identities Sequence[KubernetesClusterKubeletIdentity]
A kubelet_identity block as defined below.
private_fqdn str
The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.

Look up an Existing KubernetesCluster Resource

Get an existing KubernetesCluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: KubernetesClusterState, opts?: CustomResourceOptions): KubernetesCluster
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        addon_profile: Optional[KubernetesClusterAddonProfileArgs] = None,
        api_server_authorized_ip_ranges: Optional[Sequence[str]] = None,
        auto_scaler_profile: Optional[KubernetesClusterAutoScalerProfileArgs] = None,
        automatic_channel_upgrade: Optional[str] = None,
        default_node_pool: Optional[KubernetesClusterDefaultNodePoolArgs] = None,
        disk_encryption_set_id: Optional[str] = None,
        dns_prefix: Optional[str] = None,
        enable_pod_security_policy: Optional[bool] = None,
        fqdn: Optional[str] = None,
        identity: Optional[KubernetesClusterIdentityArgs] = None,
        kube_admin_config_raw: Optional[str] = None,
        kube_admin_configs: Optional[Sequence[KubernetesClusterKubeAdminConfigArgs]] = None,
        kube_config_raw: Optional[str] = None,
        kube_configs: Optional[Sequence[KubernetesClusterKubeConfigArgs]] = None,
        kubelet_identities: Optional[Sequence[KubernetesClusterKubeletIdentityArgs]] = None,
        kubernetes_version: Optional[str] = None,
        linux_profile: Optional[KubernetesClusterLinuxProfileArgs] = None,
        location: Optional[str] = None,
        name: Optional[str] = None,
        network_profile: Optional[KubernetesClusterNetworkProfileArgs] = None,
        node_resource_group: Optional[str] = None,
        private_cluster_enabled: Optional[bool] = None,
        private_dns_zone_id: Optional[str] = None,
        private_fqdn: Optional[str] = None,
        private_link_enabled: Optional[bool] = None,
        resource_group_name: Optional[str] = None,
        role_based_access_control: Optional[KubernetesClusterRoleBasedAccessControlArgs] = None,
        service_principal: Optional[KubernetesClusterServicePrincipalArgs] = None,
        sku_tier: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        windows_profile: Optional[KubernetesClusterWindowsProfileArgs] = None) -> KubernetesCluster
func GetKubernetesCluster(ctx *Context, name string, id IDInput, state *KubernetesClusterState, opts ...ResourceOption) (*KubernetesCluster, error)
public static KubernetesCluster Get(string name, Input<string> id, KubernetesClusterState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

AddonProfile KubernetesClusterAddonProfileArgs
A addon_profile block as defined below.
ApiServerAuthorizedIpRanges List<string>
The IP ranges to whitelist for incoming traffic to the masters.
AutoScalerProfile KubernetesClusterAutoScalerProfileArgs
A auto_scaler_profile block as defined below.
AutomaticChannelUpgrade string
The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, and stable.
DefaultNodePool KubernetesClusterDefaultNodePoolArgs
A default_node_pool block as defined below.
DiskEncryptionSetId string
The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.
DnsPrefix string
DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.
EnablePodSecurityPolicy bool
Fqdn string
The FQDN of the Azure Kubernetes Managed Cluster.
Identity KubernetesClusterIdentityArgs
An identity block as defined below. Changing this forces a new resource to be created.
KubeAdminConfigRaw string
Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.
KubeAdminConfigs List<KubernetesClusterKubeAdminConfigArgs>
A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.
KubeConfigRaw string
Raw Kubernetes config to be used by kubectl and other compatible tools
KubeConfigs List<KubernetesClusterKubeConfigArgs>
A kube_config block as defined below.
KubeletIdentities List<KubernetesClusterKubeletIdentityArgs>
A kubelet_identity block as defined below.
KubernetesVersion string
Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).
LinuxProfile KubernetesClusterLinuxProfileArgs
A linux_profile block as defined below.
Location string
The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
Name string
The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
NetworkProfile KubernetesClusterNetworkProfileArgs
A network_profile block as defined below.
NodeResourceGroup string
The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.
PrivateClusterEnabled bool
Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
PrivateDnsZoneId string
Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise cluster will have issues after provisioning.
PrivateFqdn string
The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
PrivateLinkEnabled bool

Deprecated: Deprecated in favour of private_cluster_enabled

ResourceGroupName string
Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
RoleBasedAccessControl KubernetesClusterRoleBasedAccessControlArgs
A role_based_access_control block. Changing this forces a new resource to be created.
ServicePrincipal KubernetesClusterServicePrincipalArgs
A service_principal block as documented below.
SkuTier string
The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.
Tags Dictionary<string, string>
A mapping of tags to assign to the resource.
WindowsProfile KubernetesClusterWindowsProfileArgs
A windows_profile block as defined below.
AddonProfile KubernetesClusterAddonProfile
A addon_profile block as defined below.
ApiServerAuthorizedIpRanges []string
The IP ranges to whitelist for incoming traffic to the masters.
AutoScalerProfile KubernetesClusterAutoScalerProfile
A auto_scaler_profile block as defined below.
AutomaticChannelUpgrade string
The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, and stable.
DefaultNodePool KubernetesClusterDefaultNodePool
A default_node_pool block as defined below.
DiskEncryptionSetId string
The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.
DnsPrefix string
DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.
EnablePodSecurityPolicy bool
Fqdn string
The FQDN of the Azure Kubernetes Managed Cluster.
Identity KubernetesClusterIdentity
An identity block as defined below. Changing this forces a new resource to be created.
KubeAdminConfigRaw string
Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.
KubeAdminConfigs []KubernetesClusterKubeAdminConfig
A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.
KubeConfigRaw string
Raw Kubernetes config to be used by kubectl and other compatible tools
KubeConfigs []KubernetesClusterKubeConfig
A kube_config block as defined below.
KubeletIdentities []KubernetesClusterKubeletIdentity
A kubelet_identity block as defined below.
KubernetesVersion string
Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).
LinuxProfile KubernetesClusterLinuxProfile
A linux_profile block as defined below.
Location string
The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
Name string
The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
NetworkProfile KubernetesClusterNetworkProfile
A network_profile block as defined below.
NodeResourceGroup string
The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.
PrivateClusterEnabled bool
Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
PrivateDnsZoneId string
Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise cluster will have issues after provisioning.
PrivateFqdn string
The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
PrivateLinkEnabled bool

Deprecated: Deprecated in favour of private_cluster_enabled

ResourceGroupName string
Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
RoleBasedAccessControl KubernetesClusterRoleBasedAccessControl
A role_based_access_control block. Changing this forces a new resource to be created.
ServicePrincipal KubernetesClusterServicePrincipal
A service_principal block as documented below.
SkuTier string
The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.
Tags map[string]string
A mapping of tags to assign to the resource.
WindowsProfile KubernetesClusterWindowsProfile
A windows_profile block as defined below.
addonProfile KubernetesClusterAddonProfileArgs
A addon_profile block as defined below.
apiServerAuthorizedIpRanges string[]
The IP ranges to whitelist for incoming traffic to the masters.
autoScalerProfile KubernetesClusterAutoScalerProfileArgs
A auto_scaler_profile block as defined below.
automaticChannelUpgrade string
The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, and stable.
defaultNodePool KubernetesClusterDefaultNodePoolArgs
A default_node_pool block as defined below.
diskEncryptionSetId string
The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.
dnsPrefix string
DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.
enablePodSecurityPolicy boolean
fqdn string
The FQDN of the Azure Kubernetes Managed Cluster.
identity KubernetesClusterIdentityArgs
An identity block as defined below. Changing this forces a new resource to be created.
kubeAdminConfigRaw string
Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.
kubeAdminConfigs KubernetesClusterKubeAdminConfigArgs[]
A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.
kubeConfigRaw string
Raw Kubernetes config to be used by kubectl and other compatible tools
kubeConfigs KubernetesClusterKubeConfigArgs[]
A kube_config block as defined below.
kubeletIdentities KubernetesClusterKubeletIdentityArgs[]
A kubelet_identity block as defined below.
kubernetesVersion string
Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).
linuxProfile KubernetesClusterLinuxProfileArgs
A linux_profile block as defined below.
location string
The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
name string
The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
networkProfile KubernetesClusterNetworkProfileArgs
A network_profile block as defined below.
nodeResourceGroup string
The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.
privateClusterEnabled boolean
Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
privateDnsZoneId string
Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise cluster will have issues after provisioning.
privateFqdn string
The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
privateLinkEnabled boolean

Deprecated: Deprecated in favour of private_cluster_enabled

resourceGroupName string
Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
roleBasedAccessControl KubernetesClusterRoleBasedAccessControlArgs
A role_based_access_control block. Changing this forces a new resource to be created.
servicePrincipal KubernetesClusterServicePrincipalArgs
A service_principal block as documented below.
skuTier string
The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.
tags {[key: string]: string}
A mapping of tags to assign to the resource.
windowsProfile KubernetesClusterWindowsProfileArgs
A windows_profile block as defined below.
addon_profile KubernetesClusterAddonProfileArgs
A addon_profile block as defined below.
api_server_authorized_ip_ranges Sequence[str]
The IP ranges to whitelist for incoming traffic to the masters.
auto_scaler_profile KubernetesClusterAutoScalerProfileArgs
A auto_scaler_profile block as defined below.
automatic_channel_upgrade str
The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, and stable.
default_node_pool KubernetesClusterDefaultNodePoolArgs
A default_node_pool block as defined below.
disk_encryption_set_id str
The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.
dns_prefix str
DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.
enable_pod_security_policy bool
fqdn str
The FQDN of the Azure Kubernetes Managed Cluster.
identity KubernetesClusterIdentityArgs
An identity block as defined below. Changing this forces a new resource to be created.
kube_admin_config_raw str
Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.
kube_admin_configs Sequence[KubernetesClusterKubeAdminConfigArgs]
A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.
kube_config_raw str
Raw Kubernetes config to be used by kubectl and other compatible tools
kube_configs Sequence[KubernetesClusterKubeConfigArgs]
A kube_config block as defined below.
kubelet_identities Sequence[KubernetesClusterKubeletIdentityArgs]
A kubelet_identity block as defined below.
kubernetes_version str
Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).
linux_profile KubernetesClusterLinuxProfileArgs
A linux_profile block as defined below.
location str
The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
name str
The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.
network_profile KubernetesClusterNetworkProfileArgs
A network_profile block as defined below.
node_resource_group str
The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.
private_cluster_enabled bool
Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
private_dns_zone_id str
Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise cluster will have issues after provisioning.
private_fqdn str
The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
private_link_enabled bool

Deprecated: Deprecated in favour of private_cluster_enabled

resource_group_name str
Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
role_based_access_control KubernetesClusterRoleBasedAccessControlArgs
A role_based_access_control block. Changing this forces a new resource to be created.
service_principal KubernetesClusterServicePrincipalArgs
A service_principal block as documented below.
sku_tier str
The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.
tags Mapping[str, str]
A mapping of tags to assign to the resource.
windows_profile KubernetesClusterWindowsProfileArgs
A windows_profile block as defined below.

Supporting Types

KubernetesClusterAddonProfile

AciConnectorLinux KubernetesClusterAddonProfileAciConnectorLinux
A aci_connector_linux block. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
AzurePolicy KubernetesClusterAddonProfileAzurePolicy
A azure_policy block as defined below. For more details please visit Understand Azure Policy for Azure Kubernetes Service
HttpApplicationRouting KubernetesClusterAddonProfileHttpApplicationRouting
A http_application_routing block as defined below.
KubeDashboard KubernetesClusterAddonProfileKubeDashboard
A kube_dashboard block as defined below.
OmsAgent KubernetesClusterAddonProfileOmsAgent
A oms_agent block as defined below. For more details, please visit How to onboard Azure Monitor for containers.

KubernetesClusterAddonProfileAciConnectorLinux

Enabled bool
Is the virtual node addon enabled?
SubnetName string
The subnet name for the virtual nodes to run. This is required when aci_connector_linux enabled argument is set to true.
Enabled bool
Is the virtual node addon enabled?
SubnetName string
The subnet name for the virtual nodes to run. This is required when aci_connector_linux enabled argument is set to true.
enabled boolean
Is the virtual node addon enabled?
subnetName string
The subnet name for the virtual nodes to run. This is required when aci_connector_linux enabled argument is set to true.
enabled bool
Is the virtual node addon enabled?
subnet_name str
The subnet name for the virtual nodes to run. This is required when aci_connector_linux enabled argument is set to true.

KubernetesClusterAddonProfileAzurePolicy

Enabled bool
Is the Azure Policy for Kubernetes Add On enabled?
Enabled bool
Is the Azure Policy for Kubernetes Add On enabled?
enabled boolean
Is the Azure Policy for Kubernetes Add On enabled?
enabled bool
Is the Azure Policy for Kubernetes Add On enabled?

KubernetesClusterAddonProfileHttpApplicationRouting

Enabled bool
Is HTTP Application Routing Enabled?
HttpApplicationRoutingZoneName string
The Zone Name of the HTTP Application Routing.
Enabled bool
Is HTTP Application Routing Enabled?
HttpApplicationRoutingZoneName string
The Zone Name of the HTTP Application Routing.
enabled boolean
Is HTTP Application Routing Enabled?
httpApplicationRoutingZoneName string
The Zone Name of the HTTP Application Routing.
enabled bool
Is HTTP Application Routing Enabled?
http_application_routing_zone_name str
The Zone Name of the HTTP Application Routing.

KubernetesClusterAddonProfileKubeDashboard

Enabled bool
Is the Kubernetes Dashboard enabled?
Enabled bool
Is the Kubernetes Dashboard enabled?
enabled boolean
Is the Kubernetes Dashboard enabled?
enabled bool
Is the Kubernetes Dashboard enabled?

KubernetesClusterAddonProfileOmsAgent

Enabled bool
Is the OMS Agent Enabled?
LogAnalyticsWorkspaceId string
The ID of the Log Analytics Workspace which the OMS Agent should send data to. Must be present if enabled is true.
OmsAgentIdentities List<KubernetesClusterAddonProfileOmsAgentOmsAgentIdentityArgs>
An oms_agent_identity block is exported. The exported attributes are defined below.
Enabled bool
Is the OMS Agent Enabled?
LogAnalyticsWorkspaceId string
The ID of the Log Analytics Workspace which the OMS Agent should send data to. Must be present if enabled is true.
OmsAgentIdentities []KubernetesClusterAddonProfileOmsAgentOmsAgentIdentity
An oms_agent_identity block is exported. The exported attributes are defined below.
enabled boolean
Is the OMS Agent Enabled?
logAnalyticsWorkspaceId string
The ID of the Log Analytics Workspace which the OMS Agent should send data to. Must be present if enabled is true.
omsAgentIdentities KubernetesClusterAddonProfileOmsAgentOmsAgentIdentityArgs[]
An oms_agent_identity block is exported. The exported attributes are defined below.
enabled bool
Is the OMS Agent Enabled?
log_analytics_workspace_id str
The ID of the Log Analytics Workspace which the OMS Agent should send data to. Must be present if enabled is true.
oms_agent_identities Sequence[KubernetesClusterAddonProfileOmsAgentOmsAgentIdentityArgs]
An oms_agent_identity block is exported. The exported attributes are defined below.

KubernetesClusterAddonProfileOmsAgentOmsAgentIdentity

ClientId string
The Client ID for the Service Principal.
ObjectId string
The Object ID of the user-defined Managed Identity used by the OMS Agents.
UserAssignedIdentityId string
The ID of a user assigned identity.
ClientId string
The Client ID for the Service Principal.
ObjectId string
The Object ID of the user-defined Managed Identity used by the OMS Agents.
UserAssignedIdentityId string
The ID of a user assigned identity.
clientId string
The Client ID for the Service Principal.
objectId string
The Object ID of the user-defined Managed Identity used by the OMS Agents.
userAssignedIdentityId string
The ID of a user assigned identity.
client_id str
The Client ID for the Service Principal.
object_id str
The Object ID of the user-defined Managed Identity used by the OMS Agents.
user_assigned_identity_id str
The ID of a user assigned identity.

KubernetesClusterAutoScalerProfile

BalanceSimilarNodeGroups bool
Detect similar node groups and balance the number of nodes between them. Defaults to false.
Expander string
Expander to use. Possible values are least-waste, priority, most-pods and random. Defaults to random.
MaxGracefulTerminationSec string
Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
NewPodScaleUpDelay string
For scenarios like burst/batch scale where you don’t want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they’re a certain age. Defaults to 10s.
ScaleDownDelayAfterAdd string
How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
ScaleDownDelayAfterDelete string
How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
ScaleDownDelayAfterFailure string
How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
ScaleDownUnneeded string
How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
ScaleDownUnready string
How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
ScaleDownUtilizationThreshold string
Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
ScanInterval string
How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
SkipNodesWithLocalStorage bool
If true cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to true.
SkipNodesWithSystemPods bool
If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults to true.
BalanceSimilarNodeGroups bool
Detect similar node groups and balance the number of nodes between them. Defaults to false.
Expander string
Expander to use. Possible values are least-waste, priority, most-pods and random. Defaults to random.
MaxGracefulTerminationSec string
Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
NewPodScaleUpDelay string
For scenarios like burst/batch scale where you don’t want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they’re a certain age. Defaults to 10s.
ScaleDownDelayAfterAdd string
How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
ScaleDownDelayAfterDelete string
How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
ScaleDownDelayAfterFailure string
How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
ScaleDownUnneeded string
How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
ScaleDownUnready string
How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
ScaleDownUtilizationThreshold string
Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
ScanInterval string
How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
SkipNodesWithLocalStorage bool
If true cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to true.
SkipNodesWithSystemPods bool
If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults to true.
balanceSimilarNodeGroups boolean
Detect similar node groups and balance the number of nodes between them. Defaults to false.
expander string
Expander to use. Possible values are least-waste, priority, most-pods and random. Defaults to random.
maxGracefulTerminationSec string
Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
newPodScaleUpDelay string
For scenarios like burst/batch scale where you don’t want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they’re a certain age. Defaults to 10s.
scaleDownDelayAfterAdd string
How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
scaleDownDelayAfterDelete string
How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
scaleDownDelayAfterFailure string
How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
scaleDownUnneeded string
How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
scaleDownUnready string
How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
scaleDownUtilizationThreshold string
Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
scanInterval string
How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
skipNodesWithLocalStorage boolean
If true cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to true.
skipNodesWithSystemPods boolean
If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults to true.
balance_similar_node_groups bool
Detect similar node groups and balance the number of nodes between them. Defaults to false.
expander str
Expander to use. Possible values are least-waste, priority, most-pods and random. Defaults to random.
max_graceful_termination_sec str
Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
new_pod_scale_up_delay str
For scenarios like burst/batch scale where you don’t want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they’re a certain age. Defaults to 10s.
scale_down_delay_after_add str
How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
scale_down_delay_after_delete str
How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
scale_down_delay_after_failure str
How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
scale_down_unneeded str
How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
scale_down_unready str
How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
scale_down_utilization_threshold str
Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
scan_interval str
How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
skip_nodes_with_local_storage bool
If true cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to true.
skip_nodes_with_system_pods bool
If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults to true.

KubernetesClusterDefaultNodePool

Name string
The name which should be used for the default Kubernetes Node Pool. Changing this forces a new resource to be created.
VmSize string
The size of the Virtual Machine, such as Standard_DS2_v2.
AvailabilityZones List<string>
A list of Availability Zones across which the Node Pool should be spread. Changing this forces a new resource to be created.
EnableAutoScaling bool
Should the Kubernetes Auto Scaler be enabled for this Node Pool? Defaults to false.
EnableHostEncryption bool
Should the nodes in the Default Node Pool have host encryption enabled? Defaults to false.
EnableNodePublicIp bool
Should nodes in this Node Pool have a Public IP Address? Defaults to false.
MaxCount int
The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
MaxPods int
The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
MinCount int
The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
NodeCount int
The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000 and between min_count and max_count.
NodeLabels Dictionary<string, string>
A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. Changing this forces a new resource to be created.
NodeTaints List<string>
OnlyCriticalAddonsEnabled bool
Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint. Changing this forces a new resource to be created.
OrchestratorVersion string
Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)
OsDiskSizeGb int
The size of the OS Disk which should be used for each agent in the Node Pool. Changing this forces a new resource to be created.
OsDiskType string
The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
ProximityPlacementGroupId string
Tags Dictionary<string, string>
A mapping of tags to assign to the Node Pool.
Type string
The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets.
UpgradeSettings KubernetesClusterDefaultNodePoolUpgradeSettingsArgs
A upgrade_settings block as documented below.
VnetSubnetId string
The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.
Name string
The name which should be used for the default Kubernetes Node Pool. Changing this forces a new resource to be created.
VmSize string
The size of the Virtual Machine, such as Standard_DS2_v2.
AvailabilityZones []string
A list of Availability Zones across which the Node Pool should be spread. Changing this forces a new resource to be created.
EnableAutoScaling bool
Should the Kubernetes Auto Scaler be enabled for this Node Pool? Defaults to false.
EnableHostEncryption bool
Should the nodes in the Default Node Pool have host encryption enabled? Defaults to false.
EnableNodePublicIp bool
Should nodes in this Node Pool have a Public IP Address? Defaults to false.
MaxCount int
The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
MaxPods int
The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
MinCount int
The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
NodeCount int
The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000 and between min_count and max_count.
NodeLabels map[string]string
A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. Changing this forces a new resource to be created.
NodeTaints []string
OnlyCriticalAddonsEnabled bool
Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint. Changing this forces a new resource to be created.
OrchestratorVersion string
Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)
OsDiskSizeGb int
The size of the OS Disk which should be used for each agent in the Node Pool. Changing this forces a new resource to be created.
OsDiskType string
The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
ProximityPlacementGroupId string
Tags map[string]string
A mapping of tags to assign to the Node Pool.
Type string
The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets.
UpgradeSettings KubernetesClusterDefaultNodePoolUpgradeSettings
A upgrade_settings block as documented below.
VnetSubnetId string
The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.
name string
The name which should be used for the default Kubernetes Node Pool. Changing this forces a new resource to be created.
vmSize string
The size of the Virtual Machine, such as Standard_DS2_v2.
availabilityZones string[]
A list of Availability Zones across which the Node Pool should be spread. Changing this forces a new resource to be created.
enableAutoScaling boolean
Should the Kubernetes Auto Scaler be enabled for this Node Pool? Defaults to false.
enableHostEncryption boolean
Should the nodes in the Default Node Pool have host encryption enabled? Defaults to false.
enableNodePublicIp boolean
Should nodes in this Node Pool have a Public IP Address? Defaults to false.
maxCount number
The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
maxPods number
The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
minCount number
The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
nodeCount number
The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000 and between min_count and max_count.
nodeLabels {[key: string]: string}
A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. Changing this forces a new resource to be created.
nodeTaints string[]
onlyCriticalAddonsEnabled boolean
Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint. Changing this forces a new resource to be created.
orchestratorVersion string
Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)
osDiskSizeGb number
The size of the OS Disk which should be used for each agent in the Node Pool. Changing this forces a new resource to be created.
osDiskType string
The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
proximityPlacementGroupId string
tags {[key: string]: string}
A mapping of tags to assign to the Node Pool.
type string
The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets.
upgradeSettings KubernetesClusterDefaultNodePoolUpgradeSettingsArgs
A upgrade_settings block as documented below.
vnetSubnetId string
The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.
name str
The name which should be used for the default Kubernetes Node Pool. Changing this forces a new resource to be created.
vm_size str
The size of the Virtual Machine, such as Standard_DS2_v2.
availability_zones Sequence[str]
A list of Availability Zones across which the Node Pool should be spread. Changing this forces a new resource to be created.
enable_auto_scaling bool
Should the Kubernetes Auto Scaler be enabled for this Node Pool? Defaults to false.
enable_host_encryption bool
Should the nodes in the Default Node Pool have host encryption enabled? Defaults to false.
enable_node_public_ip bool
Should nodes in this Node Pool have a Public IP Address? Defaults to false.
max_count int
The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
max_pods int
The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
min_count int
The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
node_count int
The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000 and between min_count and max_count.
node_labels Mapping[str, str]
A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. Changing this forces a new resource to be created.
node_taints Sequence[str]
only_critical_addons_enabled bool
Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint. Changing this forces a new resource to be created.
orchestrator_version str
Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)
os_disk_size_gb int
The size of the OS Disk which should be used for each agent in the Node Pool. Changing this forces a new resource to be created.
os_disk_type str
The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
proximity_placement_group_id str
tags Mapping[str, str]
A mapping of tags to assign to the Node Pool.
type str
The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets.
upgrade_settings KubernetesClusterDefaultNodePoolUpgradeSettingsArgs
A upgrade_settings block as documented below.
vnet_subnet_id str
The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.

KubernetesClusterDefaultNodePoolUpgradeSettings

MaxSurge string
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
MaxSurge string
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
maxSurge string
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
max_surge str
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.

KubernetesClusterIdentity

Type string
The type of identity used for the managed cluster. Possible values are SystemAssigned and UserAssigned. If UserAssigned is set, a user_assigned_identity_id must be set as well.
PrincipalId string
The principal id of the system assigned identity which is used by master components.
TenantId string
The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.
UserAssignedIdentityId string
The ID of a user assigned identity.
Type string
The type of identity used for the managed cluster. Possible values are SystemAssigned and UserAssigned. If UserAssigned is set, a user_assigned_identity_id must be set as well.
PrincipalId string
The principal id of the system assigned identity which is used by master components.
TenantId string
The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.
UserAssignedIdentityId string
The ID of a user assigned identity.
type string
The type of identity used for the managed cluster. Possible values are SystemAssigned and UserAssigned. If UserAssigned is set, a user_assigned_identity_id must be set as well.
principalId string
The principal id of the system assigned identity which is used by master components.
tenantId string
The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.
userAssignedIdentityId string
The ID of a user assigned identity.
type str
The type of identity used for the managed cluster. Possible values are SystemAssigned and UserAssigned. If UserAssigned is set, a user_assigned_identity_id must be set as well.
principal_id str
The principal id of the system assigned identity which is used by master components.
tenant_id str
The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.
user_assigned_identity_id str
The ID of a user assigned identity.

KubernetesClusterKubeAdminConfig

ClientCertificate string
Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
ClientKey string
Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
ClusterCaCertificate string
Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
Host string
The Kubernetes cluster server host.
Password string
A password or token used to authenticate to the Kubernetes cluster.
Username string
A username used to authenticate to the Kubernetes cluster.
ClientCertificate string
Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
ClientKey string
Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
ClusterCaCertificate string
Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
Host string
The Kubernetes cluster server host.
Password string
A password or token used to authenticate to the Kubernetes cluster.
Username string
A username used to authenticate to the Kubernetes cluster.
clientCertificate string
Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
clientKey string
Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
clusterCaCertificate string
Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
host string
The Kubernetes cluster server host.
password string
A password or token used to authenticate to the Kubernetes cluster.
username string
A username used to authenticate to the Kubernetes cluster.
client_certificate str
Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
client_key str
Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
cluster_ca_certificate str
Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
host str
The Kubernetes cluster server host.
password str
A password or token used to authenticate to the Kubernetes cluster.
username str
A username used to authenticate to the Kubernetes cluster.

KubernetesClusterKubeConfig

ClientCertificate string
Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
ClientKey string
Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
ClusterCaCertificate string
Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
Host string
The Kubernetes cluster server host.
Password string
A password or token used to authenticate to the Kubernetes cluster.
Username string
A username used to authenticate to the Kubernetes cluster.
ClientCertificate string
Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
ClientKey string
Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
ClusterCaCertificate string
Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
Host string
The Kubernetes cluster server host.
Password string
A password or token used to authenticate to the Kubernetes cluster.
Username string
A username used to authenticate to the Kubernetes cluster.
clientCertificate string
Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
clientKey string
Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
clusterCaCertificate string
Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
host string
The Kubernetes cluster server host.
password string
A password or token used to authenticate to the Kubernetes cluster.
username string
A username used to authenticate to the Kubernetes cluster.
client_certificate str
Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.
client_key str
Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.
cluster_ca_certificate str
Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.
host str
The Kubernetes cluster server host.
password str
A password or token used to authenticate to the Kubernetes cluster.
username str
A username used to authenticate to the Kubernetes cluster.

KubernetesClusterKubeletIdentity

ClientId string
The Client ID for the Service Principal.
ObjectId string
The Object ID of the user-defined Managed Identity used by the OMS Agents.
UserAssignedIdentityId string
The ID of a user assigned identity.
ClientId string
The Client ID for the Service Principal.
ObjectId string
The Object ID of the user-defined Managed Identity used by the OMS Agents.
UserAssignedIdentityId string
The ID of a user assigned identity.
clientId string
The Client ID for the Service Principal.
objectId string
The Object ID of the user-defined Managed Identity used by the OMS Agents.
userAssignedIdentityId string
The ID of a user assigned identity.
client_id str
The Client ID for the Service Principal.
object_id str
The Object ID of the user-defined Managed Identity used by the OMS Agents.
user_assigned_identity_id str
The ID of a user assigned identity.

KubernetesClusterLinuxProfile

AdminUsername string
The Admin Username for the Cluster. Changing this forces a new resource to be created.
SshKey KubernetesClusterLinuxProfileSshKeyArgs
An ssh_key block. Only one is currently allowed. Changing this forces a new resource to be created.
AdminUsername string
The Admin Username for the Cluster. Changing this forces a new resource to be created.
SshKey KubernetesClusterLinuxProfileSshKey
An ssh_key block. Only one is currently allowed. Changing this forces a new resource to be created.
adminUsername string
The Admin Username for the Cluster. Changing this forces a new resource to be created.
sshKey KubernetesClusterLinuxProfileSshKeyArgs
An ssh_key block. Only one is currently allowed. Changing this forces a new resource to be created.
admin_username str
The Admin Username for the Cluster. Changing this forces a new resource to be created.
ssh_key KubernetesClusterLinuxProfileSshKeyArgs
An ssh_key block. Only one is currently allowed. Changing this forces a new resource to be created.

KubernetesClusterLinuxProfileSshKey

KeyData string
The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
KeyData string
The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
keyData string
The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.
key_data str
The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.

KubernetesClusterNetworkProfile

NetworkPlugin string
Network plugin to use for networking. Currently supported values are azure and kubenet. Changing this forces a new resource to be created.
DnsServiceIp string
IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
DockerBridgeCidr string
IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.
LoadBalancerProfile KubernetesClusterNetworkProfileLoadBalancerProfileArgs
A load_balancer_profile block. This can only be specified when load_balancer_sku is set to Standard.
LoadBalancerSku string
Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are Basic and Standard. Defaults to Standard.
NetworkMode string
Network mode to be used with Azure CNI. Possible values are bridge and transparent. Changing this forces a new resource to be created.
NetworkPolicy string
Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico and azure. Changing this forces a new resource to be created.
OutboundType string
The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer and userDefinedRouting. Defaults to loadBalancer.
PodCidr string
The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet. Changing this forces a new resource to be created.
ServiceCidr string
The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
NetworkPlugin string
Network plugin to use for networking. Currently supported values are azure and kubenet. Changing this forces a new resource to be created.
DnsServiceIp string
IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
DockerBridgeCidr string
IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.
LoadBalancerProfile KubernetesClusterNetworkProfileLoadBalancerProfile
A load_balancer_profile block. This can only be specified when load_balancer_sku is set to Standard.
LoadBalancerSku string
Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are Basic and Standard. Defaults to Standard.
NetworkMode string
Network mode to be used with Azure CNI. Possible values are bridge and transparent. Changing this forces a new resource to be created.
NetworkPolicy string
Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico and azure. Changing this forces a new resource to be created.
OutboundType string
The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer and userDefinedRouting. Defaults to loadBalancer.
PodCidr string
The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet. Changing this forces a new resource to be created.
ServiceCidr string
The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
networkPlugin string
Network plugin to use for networking. Currently supported values are azure and kubenet. Changing this forces a new resource to be created.
dnsServiceIp string
IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
dockerBridgeCidr string
IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.
loadBalancerProfile KubernetesClusterNetworkProfileLoadBalancerProfileArgs
A load_balancer_profile block. This can only be specified when load_balancer_sku is set to Standard.
loadBalancerSku string
Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are Basic and Standard. Defaults to Standard.
networkMode string
Network mode to be used with Azure CNI. Possible values are bridge and transparent. Changing this forces a new resource to be created.
networkPolicy string
Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico and azure. Changing this forces a new resource to be created.
outboundType string
The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer and userDefinedRouting. Defaults to loadBalancer.
podCidr string
The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet. Changing this forces a new resource to be created.
serviceCidr string
The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
network_plugin str
Network plugin to use for networking. Currently supported values are azure and kubenet. Changing this forces a new resource to be created.
dns_service_ip str
IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
docker_bridge_cidr str
IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.
load_balancer_profile KubernetesClusterNetworkProfileLoadBalancerProfileArgs
A load_balancer_profile block. This can only be specified when load_balancer_sku is set to Standard.
load_balancer_sku str
Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are Basic and Standard. Defaults to Standard.
network_mode str
Network mode to be used with Azure CNI. Possible values are bridge and transparent. Changing this forces a new resource to be created.
network_policy str
Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico and azure. Changing this forces a new resource to be created.
outbound_type str
The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer and userDefinedRouting. Defaults to loadBalancer.
pod_cidr str
The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet. Changing this forces a new resource to be created.
service_cidr str
The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.

KubernetesClusterNetworkProfileLoadBalancerProfile

EffectiveOutboundIps List<string>
The outcome (resource IDs) of the specified arguments.
IdleTimeoutInMinutes int
Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 30.
ManagedOutboundIpCount int
Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
OutboundIpAddressIds List<string>
The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
OutboundIpPrefixIds List<string>
The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
OutboundPortsAllocated int
Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.
EffectiveOutboundIps []string
The outcome (resource IDs) of the specified arguments.
IdleTimeoutInMinutes int
Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 30.
ManagedOutboundIpCount int
Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
OutboundIpAddressIds []string
The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
OutboundIpPrefixIds []string
The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
OutboundPortsAllocated int
Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.
effectiveOutboundIps string[]
The outcome (resource IDs) of the specified arguments.
idleTimeoutInMinutes number
Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 30.
managedOutboundIpCount number
Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
outboundIpAddressIds string[]
The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
outboundIpPrefixIds string[]
The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
outboundPortsAllocated number
Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.
effective_outbound_ips Sequence[str]
The outcome (resource IDs) of the specified arguments.
idle_timeout_in_minutes int
Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 30.
managed_outbound_ip_count int
Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
outbound_ip_address_ids Sequence[str]
The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
outbound_ip_prefix_ids Sequence[str]
The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
outbound_ports_allocated int
Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.

KubernetesClusterRoleBasedAccessControl

Enabled bool
Is Role Based Access Control Enabled? Changing this forces a new resource to be created.
AzureActiveDirectory KubernetesClusterRoleBasedAccessControlAzureActiveDirectoryArgs
An azure_active_directory block.
Enabled bool
Is Role Based Access Control Enabled? Changing this forces a new resource to be created.
AzureActiveDirectory KubernetesClusterRoleBasedAccessControlAzureActiveDirectory
An azure_active_directory block.
enabled boolean
Is Role Based Access Control Enabled? Changing this forces a new resource to be created.
azureActiveDirectory KubernetesClusterRoleBasedAccessControlAzureActiveDirectoryArgs
An azure_active_directory block.
enabled bool
Is Role Based Access Control Enabled? Changing this forces a new resource to be created.
azure_active_directory KubernetesClusterRoleBasedAccessControlAzureActiveDirectoryArgs
An azure_active_directory block.

KubernetesClusterRoleBasedAccessControlAzureActiveDirectory

AdminGroupObjectIds List<string>
A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
ClientAppId string
The Client ID of an Azure Active Directory Application.
Managed bool
Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration.
ServerAppId string
The Server ID of an Azure Active Directory Application.
ServerAppSecret string
The Server Secret of an Azure Active Directory Application.
TenantId string
The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.
AdminGroupObjectIds []string
A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
ClientAppId string
The Client ID of an Azure Active Directory Application.
Managed bool
Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration.
ServerAppId string
The Server ID of an Azure Active Directory Application.
ServerAppSecret string
The Server Secret of an Azure Active Directory Application.
TenantId string
The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.
adminGroupObjectIds string[]
A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
clientAppId string
The Client ID of an Azure Active Directory Application.
managed boolean
Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration.
serverAppId string
The Server ID of an Azure Active Directory Application.
serverAppSecret string
The Server Secret of an Azure Active Directory Application.
tenantId string
The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.
admin_group_object_ids Sequence[str]
A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
client_app_id str
The Client ID of an Azure Active Directory Application.
managed bool
Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration.
server_app_id str
The Server ID of an Azure Active Directory Application.
server_app_secret str
The Server Secret of an Azure Active Directory Application.
tenant_id str
The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.

KubernetesClusterServicePrincipal

ClientId string
The Client ID for the Service Principal.
ClientSecret string
The Client Secret for the Service Principal.
ClientId string
The Client ID for the Service Principal.
ClientSecret string
The Client Secret for the Service Principal.
clientId string
The Client ID for the Service Principal.
clientSecret string
The Client Secret for the Service Principal.
client_id str
The Client ID for the Service Principal.
client_secret str
The Client Secret for the Service Principal.

KubernetesClusterWindowsProfile

AdminUsername string
The Admin Username for Windows VMs.
AdminPassword string
The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
AdminUsername string
The Admin Username for Windows VMs.
AdminPassword string
The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
adminUsername string
The Admin Username for Windows VMs.
adminPassword string
The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
admin_username str
The Admin Username for Windows VMs.
admin_password str
The Admin Password for Windows VMs. Length must be between 14 and 123 characters.

Import

Managed Kubernetes Clusters can be imported using the resource id, e.g.

 $ pulumi import azure:containerservice/kubernetesCluster:KubernetesCluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group1/providers/Microsoft.ContainerService/managedClusters/cluster1

Package Details

Repository
https://github.com/pulumi/pulumi-azure
License
Apache-2.0
Notes
This Pulumi package is based on the azurerm Terraform Provider.