import * as ccs from '@pulumi/azure-native/containerservice'; import * as pulumi from '@pulumi/pulumi'; import { Input, Output } from '@pulumi/pulumi'; import { BasicEncryptResourceArgs, WithLockable, LogInfo, ResourceInfoWithInstance, WithDiskEncryption, AdIdentityInfo } from '../types'; export declare enum VmSizes { /** 32G RAM - 4CPU - $221.92 */ Standard_E4as_v4 = "Standard_E4as_v4", /** 8G RAM - 2CPU - $77.38 */ Standard_B2ms = "Standard_B2ms", /** 16G RAM - 4CPU - $154.03 */ Standard_B4ms = "Standard_B4ms", /** 8G RAM - 2CPU - 87.60 */ Standard_D2as_v4 = "Standard_D2as_v4", /** 8G RAM - 2CPU - 87.60 */ Standard_D2s_v3 = "Standard_D2s_v3", /** 8G RAM - 4CPU - 182.5 */ Standard_D4s_v3 = "Standard_D4s_v3", /** 16G RAM - 4CPU - $175.20 */ Standard_D4as_v4 = "Standard_D4as_v4", /** 4G RAM - 2CPU - $69.35 */ Standard_A2_v2 = "Standard_A2_v2", /** 8G RAM - 4CPU - $144.54 */ Standard_A4_v2 = "Standard_A4_v2", /** 32G RAM - 4CPU - $205.13 */ Standard_A4m_v2 = "Standard_A4m_v2" } export type NodePoolProps = { name: pulumi.Input; mode: ccs.AgentPoolMode; vmSize: VmSizes | string; osDiskSizeGB: number; osDiskType?: ccs.OSDiskType | string; maxPods?: number; subnetId?: pulumi.Input; }; export type AskAddonProps = { enableAzureKeyVault?: boolean; enableVirtualHost?: boolean; applicationGateway?: { gatewaySubnetId: pulumi.Input; }; }; export type AskFeatureProps = { enablePrivateCluster?: boolean; enableAutoScale?: boolean; maxAutoScaleNodes?: number; minAutoScaleNodes?: number; enablePodIdentity?: boolean; enableWorkloadIdentity?: boolean; enableMaintenance?: boolean; enableVerticalPodAutoscaler?: boolean; enableKeda?: boolean; }; export type AksAccessProps = { authorizedIPRanges?: Input[]; disableLocalAccounts?: boolean; }; export type AksNetworkProps = { subnetId: pulumi.Input; virtualHostSubnetName?: pulumi.Input; /** This uses for Private DNZ linking only*/ extraVnetIds?: pulumi.Input[]; outboundIpAddress?: { ipAddressId?: pulumi.Input; ipAddressPrefixId?: pulumi.Input; }; }; export type DefaultAksNodePoolProps = Omit; export interface AksProps extends BasicEncryptResourceArgs, WithLockable, WithDiskEncryption { tier?: ccs.ManagedClusterSKUTier; addon?: AskAddonProps; features?: AskFeatureProps; aksAccess: AksAccessProps; storageProfile?: { blobCSIDriver: { enabled: boolean; }; diskCSIDriver: { enabled: boolean; }; fileCSIDriver: { enabled: boolean; }; snapshotController: { enabled: boolean; }; }; defaultNodePool: DefaultAksNodePoolProps; network: AksNetworkProps; linux: { adminUsername: Input; sshKeys: Array>; }; nodePools?: Array; logInfo?: Partial & { defenderEnabled?: boolean; }; } export type AksResults = ResourceInfoWithInstance & { serviceIdentity: AdIdentityInfo; disableLocalAccounts?: boolean; getKubeConfig: () => Output | undefined; }; declare const _default: ({ group, name, aksAccess, envRoles, vaultInfo, diskEncryptionSetId, linux, defaultNodePool, nodePools, network, logInfo, features, storageProfile, addon, tier, lock, dependsOn, importUri, ignoreChanges, }: AksProps) => Promise; export default _default;