/** * This file contains only generated model types and their (de)serializers. * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input. */ /** Agent Pool. */ export interface AgentPool extends ProxyResource { /** Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention. */ readonly eTag?: string; /** Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ count?: number; /** The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ vmSize?: string; /** OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */ osDiskSizeGB?: number; /** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ osDiskType?: OSDiskType; /** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ kubeletDiskType?: KubeletDiskType; /** Determines the type of workload a node can run. */ workloadRuntime?: WorkloadRuntime; /** Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). */ messageOfTheDay?: string; /** The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: string; /** The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ podSubnetID?: string; /** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */ podIPAllocationMode?: PodIPAllocationMode; /** The maximum number of pods that can run on a node. */ maxPods?: number; /** The operating system type. The default is Linux. */ osType?: OSType; /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ osSKU?: Ossku; /** The maximum number of nodes for auto-scaling */ maxCount?: number; /** The minimum number of nodes for auto-scaling */ minCount?: number; /** Whether to enable auto-scaler */ enableAutoScaling?: boolean; /** The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ scaleDownMode?: ScaleDownMode; /** The type of Agent Pool. */ typePropertiesType?: AgentPoolType; /** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ mode?: AgentPoolMode; /** The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: string; /** The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. */ readonly currentOrchestratorVersion?: string; /** The version of node image */ readonly nodeImageVersion?: string; /** Settings for upgrading the agentpool */ upgradeSettings?: AgentPoolUpgradeSettings; /** The current deployment or provisioning state. */ readonly provisioningState?: string; /** Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ powerState?: PowerState; /** The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: string[]; /** Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */ enableNodePublicIP?: boolean; /** The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ nodePublicIPPrefixID?: string; /** The Virtual Machine Scale Set priority. */ scaleSetPriority?: ScaleSetPriority; /** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */ scaleSetEvictionPolicy?: ScaleSetEvictionPolicy; /** The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ spotMaxPrice?: number; /** The tags to be persisted on the agent pool virtual machine scale set. */ tags?: Record; /** The node labels to be persisted across all nodes in agent pool. */ nodeLabels?: Record; /** The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ nodeTaints?: string[]; /** The ID for Proximity Placement Group. */ proximityPlacementGroupID?: string; /** The Kubelet configuration on the agent pool nodes. */ kubeletConfig?: KubeletConfig; /** The OS configuration of Linux agent nodes. */ linuxOSConfig?: LinuxOSConfig; /** Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ enableEncryptionAtHost?: boolean; /** Whether to enable UltraSSD */ enableUltraSSD?: boolean; /** Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */ enableFips?: boolean; /** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ gpuInstanceProfile?: GPUInstanceProfile; /** CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ creationData?: CreationData; /** The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview) */ capacityReservationGroupID?: string; /** The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ hostGroupID?: string; /** Network-related settings of an agent pool. */ networkProfile?: AgentPoolNetworkProfile; /** The Windows agent pool's specific profile. */ windowsProfile?: AgentPoolWindowsProfile; /** The security settings of an agent pool. */ securityProfile?: AgentPoolSecurityProfile; /** GPU settings for the Agent Pool. */ gpuProfile?: GPUProfile; /** Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. */ gatewayProfile?: AgentPoolGatewayProfile; /** Specifications on VirtualMachines agent pool. */ virtualMachinesProfile?: VirtualMachinesProfile; /** The status of nodes in a VirtualMachines agent pool. */ virtualMachineNodesStatus?: VirtualMachineNodes[]; /** Contains read-only information about the Agent Pool. */ status?: AgentPoolStatus; /** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */ localDNSProfile?: LocalDNSProfile; } export declare function agentPoolSerializer(item: AgentPool): any; export declare function agentPoolDeserializer(item: any): AgentPool; /** Properties for the container service agent pool profile. */ export interface ManagedClusterAgentPoolProfileProperties { /** Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention. */ readonly eTag?: string; /** Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ count?: number; /** The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ vmSize?: string; /** OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */ osDiskSizeGB?: number; /** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ osDiskType?: OSDiskType; /** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ kubeletDiskType?: KubeletDiskType; /** Determines the type of workload a node can run. */ workloadRuntime?: WorkloadRuntime; /** Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). */ messageOfTheDay?: string; /** The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: string; /** The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ podSubnetID?: string; /** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */ podIPAllocationMode?: PodIPAllocationMode; /** The maximum number of pods that can run on a node. */ maxPods?: number; /** The operating system type. The default is Linux. */ osType?: OSType; /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ osSKU?: Ossku; /** The maximum number of nodes for auto-scaling */ maxCount?: number; /** The minimum number of nodes for auto-scaling */ minCount?: number; /** Whether to enable auto-scaler */ enableAutoScaling?: boolean; /** The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ scaleDownMode?: ScaleDownMode; /** The type of Agent Pool. */ type?: AgentPoolType; /** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ mode?: AgentPoolMode; /** The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: string; /** The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. */ readonly currentOrchestratorVersion?: string; /** The version of node image */ readonly nodeImageVersion?: string; /** Settings for upgrading the agentpool */ upgradeSettings?: AgentPoolUpgradeSettings; /** The current deployment or provisioning state. */ readonly provisioningState?: string; /** Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ powerState?: PowerState; /** The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: string[]; /** Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */ enableNodePublicIP?: boolean; /** The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ nodePublicIPPrefixID?: string; /** The Virtual Machine Scale Set priority. */ scaleSetPriority?: ScaleSetPriority; /** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */ scaleSetEvictionPolicy?: ScaleSetEvictionPolicy; /** The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ spotMaxPrice?: number; /** The tags to be persisted on the agent pool virtual machine scale set. */ tags?: Record; /** The node labels to be persisted across all nodes in agent pool. */ nodeLabels?: Record; /** The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ nodeTaints?: string[]; /** The ID for Proximity Placement Group. */ proximityPlacementGroupID?: string; /** The Kubelet configuration on the agent pool nodes. */ kubeletConfig?: KubeletConfig; /** The OS configuration of Linux agent nodes. */ linuxOSConfig?: LinuxOSConfig; /** Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ enableEncryptionAtHost?: boolean; /** Whether to enable UltraSSD */ enableUltraSSD?: boolean; /** Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */ enableFips?: boolean; /** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ gpuInstanceProfile?: GPUInstanceProfile; /** CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ creationData?: CreationData; /** The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview) */ capacityReservationGroupID?: string; /** The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ hostGroupID?: string; /** Network-related settings of an agent pool. */ networkProfile?: AgentPoolNetworkProfile; /** The Windows agent pool's specific profile. */ windowsProfile?: AgentPoolWindowsProfile; /** The security settings of an agent pool. */ securityProfile?: AgentPoolSecurityProfile; /** GPU settings for the Agent Pool. */ gpuProfile?: GPUProfile; /** Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. */ gatewayProfile?: AgentPoolGatewayProfile; /** Specifications on VirtualMachines agent pool. */ virtualMachinesProfile?: VirtualMachinesProfile; /** The status of nodes in a VirtualMachines agent pool. */ virtualMachineNodesStatus?: VirtualMachineNodes[]; /** Contains read-only information about the Agent Pool. */ status?: AgentPoolStatus; /** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */ localDNSProfile?: LocalDNSProfile; } export declare function managedClusterAgentPoolProfilePropertiesSerializer(item: ManagedClusterAgentPoolProfileProperties): any; export declare function managedClusterAgentPoolProfilePropertiesDeserializer(item: any): ManagedClusterAgentPoolProfileProperties; /** The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ export declare enum KnownOSDiskType { /** Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency. */ Managed = "Managed", /** Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades. */ Ephemeral = "Ephemeral" } /** * The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). \ * {@link KnownOSDiskType} can be used interchangeably with OSDiskType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Managed**: Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read\/write latency. \ * **Ephemeral**: Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read\/write latency, along with faster node scaling and cluster upgrades. */ export type OSDiskType = string; /** Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ export declare enum KnownKubeletDiskType { /** Kubelet will use the OS disk for its data. */ OS = "OS", /** Kubelet will use the temporary disk for its data. */ Temporary = "Temporary" } /** * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. \ * {@link KnownKubeletDiskType} can be used interchangeably with KubeletDiskType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **OS**: Kubelet will use the OS disk for its data. \ * **Temporary**: Kubelet will use the temporary disk for its data. */ export type KubeletDiskType = string; /** Determines the type of workload a node can run. */ export declare enum KnownWorkloadRuntime { /** Nodes will use Kubelet to run standard OCI container workloads. */ OCIContainer = "OCIContainer", /** Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). */ WasmWasi = "WasmWasi", /** Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series. */ KataVmIsolation = "KataVmIsolation" } /** * Determines the type of workload a node can run. \ * {@link KnownWorkloadRuntime} can be used interchangeably with WorkloadRuntime, * this enum contains the known values that the service supports. * ### Known values supported by the service * **OCIContainer**: Nodes will use Kubelet to run standard OCI container workloads. \ * **WasmWasi**: Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). \ * **KataVmIsolation**: Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series. */ export type WorkloadRuntime = string; /** Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. */ export declare enum KnownPodIPAllocationMode { /** Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode */ DynamicIndividual = "DynamicIndividual", /** Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger */ StaticBlock = "StaticBlock" } /** * Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. \ * {@link KnownPodIPAllocationMode} can be used interchangeably with PodIPAllocationMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **DynamicIndividual**: Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size \/16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode \ * **StaticBlock**: Each node is statically allocated CIDR block(s) of size \/28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods \/ 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of \/15 or bigger */ export type PodIPAllocationMode = string; /** The operating system type. The default is Linux. */ export declare enum KnownOSType { /** Use Linux. */ Linux = "Linux", /** Use Windows. */ Windows = "Windows" } /** * The operating system type. The default is Linux. \ * {@link KnownOSType} can be used interchangeably with OSType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Linux**: Use Linux. \ * **Windows**: Use Windows. */ export type OSType = string; /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ export declare enum KnownOssku { /** Use Ubuntu as the OS for node images. */ Ubuntu = "Ubuntu", /** Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. */ AzureLinux = "AzureLinux", /** Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. For limitations, visit https://aka.ms/aks/node-images. For OS migration guidance, see https://aka.ms/aks/upgrade-os-version. */ AzureLinux3 = "AzureLinux3", /** Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. */ CBLMariner = "CBLMariner", /** Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. */ Windows2019 = "Windows2019", /** Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. */ Windows2022 = "Windows2022", /** Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https://aka.ms/aks/supported-ubuntu-versions */ Ubuntu2204 = "Ubuntu2204", /** Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https://aka.ms/aks/supported-ubuntu-versions */ Ubuntu2404 = "Ubuntu2404" } /** * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. \ * {@link KnownOssku} can be used interchangeably with Ossku, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Ubuntu**: Use Ubuntu as the OS for node images. \ * **AzureLinux**: Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https:\//aka.ms\/azurelinux for more information. \ * **AzureLinux3**: Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https:\//aka.ms\/azurelinux for more information. For limitations, visit https:\//aka.ms\/aks\/node-images. For OS migration guidance, see https:\//aka.ms\/aks\/upgrade-os-version. \ * **CBLMariner**: Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. \ * **Windows2019**: Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. \ * **Windows2022**: Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. \ * **Ubuntu2204**: Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https:\//aka.ms\/aks\/supported-ubuntu-versions \ * **Ubuntu2404**: Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https:\//aka.ms\/aks\/supported-ubuntu-versions */ export type Ossku = string; /** Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing). */ export declare enum KnownScaleDownMode { /** Create new instances during scale up and remove instances during scale down. */ Delete = "Delete", /** Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down. */ Deallocate = "Deallocate" } /** * Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing). \ * {@link KnownScaleDownMode} can be used interchangeably with ScaleDownMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Delete**: Create new instances during scale up and remove instances during scale down. \ * **Deallocate**: Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down. */ export type ScaleDownMode = string; /** The type of Agent Pool. */ export declare enum KnownAgentPoolType { /** Create an Agent Pool backed by a Virtual Machine Scale Set. */ VirtualMachineScaleSets = "VirtualMachineScaleSets", /** Use of this is strongly discouraged. */ AvailabilitySet = "AvailabilitySet", /** Create an Agent Pool backed by a Single Instance VM orchestration mode. */ VirtualMachines = "VirtualMachines" } /** * The type of Agent Pool. \ * {@link KnownAgentPoolType} can be used interchangeably with AgentPoolType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **VirtualMachineScaleSets**: Create an Agent Pool backed by a Virtual Machine Scale Set. \ * **AvailabilitySet**: Use of this is strongly discouraged. \ * **VirtualMachines**: Create an Agent Pool backed by a Single Instance VM orchestration mode. */ export type AgentPoolType = string; /** The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ export declare enum KnownAgentPoolMode { /** System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. */ System = "System", /** User agent pools are primarily for hosting your application pods. */ User = "User", /** Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway. */ Gateway = "Gateway" } /** * The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools \ * {@link KnownAgentPoolMode} can be used interchangeably with AgentPoolMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **System**: System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. \ * **User**: User agent pools are primarily for hosting your application pods. \ * **Gateway**: Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https:\//aka.ms\/aks\/static-egress-gateway. */ export type AgentPoolMode = string; /** Settings for upgrading an agentpool */ export interface AgentPoolUpgradeSettings { /** The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster */ maxSurge?: string; /** The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster */ maxUnavailable?: string; /** The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. */ drainTimeoutInMinutes?: number; /** The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes. */ nodeSoakDurationInMinutes?: number; /** Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. */ undrainableNodeBehavior?: UndrainableNodeBehavior; } export declare function agentPoolUpgradeSettingsSerializer(item: AgentPoolUpgradeSettings): any; export declare function agentPoolUpgradeSettingsDeserializer(item: any): AgentPoolUpgradeSettings; /** Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. */ export declare enum KnownUndrainableNodeBehavior { /** AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state. */ Cordon = "Cordon", /** AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes. */ Schedule = "Schedule" } /** * Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. \ * {@link KnownUndrainableNodeBehavior} can be used interchangeably with UndrainableNodeBehavior, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Cordon**: AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com\/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state. \ * **Schedule**: AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes. */ export type UndrainableNodeBehavior = string; /** Describes the Power State of the cluster */ export interface PowerState { /** Tells whether the cluster is Running or Stopped */ code?: Code; } export declare function powerStateSerializer(item: PowerState): any; export declare function powerStateDeserializer(item: any): PowerState; /** Tells whether the cluster is Running or Stopped */ export declare enum KnownCode { /** The cluster is running. */ Running = "Running", /** The cluster is stopped. */ Stopped = "Stopped" } /** * Tells whether the cluster is Running or Stopped \ * {@link KnownCode} can be used interchangeably with Code, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Running**: The cluster is running. \ * **Stopped**: The cluster is stopped. */ export type Code = string; /** The Virtual Machine Scale Set priority. */ export declare enum KnownScaleSetPriority { /** Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information. */ Spot = "Spot", /** Regular VMs will be used. */ Regular = "Regular" } /** * The Virtual Machine Scale Set priority. \ * {@link KnownScaleSetPriority} can be used interchangeably with ScaleSetPriority, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Spot**: Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https:\//docs.microsoft.com\/azure\/aks\/spot-node-pool) for more information. \ * **Regular**: Regular VMs will be used. */ export type ScaleSetPriority = string; /** The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) */ export declare enum KnownScaleSetEvictionPolicy { /** Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. */ Delete = "Delete", /** Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading. */ Deallocate = "Deallocate" } /** * The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) \ * {@link KnownScaleSetEvictionPolicy} can be used interchangeably with ScaleSetEvictionPolicy, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Delete**: Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. \ * **Deallocate**: Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading. */ export type ScaleSetEvictionPolicy = string; /** Kubelet configurations of agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ export interface KubeletConfig { /** The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. */ cpuManagerPolicy?: string; /** If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true. */ cpuCfsQuota?: boolean; /** The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. */ cpuCfsQuotaPeriod?: string; /** The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85% */ imageGcHighThreshold?: number; /** The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80% */ imageGcLowThreshold?: number; /** The Topology Manager policy to use. For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. */ topologyManagerPolicy?: string; /** Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */ allowedUnsafeSysctls?: string[]; /** If set to true it will make the Kubelet fail to start if swap is enabled on the node. */ failSwapOn?: boolean; /** The maximum size (e.g. 10Mi) of container log file before it is rotated. */ containerLogMaxSizeMB?: number; /** The maximum number of container log files that can be present for a container. The number must be ≥ 2. */ containerLogMaxFiles?: number; /** The maximum number of processes per pod. */ podMaxPids?: number; } export declare function kubeletConfigSerializer(item: KubeletConfig): any; export declare function kubeletConfigDeserializer(item: any): KubeletConfig; /** OS configurations of Linux agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ export interface LinuxOSConfig { /** Sysctl settings for Linux agent nodes. */ sysctls?: SysctlConfig; /** Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ transparentHugePageEnabled?: string; /** Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ transparentHugePageDefrag?: string; /** The size in MB of a swap file that will be created on each node. */ swapFileSizeMB?: number; } export declare function linuxOSConfigSerializer(item: LinuxOSConfig): any; export declare function linuxOSConfigDeserializer(item: any): LinuxOSConfig; /** Sysctl settings for Linux agent nodes. */ export interface SysctlConfig { /** Sysctl setting net.core.somaxconn. */ netCoreSomaxconn?: number; /** Sysctl setting net.core.netdev_max_backlog. */ netCoreNetdevMaxBacklog?: number; /** Sysctl setting net.core.rmem_default. */ netCoreRmemDefault?: number; /** Sysctl setting net.core.rmem_max. */ netCoreRmemMax?: number; /** Sysctl setting net.core.wmem_default. */ netCoreWmemDefault?: number; /** Sysctl setting net.core.wmem_max. */ netCoreWmemMax?: number; /** Sysctl setting net.core.optmem_max. */ netCoreOptmemMax?: number; /** Sysctl setting net.ipv4.tcp_max_syn_backlog. */ netIpv4TcpMaxSynBacklog?: number; /** Sysctl setting net.ipv4.tcp_max_tw_buckets. */ netIpv4TcpMaxTwBuckets?: number; /** Sysctl setting net.ipv4.tcp_fin_timeout. */ netIpv4TcpFinTimeout?: number; /** Sysctl setting net.ipv4.tcp_keepalive_time. */ netIpv4TcpKeepaliveTime?: number; /** Sysctl setting net.ipv4.tcp_keepalive_probes. */ netIpv4TcpKeepaliveProbes?: number; /** Sysctl setting net.ipv4.tcp_keepalive_intvl. */ netIpv4TcpkeepaliveIntvl?: number; /** Sysctl setting net.ipv4.tcp_tw_reuse. */ netIpv4TcpTwReuse?: boolean; /** Sysctl setting net.ipv4.ip_local_port_range. */ netIpv4IpLocalPortRange?: string; /** Sysctl setting net.ipv4.neigh.default.gc_thresh1. */ netIpv4NeighDefaultGcThresh1?: number; /** Sysctl setting net.ipv4.neigh.default.gc_thresh2. */ netIpv4NeighDefaultGcThresh2?: number; /** Sysctl setting net.ipv4.neigh.default.gc_thresh3. */ netIpv4NeighDefaultGcThresh3?: number; /** Sysctl setting net.netfilter.nf_conntrack_max. */ netNetfilterNfConntrackMax?: number; /** Sysctl setting net.netfilter.nf_conntrack_buckets. */ netNetfilterNfConntrackBuckets?: number; /** Sysctl setting fs.inotify.max_user_watches. */ fsInotifyMaxUserWatches?: number; /** Sysctl setting fs.file-max. */ fsFileMax?: number; /** Sysctl setting fs.aio-max-nr. */ fsAioMaxNr?: number; /** Sysctl setting fs.nr_open. */ fsNrOpen?: number; /** Sysctl setting kernel.threads-max. */ kernelThreadsMax?: number; /** Sysctl setting vm.max_map_count. */ vmMaxMapCount?: number; /** Sysctl setting vm.swappiness. */ vmSwappiness?: number; /** Sysctl setting vm.vfs_cache_pressure. */ vmVfsCachePressure?: number; } export declare function sysctlConfigSerializer(item: SysctlConfig): any; export declare function sysctlConfigDeserializer(item: any): SysctlConfig; /** GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ export declare enum KnownGPUInstanceProfile { /** MIG 1g GPU instance profile. */ MIG1G = "MIG1g", /** MIG 2g GPU instance profile. */ MIG2G = "MIG2g", /** MIG 3g GPU instance profile. */ MIG3G = "MIG3g", /** MIG 4g GPU instance profile. */ MIG4G = "MIG4g", /** MIG 7g GPU instance profile. */ MIG7G = "MIG7g" } /** * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. \ * {@link KnownGPUInstanceProfile} can be used interchangeably with GPUInstanceProfile, * this enum contains the known values that the service supports. * ### Known values supported by the service * **MIG1g**: MIG 1g GPU instance profile. \ * **MIG2g**: MIG 2g GPU instance profile. \ * **MIG3g**: MIG 3g GPU instance profile. \ * **MIG4g**: MIG 4g GPU instance profile. \ * **MIG7g**: MIG 7g GPU instance profile. */ export type GPUInstanceProfile = string; /** Data used when creating a target resource from a source resource. */ export interface CreationData { /** This is the ARM ID of the source object to be used to create the target object. */ sourceResourceId?: string; } export declare function creationDataSerializer(item: CreationData): any; export declare function creationDataDeserializer(item: any): CreationData; /** Network settings of an agent pool. */ export interface AgentPoolNetworkProfile { /** IPTags of instance-level public IPs. */ nodePublicIPTags?: IPTag[]; /** The port ranges that are allowed to access. The specified ranges are allowed to overlap. */ allowedHostPorts?: PortRange[]; /** The IDs of the application security groups which agent pool will associate when created. */ applicationSecurityGroups?: string[]; } export declare function agentPoolNetworkProfileSerializer(item: AgentPoolNetworkProfile): any; export declare function agentPoolNetworkProfileDeserializer(item: any): AgentPoolNetworkProfile; export declare function ipTagArraySerializer(result: Array): any[]; export declare function ipTagArrayDeserializer(result: Array): any[]; /** Contains the IPTag associated with the object. */ export interface IPTag { /** The IP tag type. Example: RoutingPreference. */ ipTagType?: string; /** The value of the IP tag associated with the public IP. Example: Internet. */ tag?: string; } export declare function ipTagSerializer(item: IPTag): any; export declare function ipTagDeserializer(item: any): IPTag; export declare function portRangeArraySerializer(result: Array): any[]; export declare function portRangeArrayDeserializer(result: Array): any[]; /** The port range. */ export interface PortRange { /** The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. */ portStart?: number; /** The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. */ portEnd?: number; /** The network protocol of the port. */ protocol?: Protocol; } export declare function portRangeSerializer(item: PortRange): any; export declare function portRangeDeserializer(item: any): PortRange; /** The network protocol of the port. */ export declare enum KnownProtocol { /** TCP protocol. */ TCP = "TCP", /** UDP protocol. */ UDP = "UDP" } /** * The network protocol of the port. \ * {@link KnownProtocol} can be used interchangeably with Protocol, * this enum contains the known values that the service supports. * ### Known values supported by the service * **TCP**: TCP protocol. \ * **UDP**: UDP protocol. */ export type Protocol = string; /** The Windows agent pool's specific profile. */ export interface AgentPoolWindowsProfile { /** Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. */ disableOutboundNat?: boolean; } export declare function agentPoolWindowsProfileSerializer(item: AgentPoolWindowsProfile): any; export declare function agentPoolWindowsProfileDeserializer(item: any): AgentPoolWindowsProfile; /** The security settings of an agent pool. */ export interface AgentPoolSecurityProfile { /** vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. */ enableVtpm?: boolean; /** Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. */ enableSecureBoot?: boolean; /** SSH access method of an agent pool. */ sshAccess?: AgentPoolSSHAccess; } export declare function agentPoolSecurityProfileSerializer(item: AgentPoolSecurityProfile): any; export declare function agentPoolSecurityProfileDeserializer(item: any): AgentPoolSecurityProfile; /** SSH access method of an agent pool. */ export declare enum KnownAgentPoolSSHAccess { /** Can SSH onto the node as a local user using private key. */ LocalUser = "LocalUser", /** SSH service will be turned off on the node. */ Disabled = "Disabled" } /** * SSH access method of an agent pool. \ * {@link KnownAgentPoolSSHAccess} can be used interchangeably with AgentPoolSSHAccess, * this enum contains the known values that the service supports. * ### Known values supported by the service * **LocalUser**: Can SSH onto the node as a local user using private key. \ * **Disabled**: SSH service will be turned off on the node. */ export type AgentPoolSSHAccess = string; /** GPU settings for the Agent Pool. */ export interface GPUProfile { /** Whether to install GPU drivers. When it's not specified, default is Install. */ driver?: GPUDriver; } export declare function gpuProfileSerializer(item: GPUProfile): any; export declare function gpuProfileDeserializer(item: any): GPUProfile; /** Whether to install GPU drivers. When it's not specified, default is Install. */ export declare enum KnownGPUDriver { /** Install driver. */ Install = "Install", /** Skip driver install. */ None = "None" } /** * Whether to install GPU drivers. When it's not specified, default is Install. \ * {@link KnownGPUDriver} can be used interchangeably with GPUDriver, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Install**: Install driver. \ * **None**: Skip driver install. */ export type GPUDriver = string; /** Profile of the managed cluster gateway agent pool. */ export interface AgentPoolGatewayProfile { /** The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. */ publicIPPrefixSize?: number; } export declare function agentPoolGatewayProfileSerializer(item: AgentPoolGatewayProfile): any; export declare function agentPoolGatewayProfileDeserializer(item: any): AgentPoolGatewayProfile; /** Specifications on VirtualMachines agent pool. */ export interface VirtualMachinesProfile { /** Specifications on how to scale a VirtualMachines agent pool. */ scale?: ScaleProfile; } export declare function virtualMachinesProfileSerializer(item: VirtualMachinesProfile): any; export declare function virtualMachinesProfileDeserializer(item: any): VirtualMachinesProfile; /** Specifications on how to scale a VirtualMachines agent pool. */ export interface ScaleProfile { /** Specifications on how to scale the VirtualMachines agent pool to a fixed size. */ manual?: ManualScaleProfile[]; } export declare function scaleProfileSerializer(item: ScaleProfile): any; export declare function scaleProfileDeserializer(item: any): ScaleProfile; export declare function manualScaleProfileArraySerializer(result: Array): any[]; export declare function manualScaleProfileArrayDeserializer(result: Array): any[]; /** Specifications on number of machines. */ export interface ManualScaleProfile { /** VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'. */ size?: string; /** Number of nodes. */ count?: number; } export declare function manualScaleProfileSerializer(item: ManualScaleProfile): any; export declare function manualScaleProfileDeserializer(item: any): ManualScaleProfile; export declare function virtualMachineNodesArraySerializer(result: Array): any[]; export declare function virtualMachineNodesArrayDeserializer(result: Array): any[]; /** Current status on a group of nodes of the same vm size. */ export interface VirtualMachineNodes { /** The VM size of the agents used to host this group of nodes. */ size?: string; /** Number of nodes. */ count?: number; } export declare function virtualMachineNodesSerializer(item: VirtualMachineNodes): any; export declare function virtualMachineNodesDeserializer(item: any): VirtualMachineNodes; /** Contains read-only information about the Agent Pool. */ export interface AgentPoolStatus { /** The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted. */ readonly provisioningError?: ErrorDetail; } export declare function agentPoolStatusSerializer(item: AgentPoolStatus): any; export declare function agentPoolStatusDeserializer(item: any): AgentPoolStatus; /** The error detail. */ export interface ErrorDetail { /** The error code. */ readonly code?: string; /** The error message. */ readonly message?: string; /** The error target. */ readonly target?: string; /** The error details. */ readonly details?: ErrorDetail[]; /** The error additional info. */ readonly additionalInfo?: ErrorAdditionalInfo[]; } export declare function errorDetailDeserializer(item: any): ErrorDetail; export declare function errorDetailArrayDeserializer(result: Array): any[]; export declare function errorAdditionalInfoArrayDeserializer(result: Array): any[]; /** The resource management error additional info. */ export interface ErrorAdditionalInfo { /** The additional info type. */ readonly type?: string; /** The additional info. */ readonly info?: any; } export declare function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo; /** Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. */ export interface LocalDNSProfile { /** Mode of enablement for localDNS. */ mode?: LocalDNSMode; /** System-generated state of localDNS. */ readonly state?: LocalDNSState; /** VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic). */ vnetDNSOverrides?: Record; /** KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic). */ kubeDNSOverrides?: Record; } export declare function localDNSProfileSerializer(item: LocalDNSProfile): any; export declare function localDNSProfileDeserializer(item: any): LocalDNSProfile; /** Mode of enablement for localDNS. */ export declare enum KnownLocalDNSMode { /** If the current orchestrator version supports this feature, prefer enabling localDNS. */ Preferred = "Preferred", /** Enable localDNS. */ Required = "Required", /** Disable localDNS. */ Disabled = "Disabled" } /** * Mode of enablement for localDNS. \ * {@link KnownLocalDNSMode} can be used interchangeably with LocalDNSMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Preferred**: If the current orchestrator version supports this feature, prefer enabling localDNS. \ * **Required**: Enable localDNS. \ * **Disabled**: Disable localDNS. */ export type LocalDNSMode = string; /** System-generated state of localDNS. */ export declare enum KnownLocalDNSState { /** localDNS is enabled. */ Enabled = "Enabled", /** localDNS is disabled. */ Disabled = "Disabled" } /** * System-generated state of localDNS. \ * {@link KnownLocalDNSState} can be used interchangeably with LocalDNSState, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Enabled**: localDNS is enabled. \ * **Disabled**: localDNS is disabled. */ export type LocalDNSState = string; export declare function localDNSOverrideRecordSerializer(item: Record): Record; export declare function localDNSOverrideRecordDeserializer(item: Record): Record; /** Overrides for localDNS profile. */ export interface LocalDNSOverride { /** Log level for DNS queries in localDNS. */ queryLogging?: LocalDNSQueryLogging; /** Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. */ protocol?: LocalDNSProtocol; /** Destination server for DNS queries to be forwarded from localDNS. */ forwardDestination?: LocalDNSForwardDestination; /** Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. */ forwardPolicy?: LocalDNSForwardPolicy; /** Maximum number of concurrent queries. See [forward plugin](https://coredns.io/plugins/forward) for more information. */ maxConcurrent?: number; /** Cache max TTL in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information. */ cacheDurationInSeconds?: number; /** Serve stale duration in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information. */ serveStaleDurationInSeconds?: number; /** Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. */ serveStale?: LocalDNSServeStale; } export declare function localDNSOverrideSerializer(item: LocalDNSOverride): any; export declare function localDNSOverrideDeserializer(item: any): LocalDNSOverride; /** Log level for DNS queries in localDNS. */ export declare enum KnownLocalDNSQueryLogging { /** Enables error logging in localDNS. See [errors plugin](https://coredns.io/plugins/errors) for more information. */ Error = "Error", /** Enables query logging in localDNS. See [log plugin](https://coredns.io/plugins/log) for more information. */ Log = "Log" } /** * Log level for DNS queries in localDNS. \ * {@link KnownLocalDNSQueryLogging} can be used interchangeably with LocalDNSQueryLogging, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Error**: Enables error logging in localDNS. See [errors plugin](https:\//coredns.io\/plugins\/errors) for more information. \ * **Log**: Enables query logging in localDNS. See [log plugin](https:\//coredns.io\/plugins\/log) for more information. */ export type LocalDNSQueryLogging = string; /** Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. */ export declare enum KnownLocalDNSProtocol { /** Prefer UDP protocol for connections from localDNS to upstream DNS server. */ PreferUDP = "PreferUDP", /** Enforce TCP protocol for connections from localDNS to upstream DNS server. */ ForceTCP = "ForceTCP" } /** * Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. \ * {@link KnownLocalDNSProtocol} can be used interchangeably with LocalDNSProtocol, * this enum contains the known values that the service supports. * ### Known values supported by the service * **PreferUDP**: Prefer UDP protocol for connections from localDNS to upstream DNS server. \ * **ForceTCP**: Enforce TCP protocol for connections from localDNS to upstream DNS server. */ export type LocalDNSProtocol = string; /** Destination server for DNS queries to be forwarded from localDNS. */ export declare enum KnownLocalDNSForwardDestination { /** Forward DNS queries from localDNS to cluster CoreDNS. */ ClusterCoreDNS = "ClusterCoreDNS", /** Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured. */ VnetDNS = "VnetDNS" } /** * Destination server for DNS queries to be forwarded from localDNS. \ * {@link KnownLocalDNSForwardDestination} can be used interchangeably with LocalDNSForwardDestination, * this enum contains the known values that the service supports. * ### Known values supported by the service * **ClusterCoreDNS**: Forward DNS queries from localDNS to cluster CoreDNS. \ * **VnetDNS**: Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured. */ export type LocalDNSForwardDestination = string; /** Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. */ export declare enum KnownLocalDNSForwardPolicy { /** Implements sequential upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */ Sequential = "Sequential", /** Implements round robin upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */ RoundRobin = "RoundRobin", /** Implements random upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. */ Random = "Random" } /** * Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. \ * {@link KnownLocalDNSForwardPolicy} can be used interchangeably with LocalDNSForwardPolicy, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Sequential**: Implements sequential upstream DNS server selection. See [forward plugin](https:\//coredns.io\/plugins\/forward) for more information. \ * **RoundRobin**: Implements round robin upstream DNS server selection. See [forward plugin](https:\//coredns.io\/plugins\/forward) for more information. \ * **Random**: Implements random upstream DNS server selection. See [forward plugin](https:\//coredns.io\/plugins\/forward) for more information. */ export type LocalDNSForwardPolicy = string; /** Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. */ export declare enum KnownLocalDNSServeStale { /** Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https://coredns.io/plugins/cache) for more information. */ Verify = "Verify", /** Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https://coredns.io/plugins/cache) for more information. */ Immediate = "Immediate", /** Disable serving stale data. */ Disable = "Disable" } /** * Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. \ * {@link KnownLocalDNSServeStale} can be used interchangeably with LocalDNSServeStale, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Verify**: Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https:\//coredns.io\/plugins\/cache) for more information. \ * **Immediate**: Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https:\//coredns.io\/plugins\/cache) for more information. \ * **Disable**: Disable serving stale data. */ export type LocalDNSServeStale = string; /** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ export interface ProxyResource extends Resource { } export declare function proxyResourceSerializer(item: ProxyResource): any; export declare function proxyResourceDeserializer(item: any): ProxyResource; /** Common fields that are returned in the response for all Azure Resource Manager resources */ export interface Resource { /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ readonly id?: string; /** The name of the resource */ readonly name?: string; /** The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ readonly type?: string; /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */ readonly systemData?: SystemData; } export declare function resourceSerializer(item: Resource): any; export declare function resourceDeserializer(item: any): Resource; /** Metadata pertaining to creation and last modification of the resource. */ export interface SystemData { /** The identity that created the resource. */ createdBy?: string; /** The type of identity that created the resource. */ createdByType?: CreatedByType; /** The timestamp of resource creation (UTC). */ createdAt?: Date; /** The identity that last modified the resource. */ lastModifiedBy?: string; /** The type of identity that last modified the resource. */ lastModifiedByType?: CreatedByType; /** The timestamp of resource last modification (UTC) */ lastModifiedAt?: Date; } export declare function systemDataDeserializer(item: any): SystemData; /** The kind of entity that created the resource. */ export declare enum KnownCreatedByType { /** The entity was created by a user. */ User = "User", /** The entity was created by an application. */ Application = "Application", /** The entity was created by a managed identity. */ ManagedIdentity = "ManagedIdentity", /** The entity was created by a key. */ Key = "Key" } /** * The kind of entity that created the resource. \ * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **User**: The entity was created by a user. \ * **Application**: The entity was created by an application. \ * **ManagedIdentity**: The entity was created by a managed identity. \ * **Key**: The entity was created by a key. */ export type CreatedByType = string; /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */ export interface ErrorResponse { /** The error object. */ error?: ErrorDetail; } export declare function errorResponseDeserializer(item: any): ErrorResponse; /** The response of a AgentPool list operation. */ export interface _AgentPoolListResult { /** The AgentPool items on this page */ value: AgentPool[]; /** The link to the next page of items */ nextLink?: string; } export declare function _agentPoolListResultDeserializer(item: any): _AgentPoolListResult; export declare function agentPoolArraySerializer(result: Array): any[]; export declare function agentPoolArrayDeserializer(result: Array): any[]; /** Specifies a list of machine names from the agent pool to be deleted. */ export interface AgentPoolDeleteMachinesParameter { /** The agent pool machine names. */ machineNames: string[]; } export declare function agentPoolDeleteMachinesParameterSerializer(item: AgentPoolDeleteMachinesParameter): any; /** The list of available versions for an agent pool. */ export interface AgentPoolAvailableVersions { /** The ID of the agent pool version list. */ readonly id?: string; /** The name of the agent pool version list. */ readonly name?: string; /** Type of the agent pool version list. */ readonly type?: string; /** List of versions available for agent pool. */ agentPoolVersions?: AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem[]; } export declare function agentPoolAvailableVersionsDeserializer(item: any): AgentPoolAvailableVersions; /** The list of available agent pool versions. */ export interface AgentPoolAvailableVersionsProperties { /** List of versions available for agent pool. */ agentPoolVersions?: AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem[]; } export declare function agentPoolAvailableVersionsPropertiesDeserializer(item: any): AgentPoolAvailableVersionsProperties; export declare function agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemArrayDeserializer(result: Array): any[]; /** Available version information for an agent pool. */ export interface AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem { /** Whether this version is the default agent pool version. */ default?: boolean; /** The Kubernetes version (major.minor.patch). */ kubernetesVersion?: string; /** Whether Kubernetes version is currently in preview. */ isPreview?: boolean; } export declare function agentPoolAvailableVersionsPropertiesAgentPoolVersionsItemDeserializer(item: any): AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem; /** The list of available upgrades for an agent pool. */ export interface AgentPoolUpgradeProfile extends ProxyResource { /** The Kubernetes version (major.minor.patch). */ kubernetesVersion: string; /** The operating system type. The default is Linux. */ osType: OSType; /** List of orchestrator types and versions available for upgrade. */ upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[]; /** The latest AKS supported node image version. */ latestNodeImageVersion?: string; } export declare function agentPoolUpgradeProfileDeserializer(item: any): AgentPoolUpgradeProfile; /** The list of available upgrade versions. */ export interface AgentPoolUpgradeProfileProperties { /** The Kubernetes version (major.minor.patch). */ kubernetesVersion: string; /** The operating system type. The default is Linux. */ osType: OSType; /** List of orchestrator types and versions available for upgrade. */ upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[]; /** The latest AKS supported node image version. */ latestNodeImageVersion?: string; } export declare function agentPoolUpgradeProfilePropertiesDeserializer(item: any): AgentPoolUpgradeProfileProperties; export declare function agentPoolUpgradeProfilePropertiesUpgradesItemArrayDeserializer(result: Array): any[]; /** Available upgrades for an AgentPool. */ export interface AgentPoolUpgradeProfilePropertiesUpgradesItem { /** The Kubernetes version (major.minor.patch). */ kubernetesVersion?: string; /** Whether the Kubernetes version is currently in preview. */ isPreview?: boolean; } export declare function agentPoolUpgradeProfilePropertiesUpgradesItemDeserializer(item: any): AgentPoolUpgradeProfilePropertiesUpgradesItem; /** Managed cluster. */ export interface ManagedCluster extends TrackedResource { /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */ readonly eTag?: string; /** The managed cluster SKU. */ sku?: ManagedClusterSKU; /** The extended location of the Virtual Machine. */ extendedLocation?: ExtendedLocation; /** The identity of the managed cluster, if configured. */ identity?: ManagedClusterIdentity; /** This is primarily used to expose different UI experiences in the portal for different kinds */ kind?: string; /** The current provisioning state. */ readonly provisioningState?: string; /** The Power State of the cluster. */ readonly powerState?: PowerState; /** The max number of agent pools for the managed cluster. */ readonly maxAgentPools?: number; /** The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. */ kubernetesVersion?: string; /** The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used. */ readonly currentKubernetesVersion?: string; /** The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created. */ dnsPrefix?: string; /** The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. */ fqdnSubdomain?: string; /** The FQDN of the master pool. */ readonly fqdn?: string; /** The FQDN of private cluster. */ readonly privateFqdn?: string; /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */ readonly azurePortalFqdn?: string; /** The agent pool properties. */ agentPoolProfiles?: ManagedClusterAgentPoolProfile[]; /** The profile for Linux VMs in the Managed Cluster. */ linuxProfile?: ContainerServiceLinuxProfile; /** The profile for Windows VMs in the Managed Cluster. */ windowsProfile?: ManagedClusterWindowsProfile; /** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ servicePrincipalProfile?: ManagedClusterServicePrincipalProfile; /** The profile of managed cluster add-on. */ addonProfiles?: Record; /** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. */ podIdentityProfile?: ManagedClusterPodIdentityProfile; /** The OIDC issuer profile of the Managed Cluster. */ oidcIssuerProfile?: ManagedClusterOidcIssuerProfile; /** The name of the resource group containing agent pool nodes. */ nodeResourceGroup?: string; /** Profile of the node resource group configuration. */ nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile; /** Whether to enable Kubernetes Role-Based Access Control. */ enableRbac?: boolean; /** The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. */ supportPlan?: KubernetesSupportPlan; /** The network configuration profile. */ networkProfile?: ContainerServiceNetworkProfile; /** The Azure Active Directory configuration. */ aadProfile?: ManagedClusterAADProfile; /** The auto upgrade configuration. */ autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile; /** Settings for upgrading a cluster. */ upgradeSettings?: ClusterUpgradeSettings; /** Parameters to be applied to the cluster-autoscaler when enabled */ autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile; /** The access profile for managed cluster API server. */ apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile; /** The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' */ diskEncryptionSetID?: string; /** The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". */ identityProfile?: Record; /** Private link resources associated with the cluster. */ privateLinkResources?: PrivateLinkResource[]; /** If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). */ disableLocalAccounts?: boolean; /** Configurations for provisioning the cluster with HTTP proxy servers. */ httpProxyConfig?: ManagedClusterHttpProxyConfig; /** Security profile for the managed cluster. */ securityProfile?: ManagedClusterSecurityProfile; /** Storage profile for the managed cluster. */ storageProfile?: ManagedClusterStorageProfile; /** Ingress profile for the managed cluster. */ ingressProfile?: ManagedClusterIngressProfile; /** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */ publicNetworkAccess?: PublicNetworkAccess; /** Workload Auto-scaler profile for the managed cluster. */ workloadAutoScalerProfile?: ManagedClusterWorkloadAutoScalerProfile; /** Azure Monitor addon profiles for monitoring the managed cluster. */ azureMonitorProfile?: ManagedClusterAzureMonitorProfile; /** Service mesh profile for a managed cluster. */ serviceMeshProfile?: ServiceMeshProfile; /** The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence) */ readonly resourceUID?: string; /** Optional cluster metrics configuration. */ metricsProfile?: ManagedClusterMetricsProfile; /** Node provisioning settings that apply to the whole cluster. */ nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile; /** Profile of the cluster bootstrap configuration. */ bootstrapProfile?: ManagedClusterBootstrapProfile; /** AI toolchain operator settings that apply to the whole cluster. */ aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile; /** Contains read-only information about the Managed Cluster. */ status?: ManagedClusterStatus; } export declare function managedClusterSerializer(item: ManagedCluster): any; export declare function managedClusterDeserializer(item: any): ManagedCluster; /** Properties of the managed cluster. */ export interface ManagedClusterProperties { /** The current provisioning state. */ readonly provisioningState?: string; /** The Power State of the cluster. */ readonly powerState?: PowerState; /** The max number of agent pools for the managed cluster. */ readonly maxAgentPools?: number; /** The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. */ kubernetesVersion?: string; /** The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used. */ readonly currentKubernetesVersion?: string; /** The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created. */ dnsPrefix?: string; /** The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. */ fqdnSubdomain?: string; /** The FQDN of the master pool. */ readonly fqdn?: string; /** The FQDN of private cluster. */ readonly privateFqdn?: string; /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */ readonly azurePortalFqdn?: string; /** The agent pool properties. */ agentPoolProfiles?: ManagedClusterAgentPoolProfile[]; /** The profile for Linux VMs in the Managed Cluster. */ linuxProfile?: ContainerServiceLinuxProfile; /** The profile for Windows VMs in the Managed Cluster. */ windowsProfile?: ManagedClusterWindowsProfile; /** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ servicePrincipalProfile?: ManagedClusterServicePrincipalProfile; /** The profile of managed cluster add-on. */ addonProfiles?: Record; /** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. */ podIdentityProfile?: ManagedClusterPodIdentityProfile; /** The OIDC issuer profile of the Managed Cluster. */ oidcIssuerProfile?: ManagedClusterOidcIssuerProfile; /** The name of the resource group containing agent pool nodes. */ nodeResourceGroup?: string; /** Profile of the node resource group configuration. */ nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile; /** Whether to enable Kubernetes Role-Based Access Control. */ enableRbac?: boolean; /** The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. */ supportPlan?: KubernetesSupportPlan; /** The network configuration profile. */ networkProfile?: ContainerServiceNetworkProfile; /** The Azure Active Directory configuration. */ aadProfile?: ManagedClusterAADProfile; /** The auto upgrade configuration. */ autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile; /** Settings for upgrading a cluster. */ upgradeSettings?: ClusterUpgradeSettings; /** Parameters to be applied to the cluster-autoscaler when enabled */ autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile; /** The access profile for managed cluster API server. */ apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile; /** The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' */ diskEncryptionSetID?: string; /** The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". */ identityProfile?: Record; /** Private link resources associated with the cluster. */ privateLinkResources?: PrivateLinkResource[]; /** If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). */ disableLocalAccounts?: boolean; /** Configurations for provisioning the cluster with HTTP proxy servers. */ httpProxyConfig?: ManagedClusterHttpProxyConfig; /** Security profile for the managed cluster. */ securityProfile?: ManagedClusterSecurityProfile; /** Storage profile for the managed cluster. */ storageProfile?: ManagedClusterStorageProfile; /** Ingress profile for the managed cluster. */ ingressProfile?: ManagedClusterIngressProfile; /** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */ publicNetworkAccess?: PublicNetworkAccess; /** Workload Auto-scaler profile for the managed cluster. */ workloadAutoScalerProfile?: ManagedClusterWorkloadAutoScalerProfile; /** Azure Monitor addon profiles for monitoring the managed cluster. */ azureMonitorProfile?: ManagedClusterAzureMonitorProfile; /** Service mesh profile for a managed cluster. */ serviceMeshProfile?: ServiceMeshProfile; /** The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence) */ readonly resourceUID?: string; /** Optional cluster metrics configuration. */ metricsProfile?: ManagedClusterMetricsProfile; /** Node provisioning settings that apply to the whole cluster. */ nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile; /** Profile of the cluster bootstrap configuration. */ bootstrapProfile?: ManagedClusterBootstrapProfile; /** AI toolchain operator settings that apply to the whole cluster. */ aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile; /** Contains read-only information about the Managed Cluster. */ status?: ManagedClusterStatus; } export declare function managedClusterPropertiesSerializer(item: ManagedClusterProperties): any; export declare function managedClusterPropertiesDeserializer(item: any): ManagedClusterProperties; export declare function managedClusterAgentPoolProfileArraySerializer(result: Array): any[]; export declare function managedClusterAgentPoolProfileArrayDeserializer(result: Array): any[]; /** Profile for the container service agent pool. */ export interface ManagedClusterAgentPoolProfile extends ManagedClusterAgentPoolProfileProperties { /** Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less. */ name: string; } export declare function managedClusterAgentPoolProfileSerializer(item: ManagedClusterAgentPoolProfile): any; export declare function managedClusterAgentPoolProfileDeserializer(item: any): ManagedClusterAgentPoolProfile; /** Profile for Linux VMs in the container service cluster. */ export interface ContainerServiceLinuxProfile { /** The administrator username to use for Linux VMs. */ adminUsername: string; /** The SSH configuration for Linux-based VMs running on Azure. */ ssh: ContainerServiceSshConfiguration; } export declare function containerServiceLinuxProfileSerializer(item: ContainerServiceLinuxProfile): any; export declare function containerServiceLinuxProfileDeserializer(item: any): ContainerServiceLinuxProfile; /** SSH configuration for Linux-based VMs running on Azure. */ export interface ContainerServiceSshConfiguration { /** The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ publicKeys: ContainerServiceSshPublicKey[]; } export declare function containerServiceSshConfigurationSerializer(item: ContainerServiceSshConfiguration): any; export declare function containerServiceSshConfigurationDeserializer(item: any): ContainerServiceSshConfiguration; export declare function containerServiceSshPublicKeyArraySerializer(result: Array): any[]; export declare function containerServiceSshPublicKeyArrayDeserializer(result: Array): any[]; /** Contains information about SSH certificate public key data. */ export interface ContainerServiceSshPublicKey { /** Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */ keyData: string; } export declare function containerServiceSshPublicKeySerializer(item: ContainerServiceSshPublicKey): any; export declare function containerServiceSshPublicKeyDeserializer(item: any): ContainerServiceSshPublicKey; /** Profile for Windows VMs in the managed cluster. */ export interface ManagedClusterWindowsProfile { /** Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters */ adminUsername: string; /** Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" */ adminPassword?: string; /** The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ licenseType?: LicenseType; /** Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). */ enableCSIProxy?: boolean; /** The Windows gMSA Profile in the Managed Cluster. */ gmsaProfile?: WindowsGmsaProfile; } export declare function managedClusterWindowsProfileSerializer(item: ManagedClusterWindowsProfile): any; export declare function managedClusterWindowsProfileDeserializer(item: any): ManagedClusterWindowsProfile; /** The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ export declare enum KnownLicenseType { /** No additional licensing is applied. */ None = "None", /** Enables Azure Hybrid User Benefits for Windows VMs. */ WindowsServer = "Windows_Server" } /** * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. \ * {@link KnownLicenseType} can be used interchangeably with LicenseType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **None**: No additional licensing is applied. \ * **Windows_Server**: Enables Azure Hybrid User Benefits for Windows VMs. */ export type LicenseType = string; /** Windows gMSA Profile in the managed cluster. */ export interface WindowsGmsaProfile { /** Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster. */ enabled?: boolean; /** Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */ dnsServer?: string; /** Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */ rootDomainName?: string; } export declare function windowsGmsaProfileSerializer(item: WindowsGmsaProfile): any; export declare function windowsGmsaProfileDeserializer(item: any): WindowsGmsaProfile; /** Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ export interface ManagedClusterServicePrincipalProfile { /** The ID for the service principal. */ clientId: string; /** The secret password associated with the service principal in plain text. */ secret?: string; } export declare function managedClusterServicePrincipalProfileSerializer(item: ManagedClusterServicePrincipalProfile): any; export declare function managedClusterServicePrincipalProfileDeserializer(item: any): ManagedClusterServicePrincipalProfile; export declare function managedClusterAddonProfileRecordSerializer(item: Record): Record; export declare function managedClusterAddonProfileRecordDeserializer(item: Record): Record; /** A Kubernetes add-on profile for a managed cluster. */ export interface ManagedClusterAddonProfile { /** Whether the add-on is enabled or not. */ enabled: boolean; /** Key-value pairs for configuring an add-on. */ config?: Record; /** Information of user assigned identity used by this add-on. */ readonly identity?: ManagedClusterAddonProfileIdentity; } export declare function managedClusterAddonProfileSerializer(item: ManagedClusterAddonProfile): any; export declare function managedClusterAddonProfileDeserializer(item: any): ManagedClusterAddonProfile; /** Information of user assigned identity used by this add-on. */ export interface ManagedClusterAddonProfileIdentity extends UserAssignedIdentity { } export declare function managedClusterAddonProfileIdentityDeserializer(item: any): ManagedClusterAddonProfileIdentity; /** The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. */ export interface ManagedClusterPodIdentityProfile { /** Whether the pod identity addon is enabled. */ enabled?: boolean; /** Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. */ allowNetworkPluginKubenet?: boolean; /** The pod identities to use in the cluster. */ userAssignedIdentities?: ManagedClusterPodIdentity[]; /** The pod identity exceptions to allow. */ userAssignedIdentityExceptions?: ManagedClusterPodIdentityException[]; } export declare function managedClusterPodIdentityProfileSerializer(item: ManagedClusterPodIdentityProfile): any; export declare function managedClusterPodIdentityProfileDeserializer(item: any): ManagedClusterPodIdentityProfile; export declare function managedClusterPodIdentityArraySerializer(result: Array): any[]; export declare function managedClusterPodIdentityArrayDeserializer(result: Array): any[]; /** Details about the pod identity assigned to the Managed Cluster. */ export interface ManagedClusterPodIdentity { /** The name of the pod identity. */ name: string; /** The namespace of the pod identity. */ namespace: string; /** The binding selector to use for the AzureIdentityBinding resource. */ bindingSelector?: string; /** The user assigned identity details. */ identity: UserAssignedIdentity; /** The current provisioning state of the pod identity. */ readonly provisioningState?: ManagedClusterPodIdentityProvisioningState; /** The provisioning information for the pod identity. */ readonly provisioningInfo?: ManagedClusterPodIdentityProvisioningInfo; } export declare function managedClusterPodIdentitySerializer(item: ManagedClusterPodIdentity): any; export declare function managedClusterPodIdentityDeserializer(item: any): ManagedClusterPodIdentity; /** Details about a user assigned identity. */ export interface UserAssignedIdentity { /** The resource ID of the user assigned identity. */ resourceId?: string; /** The client ID of the user assigned identity. */ clientId?: string; /** The object ID of the user assigned identity. */ objectId?: string; } export declare function userAssignedIdentitySerializer(item: UserAssignedIdentity): any; export declare function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity; /** The current provisioning state of the pod identity. */ export declare enum KnownManagedClusterPodIdentityProvisioningState { /** Pod identity is assigned. */ Assigned = "Assigned", /** Pod identity assignment was canceled. */ Canceled = "Canceled", /** Pod identity is being deleted. */ Deleting = "Deleting", /** Pod identity assignment failed. */ Failed = "Failed", /** Pod identity assignment succeeded. */ Succeeded = "Succeeded", /** Pod identity is being updated. */ Updating = "Updating" } /** * The current provisioning state of the pod identity. \ * {@link KnownManagedClusterPodIdentityProvisioningState} can be used interchangeably with ManagedClusterPodIdentityProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Assigned**: Pod identity is assigned. \ * **Canceled**: Pod identity assignment was canceled. \ * **Deleting**: Pod identity is being deleted. \ * **Failed**: Pod identity assignment failed. \ * **Succeeded**: Pod identity assignment succeeded. \ * **Updating**: Pod identity is being updated. */ export type ManagedClusterPodIdentityProvisioningState = string; /** Pod identity provisioning information. */ export interface ManagedClusterPodIdentityProvisioningInfo { /** Pod identity assignment error (if any). */ error?: ManagedClusterPodIdentityProvisioningError; } export declare function managedClusterPodIdentityProvisioningInfoDeserializer(item: any): ManagedClusterPodIdentityProvisioningInfo; /** An error response from the pod identity provisioning. */ export interface ManagedClusterPodIdentityProvisioningError { /** Details about the error. */ error?: ManagedClusterPodIdentityProvisioningErrorBody; } export declare function managedClusterPodIdentityProvisioningErrorDeserializer(item: any): ManagedClusterPodIdentityProvisioningError; /** An error response from the pod identity provisioning. */ export interface ManagedClusterPodIdentityProvisioningErrorBody { /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ code?: string; /** A message describing the error, intended to be suitable for display in a user interface. */ message?: string; /** The target of the particular error. For example, the name of the property in error. */ target?: string; /** A list of additional details about the error. */ details?: ManagedClusterPodIdentityProvisioningErrorBody[]; } export declare function managedClusterPodIdentityProvisioningErrorBodyDeserializer(item: any): ManagedClusterPodIdentityProvisioningErrorBody; export declare function managedClusterPodIdentityProvisioningErrorBodyArrayDeserializer(result: Array): any[]; export declare function managedClusterPodIdentityExceptionArraySerializer(result: Array): any[]; export declare function managedClusterPodIdentityExceptionArrayDeserializer(result: Array): any[]; /** A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. */ export interface ManagedClusterPodIdentityException { /** The name of the pod identity exception. */ name: string; /** The namespace of the pod identity exception. */ namespace: string; /** The pod labels to match. */ podLabels: Record; } export declare function managedClusterPodIdentityExceptionSerializer(item: ManagedClusterPodIdentityException): any; export declare function managedClusterPodIdentityExceptionDeserializer(item: any): ManagedClusterPodIdentityException; /** The OIDC issuer profile of the Managed Cluster. */ export interface ManagedClusterOidcIssuerProfile { /** The OIDC issuer url of the Managed Cluster. */ readonly issuerURL?: string; /** Whether the OIDC issuer is enabled. */ enabled?: boolean; } export declare function managedClusterOidcIssuerProfileSerializer(item: ManagedClusterOidcIssuerProfile): any; export declare function managedClusterOidcIssuerProfileDeserializer(item: any): ManagedClusterOidcIssuerProfile; /** Node resource group lockdown profile for a managed cluster. */ export interface ManagedClusterNodeResourceGroupProfile { /** The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' */ restrictionLevel?: RestrictionLevel; } export declare function managedClusterNodeResourceGroupProfileSerializer(item: ManagedClusterNodeResourceGroupProfile): any; export declare function managedClusterNodeResourceGroupProfileDeserializer(item: any): ManagedClusterNodeResourceGroupProfile; /** The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' */ export declare enum KnownRestrictionLevel { /** All RBAC permissions are allowed on the managed node resource group */ Unrestricted = "Unrestricted", /** Only \*\/read RBAC permissions allowed on the managed node resource group */ ReadOnly = "ReadOnly" } /** * The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' \ * {@link KnownRestrictionLevel} can be used interchangeably with RestrictionLevel, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Unrestricted**: All RBAC permissions are allowed on the managed node resource group \ * **ReadOnly**: Only \*\/read RBAC permissions allowed on the managed node resource group */ export type RestrictionLevel = string; /** Different support tiers for AKS managed clusters */ export declare enum KnownKubernetesSupportPlan { /** Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. */ KubernetesOfficial = "KubernetesOfficial", /** Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. */ AKSLongTermSupport = "AKSLongTermSupport" } /** * Different support tiers for AKS managed clusters \ * {@link KnownKubernetesSupportPlan} can be used interchangeably with KubernetesSupportPlan, * this enum contains the known values that the service supports. * ### Known values supported by the service * **KubernetesOfficial**: Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. \ * **AKSLongTermSupport**: Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. */ export type KubernetesSupportPlan = string; /** Profile of network configuration. */ export interface ContainerServiceNetworkProfile { /** Network plugin used for building the Kubernetes network. */ networkPlugin?: NetworkPlugin; /** The mode the network plugin should use. */ networkPluginMode?: NetworkPluginMode; /** Network policy used for building the Kubernetes network. */ networkPolicy?: NetworkPolicy; /** The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. */ networkMode?: NetworkMode; /** Network dataplane used in the Kubernetes cluster. */ networkDataplane?: NetworkDataplane; /** Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. */ advancedNetworking?: AdvancedNetworking; /** A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ podCidr?: string; /** A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. */ serviceCidr?: string; /** An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. */ dnsServiceIP?: string; /** The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ outboundType?: OutboundType; /** The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ loadBalancerSku?: LoadBalancerSku; /** Profile of the cluster load balancer. */ loadBalancerProfile?: ManagedClusterLoadBalancerProfile; /** Profile of the cluster NAT gateway. */ natGatewayProfile?: ManagedClusterNATGatewayProfile; /** The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway. */ staticEgressGatewayProfile?: ManagedClusterStaticEgressGatewayProfile; /** The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. */ podCidrs?: string[]; /** The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. */ serviceCidrs?: string[]; /** The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ ipFamilies?: IpFamily[]; } export declare function containerServiceNetworkProfileSerializer(item: ContainerServiceNetworkProfile): any; export declare function containerServiceNetworkProfileDeserializer(item: any): ContainerServiceNetworkProfile; /** Network plugin used for building the Kubernetes network. */ export declare enum KnownNetworkPlugin { /** Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information. */ Azure = "azure", /** Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information. */ Kubenet = "kubenet", /** No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information. */ None = "none" } /** * Network plugin used for building the Kubernetes network. \ * {@link KnownNetworkPlugin} can be used interchangeably with NetworkPlugin, * this enum contains the known values that the service supports. * ### Known values supported by the service * **azure**: Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https:\//docs.microsoft.com\/azure\/aks\/concepts-network#azure-cni-advanced-networking) for more information. \ * **kubenet**: Use the Kubenet network plugin. See [Kubenet (basic) networking](https:\//docs.microsoft.com\/azure\/aks\/concepts-network#kubenet-basic-networking) for more information. \ * **none**: No CNI plugin is pre-installed. See [BYO CNI](https:\//docs.microsoft.com\/en-us\/azure\/aks\/use-byo-cni) for more information. */ export type NetworkPlugin = string; /** The mode the network plugin should use. */ export declare enum KnownNetworkPluginMode { /** Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay. */ Overlay = "overlay" } /** * The mode the network plugin should use. \ * {@link KnownNetworkPluginMode} can be used interchangeably with NetworkPluginMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **overlay**: Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https:\//aka.ms\/aks\/azure-cni-overlay. */ export type NetworkPluginMode = string; /** Network policy used for building the Kubernetes network. */ export declare enum KnownNetworkPolicy { /** Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. */ None = "none", /** Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. */ Calico = "calico", /** Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. */ Azure = "azure", /** Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. */ Cilium = "cilium" } /** * Network policy used for building the Kubernetes network. \ * {@link KnownNetworkPolicy} can be used interchangeably with NetworkPolicy, * this enum contains the known values that the service supports. * ### Known values supported by the service * **none**: Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. \ * **calico**: Use Calico network policies. See [differences between Azure and Calico policies](https:\//docs.microsoft.com\/azure\/aks\/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. \ * **azure**: Use Azure network policies. See [differences between Azure and Calico policies](https:\//docs.microsoft.com\/azure\/aks\/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. \ * **cilium**: Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. */ export type NetworkPolicy = string; /** The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. */ export declare enum KnownNetworkMode { /** No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information. */ Transparent = "transparent", /** This is no longer supported */ Bridge = "bridge" } /** * The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. \ * {@link KnownNetworkMode} can be used interchangeably with NetworkMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **transparent**: No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https:\//docs.microsoft.com\/azure\/aks\/faq#transparent-mode) for more information. \ * **bridge**: This is no longer supported */ export type NetworkMode = string; /** Network dataplane used in the Kubernetes cluster. */ export declare enum KnownNetworkDataplane { /** Use Azure network dataplane. */ Azure = "azure", /** Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information. */ Cilium = "cilium" } /** * Network dataplane used in the Kubernetes cluster. \ * {@link KnownNetworkDataplane} can be used interchangeably with NetworkDataplane, * this enum contains the known values that the service supports. * ### Known values supported by the service * **azure**: Use Azure network dataplane. \ * **cilium**: Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https:\//learn.microsoft.com\/azure\/aks\/azure-cni-powered-by-cilium) for more information. */ export type NetworkDataplane = string; /** Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. */ export interface AdvancedNetworking { /** Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false. */ enabled?: boolean; /** Observability profile to enable advanced network metrics and flow logs with historical contexts. */ observability?: AdvancedNetworkingObservability; /** Security profile to enable security features on cilium based cluster. */ security?: AdvancedNetworkingSecurity; /** Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. */ performance?: AdvancedNetworkingPerformance; } export declare function advancedNetworkingSerializer(item: AdvancedNetworking): any; export declare function advancedNetworkingDeserializer(item: any): AdvancedNetworking; /** Observability profile to enable advanced network metrics and flow logs with historical contexts. */ export interface AdvancedNetworkingObservability { /** Indicates the enablement of Advanced Networking observability functionalities on clusters. */ enabled?: boolean; } export declare function advancedNetworkingObservabilitySerializer(item: AdvancedNetworkingObservability): any; export declare function advancedNetworkingObservabilityDeserializer(item: any): AdvancedNetworkingObservability; /** Security profile to enable security features on cilium based cluster. */ export interface AdvancedNetworkingSecurity { /** This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false. */ enabled?: boolean; /** Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. */ advancedNetworkPolicies?: AdvancedNetworkPolicies; /** Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. */ transitEncryption?: AdvancedNetworkingSecurityTransitEncryption; } export declare function advancedNetworkingSecuritySerializer(item: AdvancedNetworkingSecurity): any; export declare function advancedNetworkingSecurityDeserializer(item: any): AdvancedNetworkingSecurity; /** Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. */ export declare enum KnownAdvancedNetworkPolicies { /** Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option. */ L7 = "L7", /** Enable FQDN based network policies */ Fqdn = "FQDN", /** Disable Layer 7 network policies (FQDN, HTTP/S, Kafka) */ None = "None" } /** * Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. \ * {@link KnownAdvancedNetworkPolicies} can be used interchangeably with AdvancedNetworkPolicies, * this enum contains the known values that the service supports. * ### Known values supported by the service * **L7**: Enable Layer7 network policies (FQDN, HTTP\/S, Kafka). This option is a superset of the FQDN option. \ * **FQDN**: Enable FQDN based network policies \ * **None**: Disable Layer 7 network policies (FQDN, HTTP\/S, Kafka) */ export type AdvancedNetworkPolicies = string; /** Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. */ export interface AdvancedNetworkingSecurityTransitEncryption { /** Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. */ type?: TransitEncryptionType; } export declare function advancedNetworkingSecurityTransitEncryptionSerializer(item: AdvancedNetworkingSecurityTransitEncryption): any; export declare function advancedNetworkingSecurityTransitEncryptionDeserializer(item: any): AdvancedNetworkingSecurityTransitEncryption; /** Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. */ export declare enum KnownTransitEncryptionType { /** Enable WireGuard encryption. Refer to https://docs.cilium.io/en/latest/security/network/encryption-wireguard/ on use cases and implementation details */ WireGuard = "WireGuard", /** Disable Transit encryption */ None = "None" } /** * Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. \ * {@link KnownTransitEncryptionType} can be used interchangeably with TransitEncryptionType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **WireGuard**: Enable WireGuard encryption. Refer to https:\//docs.cilium.io\/en\/latest\/security\/network\/encryption-wireguard\/ on use cases and implementation details \ * **None**: Disable Transit encryption */ export type TransitEncryptionType = string; /** Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. */ export interface AdvancedNetworkingPerformance { /** Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation */ accelerationMode?: AccelerationMode; } export declare function advancedNetworkingPerformanceSerializer(item: AdvancedNetworkingPerformance): any; export declare function advancedNetworkingPerformanceDeserializer(item: any): AdvancedNetworkingPerformance; /** Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation */ export declare enum KnownAccelerationMode { /** Enable eBPF host routing with veth device mode. */ BpfVeth = "BpfVeth", /** Disable acceleration options. */ None = "None" } /** * Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation \ * {@link KnownAccelerationMode} can be used interchangeably with AccelerationMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **BpfVeth**: Enable eBPF host routing with veth device mode. \ * **None**: Disable acceleration options. */ export type AccelerationMode = string; /** The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ export declare enum KnownOutboundType { /** The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer). */ LoadBalancer = "loadBalancer", /** Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting). */ UserDefinedRouting = "userDefinedRouting", /** The AKS-managed NAT gateway is used for egress. */ ManagedNATGateway = "managedNATGateway", /** The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. */ UserAssignedNATGateway = "userAssignedNATGateway", /** The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/ */ None = "none" } /** * The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). \ * {@link KnownOutboundType} can be used interchangeably with OutboundType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **loadBalancer**: The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https:\//docs.microsoft.com\/azure\/aks\/egress-outboundtype#outbound-type-of-loadbalancer). \ * **userDefinedRouting**: Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https:\//docs.microsoft.com\/azure\/aks\/egress-outboundtype#outbound-type-of-userdefinedrouting). \ * **managedNATGateway**: The AKS-managed NAT gateway is used for egress. \ * **userAssignedNATGateway**: The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. \ * **none**: The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https:\//azure.microsoft.com\/en-us\/updates\/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access\/ */ export type OutboundType = string; /** The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ export declare enum KnownLoadBalancerSku { /** Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article. */ Standard = "standard", /** Use a basic Load Balancer with limited functionality. */ Basic = "basic" } /** * The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. \ * {@link KnownLoadBalancerSku} can be used interchangeably with LoadBalancerSku, * this enum contains the known values that the service supports. * ### Known values supported by the service * **standard**: Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https:\//docs.microsoft.com\/azure\/aks\/load-balancer-standard) article. \ * **basic**: Use a basic Load Balancer with limited functionality. */ export type LoadBalancerSku = string; /** Profile of the managed cluster load balancer. */ export interface ManagedClusterLoadBalancerProfile { /** Desired managed outbound IPs for the cluster load balancer. */ managedOutboundIPs?: ManagedClusterLoadBalancerProfileManagedOutboundIPs; /** Desired outbound IP Prefix resources for the cluster load balancer. */ outboundIPPrefixes?: ManagedClusterLoadBalancerProfileOutboundIPPrefixes; /** Desired outbound IP resources for the cluster load balancer. */ outboundIPs?: ManagedClusterLoadBalancerProfileOutboundIPs; /** The effective outbound IP resources of the cluster load balancer. */ readonly effectiveOutboundIPs?: ResourceReference[]; /** The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ allocatedOutboundPorts?: number; /** Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */ idleTimeoutInMinutes?: number; /** Enable multiple standard load balancers per AKS cluster or not. */ enableMultipleStandardLoadBalancers?: boolean; /** The type of the managed inbound Load Balancer BackendPool. */ backendPoolType?: BackendPoolType; } export declare function managedClusterLoadBalancerProfileSerializer(item: ManagedClusterLoadBalancerProfile): any; export declare function managedClusterLoadBalancerProfileDeserializer(item: any): ManagedClusterLoadBalancerProfile; /** Desired managed outbound IPs for the cluster load balancer. */ export interface ManagedClusterLoadBalancerProfileManagedOutboundIPs { /** The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */ count?: number; /** The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. */ countIPv6?: number; } export declare function managedClusterLoadBalancerProfileManagedOutboundIPsSerializer(item: ManagedClusterLoadBalancerProfileManagedOutboundIPs): any; export declare function managedClusterLoadBalancerProfileManagedOutboundIPsDeserializer(item: any): ManagedClusterLoadBalancerProfileManagedOutboundIPs; /** Desired outbound IP Prefix resources for the cluster load balancer. */ export interface ManagedClusterLoadBalancerProfileOutboundIPPrefixes { /** A list of public IP prefix resources. */ publicIPPrefixes?: ResourceReference[]; } export declare function managedClusterLoadBalancerProfileOutboundIPPrefixesSerializer(item: ManagedClusterLoadBalancerProfileOutboundIPPrefixes): any; export declare function managedClusterLoadBalancerProfileOutboundIPPrefixesDeserializer(item: any): ManagedClusterLoadBalancerProfileOutboundIPPrefixes; export declare function resourceReferenceArraySerializer(result: Array): any[]; export declare function resourceReferenceArrayDeserializer(result: Array): any[]; /** A reference to an Azure resource. */ export interface ResourceReference { /** The fully qualified Azure resource id. */ id?: string; } export declare function resourceReferenceSerializer(item: ResourceReference): any; export declare function resourceReferenceDeserializer(item: any): ResourceReference; /** Desired outbound IP resources for the cluster load balancer. */ export interface ManagedClusterLoadBalancerProfileOutboundIPs { /** A list of public IP resources. */ publicIPs?: ResourceReference[]; } export declare function managedClusterLoadBalancerProfileOutboundIPsSerializer(item: ManagedClusterLoadBalancerProfileOutboundIPs): any; export declare function managedClusterLoadBalancerProfileOutboundIPsDeserializer(item: any): ManagedClusterLoadBalancerProfileOutboundIPs; /** The type of the managed inbound Load Balancer BackendPool. */ export declare enum KnownBackendPoolType { /** The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. */ NodeIPConfiguration = "NodeIPConfiguration", /** The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. */ NodeIP = "NodeIP" } /** * The type of the managed inbound Load Balancer BackendPool. \ * {@link KnownBackendPoolType} can be used interchangeably with BackendPoolType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **NodeIPConfiguration**: The type of the managed inbound Load Balancer BackendPool. https:\//cloud-provider-azure.sigs.k8s.io\/topics\/loadbalancer\/#configure-load-balancer-backend. \ * **NodeIP**: The type of the managed inbound Load Balancer BackendPool. https:\//cloud-provider-azure.sigs.k8s.io\/topics\/loadbalancer\/#configure-load-balancer-backend. */ export type BackendPoolType = string; /** Profile of the managed cluster NAT gateway. */ export interface ManagedClusterNATGatewayProfile { /** Profile of the managed outbound IP resources of the cluster NAT gateway. */ managedOutboundIPProfile?: ManagedClusterManagedOutboundIPProfile; /** The effective outbound IP resources of the cluster NAT gateway. */ readonly effectiveOutboundIPs?: ResourceReference[]; /** Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. */ idleTimeoutInMinutes?: number; } export declare function managedClusterNATGatewayProfileSerializer(item: ManagedClusterNATGatewayProfile): any; export declare function managedClusterNATGatewayProfileDeserializer(item: any): ManagedClusterNATGatewayProfile; /** Profile of the managed outbound IP resources of the managed cluster. */ export interface ManagedClusterManagedOutboundIPProfile { /** The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. */ count?: number; } export declare function managedClusterManagedOutboundIPProfileSerializer(item: ManagedClusterManagedOutboundIPProfile): any; export declare function managedClusterManagedOutboundIPProfileDeserializer(item: any): ManagedClusterManagedOutboundIPProfile; /** The Static Egress Gateway addon configuration for the cluster. */ export interface ManagedClusterStaticEgressGatewayProfile { /** Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not. */ enabled?: boolean; } export declare function managedClusterStaticEgressGatewayProfileSerializer(item: ManagedClusterStaticEgressGatewayProfile): any; export declare function managedClusterStaticEgressGatewayProfileDeserializer(item: any): ManagedClusterStaticEgressGatewayProfile; /** To determine if address belongs IPv4 or IPv6 family */ export declare enum KnownIpFamily { /** IPv4 family */ IPv4 = "IPv4", /** IPv6 family */ IPv6 = "IPv6" } /** * To determine if address belongs IPv4 or IPv6 family \ * {@link KnownIpFamily} can be used interchangeably with IpFamily, * this enum contains the known values that the service supports. * ### Known values supported by the service * **IPv4**: IPv4 family \ * **IPv6**: IPv6 family */ export type IpFamily = string; /** AADProfile specifies attributes for Azure Active Directory integration. For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ export interface ManagedClusterAADProfile { /** Whether to enable managed AAD. */ managed?: boolean; /** Whether to enable Azure RBAC for Kubernetes authorization. */ enableAzureRbac?: boolean; /** The list of AAD group object IDs that will have admin role of the cluster. */ adminGroupObjectIDs?: string[]; /** (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ clientAppID?: string; /** (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ serverAppID?: string; /** (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. */ serverAppSecret?: string; /** The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. */ tenantID?: string; } export declare function managedClusterAADProfileSerializer(item: ManagedClusterAADProfile): any; export declare function managedClusterAADProfileDeserializer(item: any): ManagedClusterAADProfile; /** Auto upgrade profile for a managed cluster. */ export interface ManagedClusterAutoUpgradeProfile { /** The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ upgradeChannel?: UpgradeChannel; /** Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. */ nodeOSUpgradeChannel?: NodeOSUpgradeChannel; } export declare function managedClusterAutoUpgradeProfileSerializer(item: ManagedClusterAutoUpgradeProfile): any; export declare function managedClusterAutoUpgradeProfileDeserializer(item: any): ManagedClusterAutoUpgradeProfile; /** The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ export declare enum KnownUpgradeChannel { /** Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. */ Rapid = "rapid", /** Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. */ Stable = "stable", /** Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. */ Patch = "patch", /** Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching */ NodeImage = "node-image", /** Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. */ None = "none" } /** * The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). \ * {@link KnownUpgradeChannel} can be used interchangeably with UpgradeChannel, * this enum contains the known values that the service supports. * ### Known values supported by the service * **rapid**: Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. \ * **stable**: Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. \ * **patch**: Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. \ * **node-image**: Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching \ * **none**: Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. */ export type UpgradeChannel = string; /** Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. */ export declare enum KnownNodeOSUpgradeChannel { /** No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates */ None = "None", /** OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice */ Unmanaged = "Unmanaged", /** AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. */ NodeImage = "NodeImage", /** AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption. */ SecurityPatch = "SecurityPatch" } /** * Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. \ * {@link KnownNodeOSUpgradeChannel} can be used interchangeably with NodeOSUpgradeChannel, * this enum contains the known values that the service supports. * ### Known values supported by the service * **None**: No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates \ * **Unmanaged**: OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice \ * **NodeImage**: AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. \ * **SecurityPatch**: AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption. */ export type NodeOSUpgradeChannel = string; /** Settings for upgrading a cluster. */ export interface ClusterUpgradeSettings { /** Settings for overrides. */ overrideSettings?: UpgradeOverrideSettings; } export declare function clusterUpgradeSettingsSerializer(item: ClusterUpgradeSettings): any; export declare function clusterUpgradeSettingsDeserializer(item: any): ClusterUpgradeSettings; /** Settings for overrides when upgrading a cluster. */ export interface UpgradeOverrideSettings { /** Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. */ forceUpgrade?: boolean; /** Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. */ until?: Date; } export declare function upgradeOverrideSettingsSerializer(item: UpgradeOverrideSettings): any; export declare function upgradeOverrideSettingsDeserializer(item: any): UpgradeOverrideSettings; /** Parameters to be applied to the cluster-autoscaler when enabled */ export interface ManagedClusterPropertiesAutoScalerProfile { /** Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false' */ balanceSimilarNodeGroups?: string; /** DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. */ daemonsetEvictionForEmptyNodes?: boolean; /** DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. */ daemonsetEvictionForOccupiedNodes?: boolean; /** Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions. */ ignoreDaemonsetsUtilization?: boolean; /** The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ expander?: Expander; /** The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10. */ maxEmptyBulkDelete?: string; /** The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600. */ maxGracefulTerminationSec?: string; /** The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ maxNodeProvisionTime?: string; /** The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0. */ maxTotalUnreadyPercentage?: string; /** Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). */ newPodScaleUpDelay?: string; /** The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3. */ okTotalUnreadyCount?: string; /** How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds. */ scanInterval?: string; /** How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ scaleDownDelayAfterAdd?: string; /** How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ scaleDownDelayAfterDelete?: string; /** How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ scaleDownDelayAfterFailure?: string; /** How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ scaleDownUnneededTime?: string; /** How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ scaleDownUnreadyTime?: string; /** Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'. */ scaleDownUtilizationThreshold?: string; /** If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true. */ skipNodesWithLocalStorage?: string; /** If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true. */ skipNodesWithSystemPods?: string; } export declare function managedClusterPropertiesAutoScalerProfileSerializer(item: ManagedClusterPropertiesAutoScalerProfile): any; export declare function managedClusterPropertiesAutoScalerProfileDeserializer(item: any): ManagedClusterPropertiesAutoScalerProfile; /** The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ export declare enum KnownExpander { /** Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. */ LeastWaste = "least-waste", /** Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. */ MostPods = "most-pods", /** Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md). */ Priority = "priority", /** Used when you don't have a particular need for the node groups to scale differently. */ Random = "random" } /** * The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. \ * {@link KnownExpander} can be used interchangeably with Expander, * this enum contains the known values that the service supports. * ### Known values supported by the service * **least-waste**: Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. \ * **most-pods**: Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. \ * **priority**: Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https:\//github.com\/kubernetes\/autoscaler\/blob\/master\/cluster-autoscaler\/expander\/priority\/readme.md). \ * **random**: Used when you don't have a particular need for the node groups to scale differently. */ export type Expander = string; /** Access profile for managed cluster API server. */ export interface ManagedClusterAPIServerAccessProfile { /** The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */ authorizedIPRanges?: string[]; /** Whether to create the cluster as a private cluster or not. For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */ enablePrivateCluster?: boolean; /** The private DNS zone mode for the cluster. The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */ privateDNSZone?: string; /** Whether to create additional public FQDN for private cluster or not. */ enablePrivateClusterPublicFqdn?: boolean; /** Whether to disable run command for the cluster or not. */ disableRunCommand?: boolean; /** Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details. */ enableVnetIntegration?: boolean; /** The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration. */ subnetId?: string; } export declare function managedClusterAPIServerAccessProfileSerializer(item: ManagedClusterAPIServerAccessProfile): any; export declare function managedClusterAPIServerAccessProfileDeserializer(item: any): ManagedClusterAPIServerAccessProfile; export declare function userAssignedIdentityRecordSerializer(item: Record): Record; export declare function userAssignedIdentityRecordDeserializer(item: Record): Record; export declare function privateLinkResourceArraySerializer(result: Array): any[]; export declare function privateLinkResourceArrayDeserializer(result: Array): any[]; /** A private link resource */ export interface PrivateLinkResource { /** The ID of the private link resource. */ id?: string; /** The name of the private link resource. See [naming rules](https://aka.ms/search-naming-rules) for more details. */ name?: string; /** The resource type. */ type?: string; /** The group ID of the resource. */ groupId?: string; /** The RequiredMembers of the resource */ requiredMembers?: string[]; /** The private link service ID of the resource, this field is exposed only to NRP internally. */ readonly privateLinkServiceID?: string; } export declare function privateLinkResourceSerializer(item: PrivateLinkResource): any; export declare function privateLinkResourceDeserializer(item: any): PrivateLinkResource; /** Cluster HTTP proxy configuration. */ export interface ManagedClusterHttpProxyConfig { /** The HTTP proxy server endpoint to use. */ httpProxy?: string; /** The HTTPS proxy server endpoint to use. */ httpsProxy?: string; /** The endpoints that should not go through proxy. */ noProxy?: string[]; /** Alternative CA cert to use for connecting to proxy servers. */ trustedCa?: string; /** Whether to enable HTTP proxy. If disabled, the specified proxy configuration will be not be set on pods and nodes. If not specified, the default is true. */ enabled?: boolean; } export declare function managedClusterHttpProxyConfigSerializer(item: ManagedClusterHttpProxyConfig): any; export declare function managedClusterHttpProxyConfigDeserializer(item: any): ManagedClusterHttpProxyConfig; /** Security profile for the container service cluster. */ export interface ManagedClusterSecurityProfile { /** Microsoft Defender settings for the security profile. */ defender?: ManagedClusterSecurityProfileDefender; /** Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */ azureKeyVaultKms?: AzureKeyVaultKms; /** Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */ workloadIdentity?: ManagedClusterSecurityProfileWorkloadIdentity; /** Image Cleaner settings for the security profile. */ imageCleaner?: ManagedClusterSecurityProfileImageCleaner; /** A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority). */ customCATrustCertificates?: Uint8Array[]; } export declare function managedClusterSecurityProfileSerializer(item: ManagedClusterSecurityProfile): any; export declare function managedClusterSecurityProfileDeserializer(item: any): ManagedClusterSecurityProfile; /** Microsoft Defender settings for the security profile. */ export interface ManagedClusterSecurityProfileDefender { /** Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. */ logAnalyticsWorkspaceResourceId?: string; /** Microsoft Defender threat detection for Cloud settings for the security profile. */ securityMonitoring?: ManagedClusterSecurityProfileDefenderSecurityMonitoring; } export declare function managedClusterSecurityProfileDefenderSerializer(item: ManagedClusterSecurityProfileDefender): any; export declare function managedClusterSecurityProfileDefenderDeserializer(item: any): ManagedClusterSecurityProfileDefender; /** Microsoft Defender settings for the security profile threat detection. */ export interface ManagedClusterSecurityProfileDefenderSecurityMonitoring { /** Whether to enable Defender threat detection */ enabled?: boolean; } export declare function managedClusterSecurityProfileDefenderSecurityMonitoringSerializer(item: ManagedClusterSecurityProfileDefenderSecurityMonitoring): any; export declare function managedClusterSecurityProfileDefenderSecurityMonitoringDeserializer(item: any): ManagedClusterSecurityProfileDefenderSecurityMonitoring; /** Azure Key Vault key management service settings for the security profile. */ export interface AzureKeyVaultKms { /** Whether to enable Azure Key Vault key management service. The default is false. */ enabled?: boolean; /** Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. */ keyId?: string; /** Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ keyVaultNetworkAccess?: KeyVaultNetworkAccessTypes; /** Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */ keyVaultResourceId?: string; } export declare function azureKeyVaultKmsSerializer(item: AzureKeyVaultKms): any; export declare function azureKeyVaultKmsDeserializer(item: any): AzureKeyVaultKms; /** Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ export declare enum KnownKeyVaultNetworkAccessTypes { /** Key vault allows public access from all networks. */ Public = "Public", /** Key vault disables public access and enables private link. */ Private = "Private" } /** * Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. \ * {@link KnownKeyVaultNetworkAccessTypes} can be used interchangeably with KeyVaultNetworkAccessTypes, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Public**: Key vault allows public access from all networks. \ * **Private**: Key vault disables public access and enables private link. */ export type KeyVaultNetworkAccessTypes = string; /** Workload identity settings for the security profile. */ export interface ManagedClusterSecurityProfileWorkloadIdentity { /** Whether to enable workload identity. */ enabled?: boolean; } export declare function managedClusterSecurityProfileWorkloadIdentitySerializer(item: ManagedClusterSecurityProfileWorkloadIdentity): any; export declare function managedClusterSecurityProfileWorkloadIdentityDeserializer(item: any): ManagedClusterSecurityProfileWorkloadIdentity; /** Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */ export interface ManagedClusterSecurityProfileImageCleaner { /** Whether to enable Image Cleaner on AKS cluster. */ enabled?: boolean; /** Image Cleaner scanning interval in hours. */ intervalHours?: number; } export declare function managedClusterSecurityProfileImageCleanerSerializer(item: ManagedClusterSecurityProfileImageCleaner): any; export declare function managedClusterSecurityProfileImageCleanerDeserializer(item: any): ManagedClusterSecurityProfileImageCleaner; /** Storage profile for the container service cluster. */ export interface ManagedClusterStorageProfile { /** AzureDisk CSI Driver settings for the storage profile. */ diskCSIDriver?: ManagedClusterStorageProfileDiskCSIDriver; /** AzureFile CSI Driver settings for the storage profile. */ fileCSIDriver?: ManagedClusterStorageProfileFileCSIDriver; /** Snapshot Controller settings for the storage profile. */ snapshotController?: ManagedClusterStorageProfileSnapshotController; /** AzureBlob CSI Driver settings for the storage profile. */ blobCSIDriver?: ManagedClusterStorageProfileBlobCSIDriver; } export declare function managedClusterStorageProfileSerializer(item: ManagedClusterStorageProfile): any; export declare function managedClusterStorageProfileDeserializer(item: any): ManagedClusterStorageProfile; /** AzureDisk CSI Driver settings for the storage profile. */ export interface ManagedClusterStorageProfileDiskCSIDriver { /** Whether to enable AzureDisk CSI Driver. The default value is true. */ enabled?: boolean; } export declare function managedClusterStorageProfileDiskCSIDriverSerializer(item: ManagedClusterStorageProfileDiskCSIDriver): any; export declare function managedClusterStorageProfileDiskCSIDriverDeserializer(item: any): ManagedClusterStorageProfileDiskCSIDriver; /** AzureFile CSI Driver settings for the storage profile. */ export interface ManagedClusterStorageProfileFileCSIDriver { /** Whether to enable AzureFile CSI Driver. The default value is true. */ enabled?: boolean; } export declare function managedClusterStorageProfileFileCSIDriverSerializer(item: ManagedClusterStorageProfileFileCSIDriver): any; export declare function managedClusterStorageProfileFileCSIDriverDeserializer(item: any): ManagedClusterStorageProfileFileCSIDriver; /** Snapshot Controller settings for the storage profile. */ export interface ManagedClusterStorageProfileSnapshotController { /** Whether to enable Snapshot Controller. The default value is true. */ enabled?: boolean; } export declare function managedClusterStorageProfileSnapshotControllerSerializer(item: ManagedClusterStorageProfileSnapshotController): any; export declare function managedClusterStorageProfileSnapshotControllerDeserializer(item: any): ManagedClusterStorageProfileSnapshotController; /** AzureBlob CSI Driver settings for the storage profile. */ export interface ManagedClusterStorageProfileBlobCSIDriver { /** Whether to enable AzureBlob CSI Driver. The default value is false. */ enabled?: boolean; } export declare function managedClusterStorageProfileBlobCSIDriverSerializer(item: ManagedClusterStorageProfileBlobCSIDriver): any; export declare function managedClusterStorageProfileBlobCSIDriverDeserializer(item: any): ManagedClusterStorageProfileBlobCSIDriver; /** Ingress profile for the container service cluster. */ export interface ManagedClusterIngressProfile { /** App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. */ webAppRouting?: ManagedClusterIngressProfileWebAppRouting; } export declare function managedClusterIngressProfileSerializer(item: ManagedClusterIngressProfile): any; export declare function managedClusterIngressProfileDeserializer(item: any): ManagedClusterIngressProfile; /** Application Routing add-on settings for the ingress profile. */ export interface ManagedClusterIngressProfileWebAppRouting { /** Whether to enable the Application Routing add-on. */ enabled?: boolean; /** Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. */ dnsZoneResourceIds?: string[]; /** Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller. */ nginx?: ManagedClusterIngressProfileNginx; /** Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. */ readonly identity?: UserAssignedIdentity; } export declare function managedClusterIngressProfileWebAppRoutingSerializer(item: ManagedClusterIngressProfileWebAppRouting): any; export declare function managedClusterIngressProfileWebAppRoutingDeserializer(item: any): ManagedClusterIngressProfileWebAppRouting; /** Nginx ingress controller configuration for the managed cluster ingress profile. */ export interface ManagedClusterIngressProfileNginx { /** Ingress type for the default NginxIngressController custom resource */ defaultIngressControllerType?: NginxIngressControllerType; } export declare function managedClusterIngressProfileNginxSerializer(item: ManagedClusterIngressProfileNginx): any; export declare function managedClusterIngressProfileNginxDeserializer(item: any): ManagedClusterIngressProfileNginx; /** Ingress type for the default NginxIngressController custom resource */ export declare enum KnownNginxIngressControllerType { /** The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations. */ AnnotationControlled = "AnnotationControlled", /** The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten. */ External = "External", /** The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten. */ Internal = "Internal", /** The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired. */ None = "None" } /** * Ingress type for the default NginxIngressController custom resource \ * {@link KnownNginxIngressControllerType} can be used interchangeably with NginxIngressControllerType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **AnnotationControlled**: The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations. \ * **External**: The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten. \ * **Internal**: The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten. \ * **None**: The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired. */ export type NginxIngressControllerType = string; /** PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS */ export declare enum KnownPublicNetworkAccess { /** Inbound/Outbound to the managedCluster is allowed. */ Enabled = "Enabled", /** Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed. */ Disabled = "Disabled" } /** * PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS \ * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Enabled**: Inbound\/Outbound to the managedCluster is allowed. \ * **Disabled**: Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed. */ export type PublicNetworkAccess = string; /** Workload Auto-scaler profile for the managed cluster. */ export interface ManagedClusterWorkloadAutoScalerProfile { /** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ keda?: ManagedClusterWorkloadAutoScalerProfileKeda; /** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */ verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler; } export declare function managedClusterWorkloadAutoScalerProfileSerializer(item: ManagedClusterWorkloadAutoScalerProfile): any; export declare function managedClusterWorkloadAutoScalerProfileDeserializer(item: any): ManagedClusterWorkloadAutoScalerProfile; /** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ export interface ManagedClusterWorkloadAutoScalerProfileKeda { /** Whether to enable KEDA. */ enabled: boolean; } export declare function managedClusterWorkloadAutoScalerProfileKedaSerializer(item: ManagedClusterWorkloadAutoScalerProfileKeda): any; export declare function managedClusterWorkloadAutoScalerProfileKedaDeserializer(item: any): ManagedClusterWorkloadAutoScalerProfileKeda; /** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */ export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler { /** Whether to enable VPA. Default value is false. */ enabled: boolean; } export declare function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerSerializer(item: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler): any; export declare function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerDeserializer(item: any): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler; /** Azure Monitor addon profiles for monitoring the managed cluster. */ export interface ManagedClusterAzureMonitorProfile { /** Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ metrics?: ManagedClusterAzureMonitorProfileMetrics; } export declare function managedClusterAzureMonitorProfileSerializer(item: ManagedClusterAzureMonitorProfile): any; export declare function managedClusterAzureMonitorProfileDeserializer(item: any): ManagedClusterAzureMonitorProfile; /** Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ export interface ManagedClusterAzureMonitorProfileMetrics { /** Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. */ enabled: boolean; /** Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ kubeStateMetrics?: ManagedClusterAzureMonitorProfileKubeStateMetrics; } export declare function managedClusterAzureMonitorProfileMetricsSerializer(item: ManagedClusterAzureMonitorProfileMetrics): any; export declare function managedClusterAzureMonitorProfileMetricsDeserializer(item: any): ManagedClusterAzureMonitorProfileMetrics; /** Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ export interface ManagedClusterAzureMonitorProfileKubeStateMetrics { /** Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. */ metricLabelsAllowlist?: string; /** Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. */ metricAnnotationsAllowList?: string; } export declare function managedClusterAzureMonitorProfileKubeStateMetricsSerializer(item: ManagedClusterAzureMonitorProfileKubeStateMetrics): any; export declare function managedClusterAzureMonitorProfileKubeStateMetricsDeserializer(item: any): ManagedClusterAzureMonitorProfileKubeStateMetrics; /** Service mesh profile for a managed cluster. */ export interface ServiceMeshProfile { /** Mode of the service mesh. */ mode: ServiceMeshMode; /** Istio service mesh configuration. */ istio?: IstioServiceMesh; } export declare function serviceMeshProfileSerializer(item: ServiceMeshProfile): any; export declare function serviceMeshProfileDeserializer(item: any): ServiceMeshProfile; /** Mode of the service mesh. */ export declare enum KnownServiceMeshMode { /** Istio deployed as an AKS addon. */ Istio = "Istio", /** Mesh is disabled. */ Disabled = "Disabled" } /** * Mode of the service mesh. \ * {@link KnownServiceMeshMode} can be used interchangeably with ServiceMeshMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Istio**: Istio deployed as an AKS addon. \ * **Disabled**: Mesh is disabled. */ export type ServiceMeshMode = string; /** Istio service mesh configuration. */ export interface IstioServiceMesh { /** Istio components configuration. */ components?: IstioComponents; /** Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca */ certificateAuthority?: IstioCertificateAuthority; /** The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade */ revisions?: string[]; } export declare function istioServiceMeshSerializer(item: IstioServiceMesh): any; export declare function istioServiceMeshDeserializer(item: any): IstioServiceMesh; /** Istio components configuration. */ export interface IstioComponents { /** Istio ingress gateways. */ ingressGateways?: IstioIngressGateway[]; /** Istio egress gateways. */ egressGateways?: IstioEgressGateway[]; /** Mode of traffic redirection. */ proxyRedirectionMechanism?: ProxyRedirectionMechanism; } export declare function istioComponentsSerializer(item: IstioComponents): any; export declare function istioComponentsDeserializer(item: any): IstioComponents; export declare function istioIngressGatewayArraySerializer(result: Array): any[]; export declare function istioIngressGatewayArrayDeserializer(result: Array): any[]; /** Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. */ export interface IstioIngressGateway { /** Mode of an ingress gateway. */ mode: IstioIngressGatewayMode; /** Whether to enable the ingress gateway. */ enabled: boolean; } export declare function istioIngressGatewaySerializer(item: IstioIngressGateway): any; export declare function istioIngressGatewayDeserializer(item: any): IstioIngressGateway; /** Mode of an ingress gateway. */ export declare enum KnownIstioIngressGatewayMode { /** The ingress gateway is assigned a public IP address and is publicly accessible. */ External = "External", /** The ingress gateway is assigned an internal IP address and cannot is accessed publicly. */ Internal = "Internal" } /** * Mode of an ingress gateway. \ * {@link KnownIstioIngressGatewayMode} can be used interchangeably with IstioIngressGatewayMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **External**: The ingress gateway is assigned a public IP address and is publicly accessible. \ * **Internal**: The ingress gateway is assigned an internal IP address and cannot is accessed publicly. */ export type IstioIngressGatewayMode = string; export declare function istioEgressGatewayArraySerializer(result: Array): any[]; export declare function istioEgressGatewayArrayDeserializer(result: Array): any[]; /** Istio egress gateway configuration. */ export interface IstioEgressGateway { /** Whether to enable the egress gateway. */ enabled: boolean; /** Name of the Istio add-on egress gateway. */ name: string; /** Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress. */ namespace?: string; /** Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in. */ gatewayConfigurationName?: string; } export declare function istioEgressGatewaySerializer(item: IstioEgressGateway): any; export declare function istioEgressGatewayDeserializer(item: any): IstioEgressGateway; /** Mode of traffic redirection. */ export declare enum KnownProxyRedirectionMechanism { /** Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW). */ InitContainers = "InitContainers", /** Istio will install a chained CNI plugin to redirect traffic (recommended). */ CNIChaining = "CNIChaining" } /** * Mode of traffic redirection. \ * {@link KnownProxyRedirectionMechanism} can be used interchangeably with ProxyRedirectionMechanism, * this enum contains the known values that the service supports. * ### Known values supported by the service * **InitContainers**: Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW). \ * **CNIChaining**: Istio will install a chained CNI plugin to redirect traffic (recommended). */ export type ProxyRedirectionMechanism = string; /** Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca */ export interface IstioCertificateAuthority { /** Plugin certificates information for Service Mesh. */ plugin?: IstioPluginCertificateAuthority; } export declare function istioCertificateAuthoritySerializer(item: IstioCertificateAuthority): any; export declare function istioCertificateAuthorityDeserializer(item: any): IstioCertificateAuthority; /** Plugin certificates information for Service Mesh. */ export interface IstioPluginCertificateAuthority { /** The resource ID of the Key Vault. */ keyVaultId?: string; /** Intermediate certificate object name in Azure Key Vault. */ certObjectName?: string; /** Intermediate certificate private key object name in Azure Key Vault. */ keyObjectName?: string; /** Root certificate object name in Azure Key Vault. */ rootCertObjectName?: string; /** Certificate chain object name in Azure Key Vault. */ certChainObjectName?: string; } export declare function istioPluginCertificateAuthoritySerializer(item: IstioPluginCertificateAuthority): any; export declare function istioPluginCertificateAuthorityDeserializer(item: any): IstioPluginCertificateAuthority; /** The metrics profile for the ManagedCluster. */ export interface ManagedClusterMetricsProfile { /** The configuration for detailed per-Kubernetes resource cost analysis. */ costAnalysis?: ManagedClusterCostAnalysis; } export declare function managedClusterMetricsProfileSerializer(item: ManagedClusterMetricsProfile): any; export declare function managedClusterMetricsProfileDeserializer(item: any): ManagedClusterMetricsProfile; /** The cost analysis configuration for the cluster */ export interface ManagedClusterCostAnalysis { /** Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis. */ enabled?: boolean; } export declare function managedClusterCostAnalysisSerializer(item: ManagedClusterCostAnalysis): any; export declare function managedClusterCostAnalysisDeserializer(item: any): ManagedClusterCostAnalysis; /** Node provisioning profile for the managed cluster. */ export interface ManagedClusterNodeProvisioningProfile { /** The node provisioning mode. If not specified, the default is Manual. */ mode?: NodeProvisioningMode; /** The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. */ defaultNodePools?: NodeProvisioningDefaultNodePools; } export declare function managedClusterNodeProvisioningProfileSerializer(item: ManagedClusterNodeProvisioningProfile): any; export declare function managedClusterNodeProvisioningProfileDeserializer(item: any): ManagedClusterNodeProvisioningProfile; /** The node provisioning mode. If not specified, the default is Manual. */ export declare enum KnownNodeProvisioningMode { /** Nodes are provisioned manually by the user */ Manual = "Manual", /** Nodes are provisioned automatically by AKS using Karpenter (See aka.ms/aks/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details). */ Auto = "Auto" } /** * The node provisioning mode. If not specified, the default is Manual. \ * {@link KnownNodeProvisioningMode} can be used interchangeably with NodeProvisioningMode, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Manual**: Nodes are provisioned manually by the user \ * **Auto**: Nodes are provisioned automatically by AKS using Karpenter (See aka.ms\/aks\/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms\/aks\/nap for more details). */ export type NodeProvisioningMode = string; /** The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. */ export declare enum KnownNodeProvisioningDefaultNodePools { /** No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances. */ None = "None", /** A standard set of Karpenter NodePools are provisioned */ Auto = "Auto" } /** * The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. \ * {@link KnownNodeProvisioningDefaultNodePools} can be used interchangeably with NodeProvisioningDefaultNodePools, * this enum contains the known values that the service supports. * ### Known values supported by the service * **None**: No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances. \ * **Auto**: A standard set of Karpenter NodePools are provisioned */ export type NodeProvisioningDefaultNodePools = string; /** The bootstrap profile. */ export interface ManagedClusterBootstrapProfile { /** The artifact source. The source where the artifacts are downloaded from. */ artifactSource?: ArtifactSource; /** The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy. */ containerRegistryId?: string; } export declare function managedClusterBootstrapProfileSerializer(item: ManagedClusterBootstrapProfile): any; export declare function managedClusterBootstrapProfileDeserializer(item: any): ManagedClusterBootstrapProfile; /** The artifact source. The source where the artifacts are downloaded from. */ export declare enum KnownArtifactSource { /** pull images from Azure Container Registry with cache */ Cache = "Cache", /** pull images from Microsoft Artifact Registry */ Direct = "Direct" } /** * The artifact source. The source where the artifacts are downloaded from. \ * {@link KnownArtifactSource} can be used interchangeably with ArtifactSource, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Cache**: pull images from Azure Container Registry with cache \ * **Direct**: pull images from Microsoft Artifact Registry */ export type ArtifactSource = string; /** When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them. */ export interface ManagedClusterAIToolchainOperatorProfile { /** Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not. */ enabled?: boolean; } export declare function managedClusterAIToolchainOperatorProfileSerializer(item: ManagedClusterAIToolchainOperatorProfile): any; export declare function managedClusterAIToolchainOperatorProfileDeserializer(item: any): ManagedClusterAIToolchainOperatorProfile; /** Contains read-only information about the Managed Cluster. */ export interface ManagedClusterStatus { /** The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted. */ readonly provisioningError?: ErrorDetail; } export declare function managedClusterStatusSerializer(item: ManagedClusterStatus): any; export declare function managedClusterStatusDeserializer(item: any): ManagedClusterStatus; /** The SKU of a Managed Cluster. */ export interface ManagedClusterSKU { /** The name of a managed cluster SKU. */ name?: ManagedClusterSKUName; /** The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ tier?: ManagedClusterSKUTier; } export declare function managedClusterSKUSerializer(item: ManagedClusterSKU): any; export declare function managedClusterSKUDeserializer(item: any): ManagedClusterSKU; /** The name of a managed cluster SKU. */ export declare enum KnownManagedClusterSKUName { /** Base option for the AKS control plane. */ Base = "Base", /** Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic. */ Automatic = "Automatic" } /** * The name of a managed cluster SKU. \ * {@link KnownManagedClusterSKUName} can be used interchangeably with ManagedClusterSKUName, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Base**: Base option for the AKS control plane. \ * **Automatic**: Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms\/aks\/automatic. */ export type ManagedClusterSKUName = string; /** The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ export declare enum KnownManagedClusterSKUTier { /** Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions. */ Premium = "Premium", /** Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. */ Standard = "Standard", /** The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. */ Free = "Free" } /** * The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. \ * {@link KnownManagedClusterSKUTier} can be used interchangeably with ManagedClusterSKUTier, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Premium**: Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms\/aks\/lts) for certain Kubernetes versions. \ * **Standard**: Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. \ * **Free**: The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. */ export type ManagedClusterSKUTier = string; /** The complex type of the extended location. */ export interface ExtendedLocation { /** The name of the extended location. */ name?: string; /** The type of the extended location. */ type?: ExtendedLocationTypes; } export declare function extendedLocationSerializer(item: ExtendedLocation): any; export declare function extendedLocationDeserializer(item: any): ExtendedLocation; /** The type of extendedLocation. */ export declare enum KnownExtendedLocationTypes { /** Azure Edge Zone extended location type. */ EdgeZone = "EdgeZone" } /** * The type of extendedLocation. \ * {@link KnownExtendedLocationTypes} can be used interchangeably with ExtendedLocationTypes, * this enum contains the known values that the service supports. * ### Known values supported by the service * **EdgeZone**: Azure Edge Zone extended location type. */ export type ExtendedLocationTypes = string; /** Identity for the managed cluster. */ export interface ManagedClusterIdentity { /** The principal id of the system assigned identity which is used by master components. */ readonly principalId?: string; /** The tenant id of the system assigned identity which is used by master components. */ readonly tenantId?: string; /** The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ type?: ResourceIdentityType; /** The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. */ delegatedResources?: Record; /** The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ userAssignedIdentities?: Record; } export declare function managedClusterIdentitySerializer(item: ManagedClusterIdentity): any; export declare function managedClusterIdentityDeserializer(item: any): ManagedClusterIdentity; /** The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ export declare enum KnownResourceIdentityType { /** Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. */ SystemAssigned = "SystemAssigned", /** Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. */ UserAssigned = "UserAssigned", /** Do not use a managed identity for the Managed Cluster, service principal will be used instead. */ None = "None" } /** * The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). \ * {@link KnownResourceIdentityType} can be used interchangeably with ResourceIdentityType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **SystemAssigned**: Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. \ * **UserAssigned**: Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. \ * **None**: Do not use a managed identity for the Managed Cluster, service principal will be used instead. */ export type ResourceIdentityType = string; export declare function delegatedResourceRecordSerializer(item: Record): Record; export declare function delegatedResourceRecordDeserializer(item: Record): Record; /** Delegated resource properties - internal use only. */ export interface DelegatedResource { /** The ARM resource id of the delegated resource - internal use only. */ resourceId?: string; /** The tenant id of the delegated resource - internal use only. */ tenantId?: string; /** The delegation id of the referral delegation (optional) - internal use only. */ referralResource?: string; /** The source resource location - internal use only. */ location?: string; } export declare function delegatedResourceSerializer(item: DelegatedResource): any; export declare function delegatedResourceDeserializer(item: any): DelegatedResource; export declare function managedServiceIdentityUserAssignedIdentitiesValueRecordSerializer(item: Record): Record; export declare function managedServiceIdentityUserAssignedIdentitiesValueRecordDeserializer(item: Record): Record; /** User assigned identity properties. */ export interface ManagedServiceIdentityUserAssignedIdentitiesValue { /** The principal id of user assigned identity. */ readonly principalId?: string; /** The client id of user assigned identity. */ readonly clientId?: string; } export declare function managedServiceIdentityUserAssignedIdentitiesValueSerializer(item: ManagedServiceIdentityUserAssignedIdentitiesValue): any; export declare function managedServiceIdentityUserAssignedIdentitiesValueDeserializer(item: any): ManagedServiceIdentityUserAssignedIdentitiesValue; /** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */ export interface TrackedResource extends Resource { /** Resource tags. */ tags?: Record; /** The geo-location where the resource lives */ location: string; } export declare function trackedResourceSerializer(item: TrackedResource): any; export declare function trackedResourceDeserializer(item: any): TrackedResource; /** Tags object for patch operations. */ export interface TagsObject { /** Resource tags. */ tags?: Record; } export declare function tagsObjectSerializer(item: TagsObject): any; /** The response of a ManagedCluster list operation. */ export interface _ManagedClusterListResult { /** The ManagedCluster items on this page */ value: ManagedCluster[]; /** The link to the next page of items */ nextLink?: string; } export declare function _managedClusterListResultDeserializer(item: any): _ManagedClusterListResult; export declare function managedClusterArraySerializer(result: Array): any[]; export declare function managedClusterArrayDeserializer(result: Array): any[]; /** Managed cluster Access Profile. */ export interface ManagedClusterAccessProfile extends TrackedResource { /** Base64-encoded Kubernetes configuration file. */ kubeConfig?: Uint8Array; } export declare function managedClusterAccessProfileDeserializer(item: any): ManagedClusterAccessProfile; /** Profile for enabling a user to access a managed cluster. */ export interface AccessProfile { /** Base64-encoded Kubernetes configuration file. */ kubeConfig?: Uint8Array; } export declare function accessProfileDeserializer(item: any): AccessProfile; /** The list credential result response. */ export interface CredentialResults { /** Base64-encoded Kubernetes configuration file. */ readonly kubeconfigs?: CredentialResult[]; } export declare function credentialResultsDeserializer(item: any): CredentialResults; export declare function credentialResultArrayDeserializer(result: Array): any[]; /** The credential result response. */ export interface CredentialResult { /** The name of the credential. */ readonly name?: string; /** Base64-encoded Kubernetes configuration file. */ readonly value?: Uint8Array; } export declare function credentialResultDeserializer(item: any): CredentialResult; /** A run command request */ export interface RunCommandRequest { /** The command to run. */ command: string; /** A base64 encoded zip file containing the files required by the command. */ context?: string; /** AuthToken issued for AKS AAD Server App. */ clusterToken?: string; } export declare function runCommandRequestSerializer(item: RunCommandRequest): any; /** run command result. */ export interface RunCommandResult { /** The command id. */ readonly id?: string; /** provisioning State */ readonly provisioningState?: string; /** The exit code of the command */ readonly exitCode?: number; /** The time when the command started. */ readonly startedAt?: Date; /** The time when the command finished. */ readonly finishedAt?: Date; /** The command output. */ readonly logs?: string; /** An explanation of why provisioningState is set to failed (if so). */ readonly reason?: string; } export declare function runCommandResultDeserializer(item: any): RunCommandResult; /** The results of a run command */ export interface CommandResultProperties { /** provisioning State */ readonly provisioningState?: string; /** The exit code of the command */ readonly exitCode?: number; /** The time when the command started. */ readonly startedAt?: Date; /** The time when the command finished. */ readonly finishedAt?: Date; /** The command output. */ readonly logs?: string; /** An explanation of why provisioningState is set to failed (if so). */ readonly reason?: string; } export declare function commandResultPropertiesDeserializer(item: any): CommandResultProperties; /** Collection of OutboundEnvironmentEndpoint */ export interface _OutboundEnvironmentEndpointCollection { /** The OutboundEnvironmentEndpoint items on this page */ value: OutboundEnvironmentEndpoint[]; /** The link to the next page of items */ nextLink?: string; } export declare function _outboundEnvironmentEndpointCollectionDeserializer(item: any): _OutboundEnvironmentEndpointCollection; export declare function outboundEnvironmentEndpointArrayDeserializer(result: Array): any[]; /** Egress endpoints which AKS agent nodes connect to for common purpose. */ export interface OutboundEnvironmentEndpoint { /** The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc. */ category?: string; /** The endpoints that AKS agent nodes connect to */ endpoints?: EndpointDependency[]; } export declare function outboundEnvironmentEndpointDeserializer(item: any): OutboundEnvironmentEndpoint; export declare function endpointDependencyArrayDeserializer(result: Array): any[]; /** A domain name that AKS agent nodes are reaching at. */ export interface EndpointDependency { /** The domain name of the dependency. */ domainName?: string; /** The Ports and Protocols used when connecting to domainName. */ endpointDetails?: EndpointDetail[]; } export declare function endpointDependencyDeserializer(item: any): EndpointDependency; export declare function endpointDetailArrayDeserializer(result: Array): any[]; /** connect information from the AKS agent nodes to a single endpoint. */ export interface EndpointDetail { /** An IP Address that Domain Name currently resolves to. */ ipAddress?: string; /** The port an endpoint is connected to. */ port?: number; /** The protocol used for connection */ protocol?: string; /** Description of the detail */ description?: string; } export declare function endpointDetailDeserializer(item: any): EndpointDetail; /** The list of available upgrades for compute pools. */ export interface ManagedClusterUpgradeProfile extends ProxyResource { /** The list of available upgrade versions for the control plane. */ controlPlaneProfile: ManagedClusterPoolUpgradeProfile; /** The list of available upgrade versions for agent pools. */ agentPoolProfiles: ManagedClusterPoolUpgradeProfile[]; } export declare function managedClusterUpgradeProfileDeserializer(item: any): ManagedClusterUpgradeProfile; /** Control plane and agent pool upgrade profiles. */ export interface ManagedClusterUpgradeProfileProperties { /** The list of available upgrade versions for the control plane. */ controlPlaneProfile: ManagedClusterPoolUpgradeProfile; /** The list of available upgrade versions for agent pools. */ agentPoolProfiles: ManagedClusterPoolUpgradeProfile[]; } export declare function managedClusterUpgradeProfilePropertiesDeserializer(item: any): ManagedClusterUpgradeProfileProperties; /** The list of available upgrade versions. */ export interface ManagedClusterPoolUpgradeProfile { /** The Kubernetes version (major.minor.patch). */ kubernetesVersion: string; /** The Agent Pool name. */ name?: string; /** The operating system type. The default is Linux. */ osType: OSType; /** List of orchestrator types and versions available for upgrade. */ upgrades?: ManagedClusterPoolUpgradeProfileUpgradesItem[]; } export declare function managedClusterPoolUpgradeProfileDeserializer(item: any): ManagedClusterPoolUpgradeProfile; export declare function managedClusterPoolUpgradeProfileUpgradesItemArrayDeserializer(result: Array): any[]; /** Available upgrades for an AgentPool. */ export interface ManagedClusterPoolUpgradeProfileUpgradesItem { /** The Kubernetes version (major.minor.patch). */ kubernetesVersion?: string; /** Whether the Kubernetes version is currently in preview. */ isPreview?: boolean; } export declare function managedClusterPoolUpgradeProfileUpgradesItemDeserializer(item: any): ManagedClusterPoolUpgradeProfileUpgradesItem; export declare function managedClusterPoolUpgradeProfileArrayDeserializer(result: Array): any[]; /** Mesh revision profile for a mesh. */ export interface MeshRevisionProfile extends ProxyResource { /** Mesh revision profile properties for a mesh */ properties?: MeshRevisionProfileProperties; } export declare function meshRevisionProfileDeserializer(item: any): MeshRevisionProfile; /** Mesh revision profile properties for a mesh */ export interface MeshRevisionProfileProperties { /** Available mesh revisions. */ meshRevisions?: MeshRevision[]; } export declare function meshRevisionProfilePropertiesDeserializer(item: any): MeshRevisionProfileProperties; export declare function meshRevisionArrayDeserializer(result: Array): any[]; /** Holds information on upgrades and compatibility for given major.minor mesh release. */ export interface MeshRevision { /** The revision of the mesh release. */ revision?: string; /** List of revisions available for upgrade of a specific mesh revision */ upgrades?: string[]; /** List of items this revision of service mesh is compatible with, and their associated versions. */ compatibleWith?: CompatibleVersions[]; } export declare function meshRevisionDeserializer(item: any): MeshRevision; export declare function compatibleVersionsArrayDeserializer(result: Array): any[]; /** Version information about a product/service that is compatible with a service mesh revision. */ export interface CompatibleVersions { /** The product/service name. */ name?: string; /** Product/service versions compatible with a service mesh add-on revision. */ versions?: string[]; } export declare function compatibleVersionsDeserializer(item: any): CompatibleVersions; /** Holds an array of MeshRevisionsProfiles */ export interface _MeshRevisionProfileList { /** The MeshRevisionProfile items on this page */ value: MeshRevisionProfile[]; /** The link to the next page of items */ nextLink?: string; } export declare function _meshRevisionProfileListDeserializer(item: any): _MeshRevisionProfileList; export declare function meshRevisionProfileArrayDeserializer(result: Array): any[]; /** Upgrade profile for given mesh. */ export interface MeshUpgradeProfile extends ProxyResource { /** Mesh upgrade profile properties for a major.minor release. */ properties?: MeshUpgradeProfileProperties; } export declare function meshUpgradeProfileDeserializer(item: any): MeshUpgradeProfile; /** Mesh upgrade profile properties for a major.minor release. */ export interface MeshUpgradeProfileProperties extends MeshRevision { } export declare function meshUpgradeProfilePropertiesDeserializer(item: any): MeshUpgradeProfileProperties; /** Holds an array of MeshUpgradeProfiles */ export interface _MeshUpgradeProfileList { /** The MeshUpgradeProfile items on this page */ value: MeshUpgradeProfile[]; /** The link to the next page of items */ nextLink?: string; } export declare function _meshUpgradeProfileListDeserializer(item: any): _MeshUpgradeProfileList; export declare function meshUpgradeProfileArrayDeserializer(result: Array): any[]; /** Hold values properties, which is array of KubernetesVersion */ export interface KubernetesVersionListResult { /** Array of AKS supported Kubernetes versions. */ values?: KubernetesVersion[]; } export declare function kubernetesVersionListResultDeserializer(item: any): KubernetesVersionListResult; export declare function kubernetesVersionArrayDeserializer(result: Array): any[]; /** Kubernetes version profile for given major.minor release. */ export interface KubernetesVersion { /** major.minor version of Kubernetes release */ version?: string; /** Capabilities on this Kubernetes version. */ capabilities?: KubernetesVersionCapabilities; /** Whether this version is default. */ isDefault?: boolean; /** Whether this version is in preview mode. */ isPreview?: boolean; /** Patch versions of Kubernetes release */ patchVersions?: Record; } export declare function kubernetesVersionDeserializer(item: any): KubernetesVersion; /** Capabilities on this Kubernetes version. */ export interface KubernetesVersionCapabilities { /** Kubernetes support plans available for this version. */ supportPlan?: KubernetesSupportPlan[]; } export declare function kubernetesVersionCapabilitiesDeserializer(item: any): KubernetesVersionCapabilities; export declare function kubernetesPatchVersionRecordDeserializer(item: Record): Record; /** Kubernetes patch version profile */ export interface KubernetesPatchVersion { /** Possible upgrade path for given patch version */ upgrades?: string[]; } export declare function kubernetesPatchVersionDeserializer(item: any): KubernetesPatchVersion; /** Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. */ export interface MaintenanceConfiguration extends ProxyResource { /** Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. */ timeInWeek?: TimeInWeek[]; /** Time slots on which upgrade is not allowed. */ notAllowedTime?: TimeSpan[]; /** Maintenance window for the maintenance configuration. */ maintenanceWindow?: MaintenanceWindow; } export declare function maintenanceConfigurationSerializer(item: MaintenanceConfiguration): any; export declare function maintenanceConfigurationDeserializer(item: any): MaintenanceConfiguration; /** Properties used to configure planned maintenance for a Managed Cluster. */ export interface MaintenanceConfigurationProperties { /** Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. */ timeInWeek?: TimeInWeek[]; /** Time slots on which upgrade is not allowed. */ notAllowedTime?: TimeSpan[]; /** Maintenance window for the maintenance configuration. */ maintenanceWindow?: MaintenanceWindow; } export declare function maintenanceConfigurationPropertiesSerializer(item: MaintenanceConfigurationProperties): any; export declare function maintenanceConfigurationPropertiesDeserializer(item: any): MaintenanceConfigurationProperties; export declare function timeInWeekArraySerializer(result: Array): any[]; export declare function timeInWeekArrayDeserializer(result: Array): any[]; /** Time in a week. */ export interface TimeInWeek { /** The day of the week. */ day?: WeekDay; /** A list of hours in the day used to identify a time range. Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. */ hourSlots?: number[]; } export declare function timeInWeekSerializer(item: TimeInWeek): any; export declare function timeInWeekDeserializer(item: any): TimeInWeek; /** The weekday enum. */ export declare enum KnownWeekDay { /** Represents Sunday. */ Sunday = "Sunday", /** Represents Monday. */ Monday = "Monday", /** Represents Tuesday. */ Tuesday = "Tuesday", /** Represents Wednesday. */ Wednesday = "Wednesday", /** Represents Thursday. */ Thursday = "Thursday", /** Represents Friday. */ Friday = "Friday", /** Represents Saturday. */ Saturday = "Saturday" } /** * The weekday enum. \ * {@link KnownWeekDay} can be used interchangeably with WeekDay, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Sunday**: Represents Sunday. \ * **Monday**: Represents Monday. \ * **Tuesday**: Represents Tuesday. \ * **Wednesday**: Represents Wednesday. \ * **Thursday**: Represents Thursday. \ * **Friday**: Represents Friday. \ * **Saturday**: Represents Saturday. */ export type WeekDay = string; export declare function timeSpanArraySerializer(result: Array): any[]; export declare function timeSpanArrayDeserializer(result: Array): any[]; /** A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. */ export interface TimeSpan { /** The start of a time span */ start?: Date; /** The end of a time span */ end?: Date; } export declare function timeSpanSerializer(item: TimeSpan): any; export declare function timeSpanDeserializer(item: any): TimeSpan; /** Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. */ export interface MaintenanceWindow { /** Recurrence schedule for the maintenance window. */ schedule: Schedule; /** Length of maintenance window range from 4 to 24 hours. */ durationHours: number; /** The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. */ utcOffset?: string; /** The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. */ startDate?: Date; /** The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. */ startTime: string; /** Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. */ notAllowedDates?: DateSpan[]; } export declare function maintenanceWindowSerializer(item: MaintenanceWindow): any; export declare function maintenanceWindowDeserializer(item: any): MaintenanceWindow; /** One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. */ export interface Schedule { /** For schedules like: 'recur every day' or 'recur every 3 days'. */ daily?: DailySchedule; /** For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */ weekly?: WeeklySchedule; /** For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ absoluteMonthly?: AbsoluteMonthlySchedule; /** For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */ relativeMonthly?: RelativeMonthlySchedule; } export declare function scheduleSerializer(item: Schedule): any; export declare function scheduleDeserializer(item: any): Schedule; /** For schedules like: 'recur every day' or 'recur every 3 days'. */ export interface DailySchedule { /** Specifies the number of days between each set of occurrences. */ intervalDays: number; } export declare function dailyScheduleSerializer(item: DailySchedule): any; export declare function dailyScheduleDeserializer(item: any): DailySchedule; /** For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */ export interface WeeklySchedule { /** Specifies the number of weeks between each set of occurrences. */ intervalWeeks: number; /** Specifies on which day of the week the maintenance occurs. */ dayOfWeek: WeekDay; } export declare function weeklyScheduleSerializer(item: WeeklySchedule): any; export declare function weeklyScheduleDeserializer(item: any): WeeklySchedule; /** For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ export interface AbsoluteMonthlySchedule { /** Specifies the number of months between each set of occurrences. */ intervalMonths: number; /** The date of the month. */ dayOfMonth: number; } export declare function absoluteMonthlyScheduleSerializer(item: AbsoluteMonthlySchedule): any; export declare function absoluteMonthlyScheduleDeserializer(item: any): AbsoluteMonthlySchedule; /** For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */ export interface RelativeMonthlySchedule { /** Specifies the number of months between each set of occurrences. */ intervalMonths: number; /** The week index. Specifies on which week of the month the dayOfWeek applies. */ weekIndex: Type; /** Specifies on which day of the week the maintenance occurs. */ dayOfWeek: WeekDay; } export declare function relativeMonthlyScheduleSerializer(item: RelativeMonthlySchedule): any; export declare function relativeMonthlyScheduleDeserializer(item: any): RelativeMonthlySchedule; /** The week index. Specifies on which week of the month the dayOfWeek applies. */ export declare enum KnownType { /** First week of the month. */ First = "First", /** Second week of the month. */ Second = "Second", /** Third week of the month. */ Third = "Third", /** Fourth week of the month. */ Fourth = "Fourth", /** Last week of the month. */ Last = "Last" } /** * The week index. Specifies on which week of the month the dayOfWeek applies. \ * {@link KnownType} can be used interchangeably with Type, * this enum contains the known values that the service supports. * ### Known values supported by the service * **First**: First week of the month. \ * **Second**: Second week of the month. \ * **Third**: Third week of the month. \ * **Fourth**: Fourth week of the month. \ * **Last**: Last week of the month. */ export type Type = string; export declare function dateSpanArraySerializer(result: Array): any[]; export declare function dateSpanArrayDeserializer(result: Array): any[]; /** A date range. For example, between '2022-12-23' and '2023-01-05'. */ export interface DateSpan { /** The start date of the date span. */ start: Date; /** The end date of the date span. */ end: Date; } export declare function dateSpanSerializer(item: DateSpan): any; export declare function dateSpanDeserializer(item: any): DateSpan; /** The response of a MaintenanceConfiguration list operation. */ export interface _MaintenanceConfigurationListResult { /** The MaintenanceConfiguration items on this page */ value: MaintenanceConfiguration[]; /** The link to the next page of items */ nextLink?: string; } export declare function _maintenanceConfigurationListResultDeserializer(item: any): _MaintenanceConfigurationListResult; export declare function maintenanceConfigurationArraySerializer(result: Array): any[]; export declare function maintenanceConfigurationArrayDeserializer(result: Array): any[]; /** Namespace managed by ARM. */ export interface ManagedNamespace extends TrackedResource { /** Properties of a namespace. */ properties?: NamespaceProperties; /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */ readonly eTag?: string; } export declare function managedNamespaceSerializer(item: ManagedNamespace): any; export declare function managedNamespaceDeserializer(item: any): ManagedNamespace; /** Properties of a namespace managed by ARM */ export interface NamespaceProperties { /** The current provisioning state of the namespace. */ readonly provisioningState?: NamespaceProvisioningState; /** The labels of managed namespace. */ labels?: Record; /** The annotations of managed namespace. */ annotations?: Record; /** The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. */ readonly portalFqdn?: string; /** The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied. */ defaultResourceQuota?: ResourceQuota; /** The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow. */ defaultNetworkPolicy?: NetworkPolicies; /** Action if Kubernetes namespace with same name already exists. */ adoptionPolicy?: AdoptionPolicy; /** Delete options of a namespace. */ deletePolicy?: DeletePolicy; } export declare function namespacePropertiesSerializer(item: NamespaceProperties): any; export declare function namespacePropertiesDeserializer(item: any): NamespaceProperties; /** The current provisioning state of the namespace. */ export declare enum KnownNamespaceProvisioningState { /** The namespace is being updated. */ Updating = "Updating", /** The namespace is being deleted. */ Deleting = "Deleting", /** The namespace is being created. */ Creating = "Creating", /** The namespace provisioning succeeded. */ Succeeded = "Succeeded", /** The namespace provisioning failed. */ Failed = "Failed", /** The namespace provisioning was canceled. */ Canceled = "Canceled" } /** * The current provisioning state of the namespace. \ * {@link KnownNamespaceProvisioningState} can be used interchangeably with NamespaceProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Updating**: The namespace is being updated. \ * **Deleting**: The namespace is being deleted. \ * **Creating**: The namespace is being created. \ * **Succeeded**: The namespace provisioning succeeded. \ * **Failed**: The namespace provisioning failed. \ * **Canceled**: The namespace provisioning was canceled. */ export type NamespaceProvisioningState = string; /** Resource quota for the namespace. */ export interface ResourceQuota { /** CPU request of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details. */ cpuRequest?: string; /** CPU limit of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details. */ cpuLimit?: string; /** Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details. */ memoryRequest?: string; /** Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details. */ memoryLimit?: string; } export declare function resourceQuotaSerializer(item: ResourceQuota): any; export declare function resourceQuotaDeserializer(item: any): ResourceQuota; /** Default network policy of the namespace, specifying ingress and egress rules. */ export interface NetworkPolicies { /** Enum representing different network policy rules. */ ingress?: PolicyRule; /** Enum representing different network policy rules. */ egress?: PolicyRule; } export declare function networkPoliciesSerializer(item: NetworkPolicies): any; export declare function networkPoliciesDeserializer(item: any): NetworkPolicies; /** Enum representing different network policy rules. */ export declare enum KnownPolicyRule { /** Deny all network traffic. */ DenyAll = "DenyAll", /** Allow all network traffic. */ AllowAll = "AllowAll", /** Allow traffic within the same namespace. */ AllowSameNamespace = "AllowSameNamespace" } /** * Enum representing different network policy rules. \ * {@link KnownPolicyRule} can be used interchangeably with PolicyRule, * this enum contains the known values that the service supports. * ### Known values supported by the service * **DenyAll**: Deny all network traffic. \ * **AllowAll**: Allow all network traffic. \ * **AllowSameNamespace**: Allow traffic within the same namespace. */ export type PolicyRule = string; /** Action if Kubernetes namespace with same name already exists. */ export declare enum KnownAdoptionPolicy { /** If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail. */ Never = "Never", /** Take over the existing namespace to be managed by ARM, if there is no difference. */ IfIdentical = "IfIdentical", /** Always take over the existing namespace to be managed by ARM, some fields might be overwritten. */ Always = "Always" } /** * Action if Kubernetes namespace with same name already exists. \ * {@link KnownAdoptionPolicy} can be used interchangeably with AdoptionPolicy, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Never**: If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail. \ * **IfIdentical**: Take over the existing namespace to be managed by ARM, if there is no difference. \ * **Always**: Always take over the existing namespace to be managed by ARM, some fields might be overwritten. */ export type AdoptionPolicy = string; /** Delete options of a namespace. */ export declare enum KnownDeletePolicy { /** Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label. */ Keep = "Keep", /** Delete both the ARM resource and the Kubernetes namespace together. */ Delete = "Delete" } /** * Delete options of a namespace. \ * {@link KnownDeletePolicy} can be used interchangeably with DeletePolicy, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Keep**: Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label. \ * **Delete**: Delete both the ARM resource and the Kubernetes namespace together. */ export type DeletePolicy = string; /** The response of a ManagedNamespace list operation. */ export interface _ManagedNamespaceListResult { /** The ManagedNamespace items on this page */ value: ManagedNamespace[]; /** The link to the next page of items */ nextLink?: string; } export declare function _managedNamespaceListResultDeserializer(item: any): _ManagedNamespaceListResult; export declare function managedNamespaceArraySerializer(result: Array): any[]; export declare function managedNamespaceArrayDeserializer(result: Array): any[]; /** A machine. Contains details about the underlying virtual machine. A machine may be visible here but not in kubectl get nodes; if so it may be because the machine has not been registered with the Kubernetes API Server yet. */ export interface Machine extends ProxyResource { /** The properties of the machine */ properties?: MachineProperties; /** The Availability zone in which machine is located. */ readonly zones?: string[]; } export declare function machineDeserializer(item: any): Machine; /** The properties of the machine */ export interface MachineProperties { /** network properties of the machine */ readonly network?: MachineNetworkProperties; /** Azure resource id of the machine. It can be used to GET underlying VM Instance */ readonly resourceId?: string; } export declare function machinePropertiesDeserializer(item: any): MachineProperties; /** network properties of the machine */ export interface MachineNetworkProperties { /** IPv4, IPv6 addresses of the machine */ readonly ipAddresses?: MachineIpAddress[]; } export declare function machineNetworkPropertiesDeserializer(item: any): MachineNetworkProperties; export declare function machineIpAddressArrayDeserializer(result: Array): any[]; /** The machine IP address details. */ export interface MachineIpAddress { /** To determine if address belongs IPv4 or IPv6 family */ readonly family?: IpFamily; /** IPv4 or IPv6 address of the machine */ readonly ip?: string; } export declare function machineIpAddressDeserializer(item: any): MachineIpAddress; /** The response of a Machine list operation. */ export interface _MachineListResult { /** The Machine items on this page */ value: Machine[]; /** The link to the next page of items */ nextLink?: string; } export declare function _machineListResultDeserializer(item: any): _MachineListResult; export declare function machineArrayDeserializer(result: Array): any[]; /** A private endpoint connection */ export interface PrivateEndpointConnection extends ProxyResource { /** The current provisioning state. */ readonly provisioningState?: PrivateEndpointConnectionProvisioningState; /** The resource of private endpoint. */ privateEndpoint?: PrivateEndpoint; /** A collection of information about the state of the connection between service consumer and provider. */ privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; } export declare function privateEndpointConnectionSerializer(item: PrivateEndpointConnection): any; export declare function privateEndpointConnectionDeserializer(item: any): PrivateEndpointConnection; /** Properties of a private endpoint connection. */ export interface PrivateEndpointConnectionProperties { /** The current provisioning state. */ readonly provisioningState?: PrivateEndpointConnectionProvisioningState; /** The resource of private endpoint. */ privateEndpoint?: PrivateEndpoint; /** A collection of information about the state of the connection between service consumer and provider. */ privateLinkServiceConnectionState: PrivateLinkServiceConnectionState; } export declare function privateEndpointConnectionPropertiesSerializer(item: PrivateEndpointConnectionProperties): any; export declare function privateEndpointConnectionPropertiesDeserializer(item: any): PrivateEndpointConnectionProperties; /** The current provisioning state. */ export declare enum KnownPrivateEndpointConnectionProvisioningState { /** Private endpoint connection provisioning was canceled. */ Canceled = "Canceled", /** Private endpoint connection is being created. */ Creating = "Creating", /** Private endpoint connection is being deleted. */ Deleting = "Deleting", /** Private endpoint connection provisioning failed. */ Failed = "Failed", /** Private endpoint connection provisioning succeeded. */ Succeeded = "Succeeded" } /** * The current provisioning state. \ * {@link KnownPrivateEndpointConnectionProvisioningState} can be used interchangeably with PrivateEndpointConnectionProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Canceled**: Private endpoint connection provisioning was canceled. \ * **Creating**: Private endpoint connection is being created. \ * **Deleting**: Private endpoint connection is being deleted. \ * **Failed**: Private endpoint connection provisioning failed. \ * **Succeeded**: Private endpoint connection provisioning succeeded. */ export type PrivateEndpointConnectionProvisioningState = string; /** Private endpoint which a connection belongs to. */ export interface PrivateEndpoint { /** The resource ID of the private endpoint */ id?: string; } export declare function privateEndpointSerializer(item: PrivateEndpoint): any; export declare function privateEndpointDeserializer(item: any): PrivateEndpoint; /** The state of a private link service connection. */ export interface PrivateLinkServiceConnectionState { /** The private link service connection status. */ status?: ConnectionStatus; /** The private link service connection description. */ description?: string; } export declare function privateLinkServiceConnectionStateSerializer(item: PrivateLinkServiceConnectionState): any; export declare function privateLinkServiceConnectionStateDeserializer(item: any): PrivateLinkServiceConnectionState; /** The private link service connection status. */ export declare enum KnownConnectionStatus { /** Connection is pending approval. */ Pending = "Pending", /** Connection is approved. */ Approved = "Approved", /** Connection is rejected. */ Rejected = "Rejected", /** Connection is disconnected. */ Disconnected = "Disconnected" } /** * The private link service connection status. \ * {@link KnownConnectionStatus} can be used interchangeably with ConnectionStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Pending**: Connection is pending approval. \ * **Approved**: Connection is approved. \ * **Rejected**: Connection is rejected. \ * **Disconnected**: Connection is disconnected. */ export type ConnectionStatus = string; /** A list of private endpoint connections */ export interface PrivateEndpointConnectionListResult { /** The collection value. */ value?: PrivateEndpointConnection[]; } export declare function privateEndpointConnectionListResultDeserializer(item: any): PrivateEndpointConnectionListResult; export declare function privateEndpointConnectionArraySerializer(result: Array): any[]; export declare function privateEndpointConnectionArrayDeserializer(result: Array): any[]; /** A node pool snapshot resource. */ export interface Snapshot extends TrackedResource { /** CreationData to be used to specify the source agent pool resource ID to create this snapshot. */ creationData?: CreationData; /** The type of a snapshot. The default is NodePool. */ snapshotType?: SnapshotType; /** The version of Kubernetes. */ readonly kubernetesVersion?: string; /** The version of node image. */ readonly nodeImageVersion?: string; /** The operating system type. The default is Linux. */ readonly osType?: OSType; /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ readonly osSku?: Ossku; /** The size of the VM. */ readonly vmSize?: string; /** Whether to use a FIPS-enabled OS. */ readonly enableFips?: boolean; } export declare function snapshotSerializer(item: Snapshot): any; export declare function snapshotDeserializer(item: any): Snapshot; /** Properties used to configure a node pool snapshot. */ export interface SnapshotProperties { /** CreationData to be used to specify the source agent pool resource ID to create this snapshot. */ creationData?: CreationData; /** The type of a snapshot. The default is NodePool. */ snapshotType?: SnapshotType; /** The version of Kubernetes. */ readonly kubernetesVersion?: string; /** The version of node image. */ readonly nodeImageVersion?: string; /** The operating system type. The default is Linux. */ readonly osType?: OSType; /** Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ readonly osSku?: Ossku; /** The size of the VM. */ readonly vmSize?: string; /** Whether to use a FIPS-enabled OS. */ readonly enableFips?: boolean; } export declare function snapshotPropertiesSerializer(item: SnapshotProperties): any; export declare function snapshotPropertiesDeserializer(item: any): SnapshotProperties; /** The type of a snapshot. The default is NodePool. */ export declare enum KnownSnapshotType { /** The snapshot is a snapshot of a node pool. */ NodePool = "NodePool" } /** * The type of a snapshot. The default is NodePool. \ * {@link KnownSnapshotType} can be used interchangeably with SnapshotType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **NodePool**: The snapshot is a snapshot of a node pool. */ export type SnapshotType = string; /** The response of a Snapshot list operation. */ export interface _SnapshotListResult { /** The Snapshot items on this page */ value: Snapshot[]; /** The link to the next page of items */ nextLink?: string; } export declare function _snapshotListResultDeserializer(item: any): _SnapshotListResult; export declare function snapshotArraySerializer(result: Array): any[]; export declare function snapshotArrayDeserializer(result: Array): any[]; /** Defines binding between a resource and role */ export interface TrustedAccessRoleBinding extends ProxyResource { /** The current provisioning state of trusted access role binding. */ readonly provisioningState?: TrustedAccessRoleBindingProvisioningState; /** The ARM resource ID of source resource that trusted access is configured for. */ sourceResourceId: string; /** A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'. */ roles: string[]; } export declare function trustedAccessRoleBindingSerializer(item: TrustedAccessRoleBinding): any; export declare function trustedAccessRoleBindingDeserializer(item: any): TrustedAccessRoleBinding; /** Properties for trusted access role binding */ export interface TrustedAccessRoleBindingProperties { /** The current provisioning state of trusted access role binding. */ readonly provisioningState?: TrustedAccessRoleBindingProvisioningState; /** The ARM resource ID of source resource that trusted access is configured for. */ sourceResourceId: string; /** A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'. */ roles: string[]; } export declare function trustedAccessRoleBindingPropertiesSerializer(item: TrustedAccessRoleBindingProperties): any; export declare function trustedAccessRoleBindingPropertiesDeserializer(item: any): TrustedAccessRoleBindingProperties; /** The current provisioning state of trusted access role binding. */ export declare enum KnownTrustedAccessRoleBindingProvisioningState { /** Trusted access role binding provisioning was canceled. */ Canceled = "Canceled", /** Trusted access role binding is being deleted. */ Deleting = "Deleting", /** Trusted access role binding provisioning failed. */ Failed = "Failed", /** Trusted access role binding provisioning succeeded. */ Succeeded = "Succeeded", /** Trusted access role binding is being updated. */ Updating = "Updating" } /** * The current provisioning state of trusted access role binding. \ * {@link KnownTrustedAccessRoleBindingProvisioningState} can be used interchangeably with TrustedAccessRoleBindingProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Canceled**: Trusted access role binding provisioning was canceled. \ * **Deleting**: Trusted access role binding is being deleted. \ * **Failed**: Trusted access role binding provisioning failed. \ * **Succeeded**: Trusted access role binding provisioning succeeded. \ * **Updating**: Trusted access role binding is being updated. */ export type TrustedAccessRoleBindingProvisioningState = string; /** The response of a TrustedAccessRoleBinding list operation. */ export interface _TrustedAccessRoleBindingListResult { /** The TrustedAccessRoleBinding items on this page */ value: TrustedAccessRoleBinding[]; /** The link to the next page of items */ nextLink?: string; } export declare function _trustedAccessRoleBindingListResultDeserializer(item: any): _TrustedAccessRoleBindingListResult; export declare function trustedAccessRoleBindingArraySerializer(result: Array): any[]; export declare function trustedAccessRoleBindingArrayDeserializer(result: Array): any[]; /** The List Operation response. */ export interface _OperationListResult { /** The list of operations */ value: OperationValue[]; /** The link to the next page of items */ nextLink?: string; } export declare function _operationListResultDeserializer(item: any): _OperationListResult; export declare function operationValueArrayDeserializer(result: Array): any[]; /** Describes the properties of a Operation value. */ export interface OperationValue { /** The origin of the operation. */ readonly origin?: string; /** The name of the operation. */ readonly name?: string; /** The display name of the operation. */ readonly operation?: string; /** The display name of the resource the operation applies to. */ readonly resource?: string; /** The description of the operation. */ readonly description?: string; /** The resource provider for the operation. */ readonly provider?: string; } export declare function operationValueDeserializer(item: any): OperationValue; /** Describes the properties of a Operation Value Display. */ export interface OperationValueDisplay { /** The display name of the operation. */ readonly operation?: string; /** The display name of the resource the operation applies to. */ readonly resource?: string; /** The description of the operation. */ readonly description?: string; /** The resource provider for the operation. */ readonly provider?: string; } export declare function operationValueDisplayDeserializer(item: any): OperationValueDisplay; /** A list of private link resources */ export interface PrivateLinkResourcesListResult { /** The collection value. */ value?: PrivateLinkResource[]; } export declare function privateLinkResourcesListResultDeserializer(item: any): PrivateLinkResourcesListResult; /** List of trusted access roles */ export interface _TrustedAccessRoleListResult { /** The TrustedAccessRole items on this page */ value: TrustedAccessRole[]; /** The link to the next page of items */ nextLink?: string; } export declare function _trustedAccessRoleListResultDeserializer(item: any): _TrustedAccessRoleListResult; export declare function trustedAccessRoleArrayDeserializer(result: Array): any[]; /** Trusted access role definition. */ export interface TrustedAccessRole { /** Resource type of Azure resource */ readonly sourceResourceType?: string; /** Name of role, name is unique under a source resource type */ readonly name?: string; /** List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole). */ readonly rules?: TrustedAccessRoleRule[]; } export declare function trustedAccessRoleDeserializer(item: any): TrustedAccessRole; export declare function trustedAccessRoleRuleArrayDeserializer(result: Array): any[]; /** Rule for trusted access role */ export interface TrustedAccessRoleRule { /** List of allowed verbs */ readonly verbs?: string[]; /** List of allowed apiGroups */ readonly apiGroups?: string[]; /** List of allowed resources */ readonly resources?: string[]; /** List of allowed names */ readonly resourceNames?: string[]; /** List of allowed nonResourceURLs */ readonly nonResourceURLs?: string[]; } export declare function trustedAccessRoleRuleDeserializer(item: any): TrustedAccessRoleRule; /** The format of the kubeconfig credential. */ export declare enum KnownFormat { /** Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26. */ Azure = "azure", /** Return exec format kubeconfig. This format requires kubelogin binary in the path. */ Exec = "exec" } /** * The format of the kubeconfig credential. \ * {@link KnownFormat} can be used interchangeably with Format, * this enum contains the known values that the service supports. * ### Known values supported by the service * **azure**: Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https:\//aka.ms\/k8s\/changes-1-26. \ * **exec**: Return exec format kubeconfig. This format requires kubelogin binary in the path. */ export type Format = string; /** The available API versions. */ export declare enum KnownVersions { /** The 2025-10-01 API version. */ V20251001 = "2025-10-01", /** The 2026-01-01 API version. */ V20260101 = "2026-01-01" } export declare function _agentPoolPropertiesSerializer(item: AgentPool): any; export declare function _agentPoolPropertiesDeserializer(item: any): { eTag: any; count: any; vmSize: any; osDiskSizeGB: any; osDiskType: any; kubeletDiskType: any; workloadRuntime: any; messageOfTheDay: any; vnetSubnetID: any; podSubnetID: any; podIPAllocationMode: any; maxPods: any; osType: any; osSKU: any; maxCount: any; minCount: any; enableAutoScaling: any; scaleDownMode: any; typePropertiesType: any; mode: any; orchestratorVersion: any; currentOrchestratorVersion: any; nodeImageVersion: any; upgradeSettings: any; provisioningState: any; powerState: any; availabilityZones: any; enableNodePublicIP: any; nodePublicIPPrefixID: any; scaleSetPriority: any; scaleSetEvictionPolicy: any; spotMaxPrice: any; tags: any; nodeLabels: any; nodeTaints: any; proximityPlacementGroupID: any; kubeletConfig: any; linuxOSConfig: any; enableEncryptionAtHost: any; enableUltraSSD: any; enableFips: any; gpuInstanceProfile: any; creationData: any; capacityReservationGroupID: any; hostGroupID: any; networkProfile: any; windowsProfile: any; securityProfile: any; gpuProfile: any; gatewayProfile: any; virtualMachinesProfile: any; virtualMachineNodesStatus: any; status: any; localDNSProfile: any; }; export declare function _agentPoolAvailableVersionsPropertiesDeserializer(item: any): { agentPoolVersions: any; }; export declare function _agentPoolUpgradeProfilePropertiesDeserializer(item: any): { kubernetesVersion: any; osType: any; upgrades: any; latestNodeImageVersion: any; }; export declare function _managedClusterPropertiesSerializer(item: ManagedCluster): any; export declare function _managedClusterPropertiesDeserializer(item: any): { provisioningState: any; powerState: any; maxAgentPools: any; kubernetesVersion: any; currentKubernetesVersion: any; dnsPrefix: any; fqdnSubdomain: any; fqdn: any; privateFqdn: any; azurePortalFqdn: any; agentPoolProfiles: any; linuxProfile: any; windowsProfile: any; servicePrincipalProfile: any; addonProfiles: any; podIdentityProfile: any; oidcIssuerProfile: any; nodeResourceGroup: any; nodeResourceGroupProfile: any; enableRbac: any; supportPlan: any; networkProfile: any; aadProfile: any; autoUpgradeProfile: any; upgradeSettings: any; autoScalerProfile: any; apiServerAccessProfile: any; diskEncryptionSetID: any; identityProfile: any; privateLinkResources: any; disableLocalAccounts: any; httpProxyConfig: any; securityProfile: any; storageProfile: any; ingressProfile: any; publicNetworkAccess: any; workloadAutoScalerProfile: any; azureMonitorProfile: any; serviceMeshProfile: any; resourceUID: any; metricsProfile: any; nodeProvisioningProfile: any; bootstrapProfile: any; aiToolchainOperatorProfile: any; status: any; }; export declare function _managedClusterAccessProfilePropertiesDeserializer(item: any): { kubeConfig: any; }; export declare function _runCommandResultPropertiesDeserializer(item: any): { provisioningState: any; exitCode: any; startedAt: any; finishedAt: any; logs: any; reason: any; }; export declare function _managedClusterUpgradeProfilePropertiesDeserializer(item: any): { controlPlaneProfile: ManagedClusterPoolUpgradeProfile; agentPoolProfiles: any[]; }; export declare function _maintenanceConfigurationPropertiesSerializer(item: MaintenanceConfiguration): any; export declare function _maintenanceConfigurationPropertiesDeserializer(item: any): { timeInWeek: any; notAllowedTime: any; maintenanceWindow: any; }; export declare function _privateEndpointConnectionPropertiesSerializer(item: PrivateEndpointConnection): any; export declare function _privateEndpointConnectionPropertiesDeserializer(item: any): { provisioningState: any; privateEndpoint: any; privateLinkServiceConnectionState: any; }; export declare function _snapshotPropertiesSerializer(item: Snapshot): any; export declare function _snapshotPropertiesDeserializer(item: any): { creationData: any; snapshotType: any; kubernetesVersion: any; nodeImageVersion: any; osType: any; osSku: any; vmSize: any; enableFips: any; }; export declare function _trustedAccessRoleBindingPropertiesSerializer(item: TrustedAccessRoleBinding): any; export declare function _trustedAccessRoleBindingPropertiesDeserializer(item: any): { provisioningState: any; sourceResourceId: any; roles: any; }; export declare function _operationValueDisplayDeserializer(item: any): { operation: any; resource: any; description: any; provider: any; }; //# sourceMappingURL=models.d.ts.map