/** * VmLinux composite — Linux Virtual Machine + NIC + NSG + optional Public IP. * * A higher-level construct for deploying a Linux VM with SSH access, * managed disk, and a Network Security Group. */ import { VirtualMachine, NetworkInterface, NetworkSecurityGroup, PublicIPAddress } from "../generated/index.js"; export interface VmLinuxProps { /** Virtual machine name. */ name: string; /** VM size (e.g., "Standard_B2s", "Standard_D2s_v5"). */ vmSize: string; /** Admin username for SSH. */ adminUsername: string; /** SSH public key for authentication. */ sshPublicKey: string; /** Subnet resource ID where the NIC will be placed. */ subnetId: string; /** Azure region (default: resource group location). */ location?: string; /** Create a public IP address (default: false). */ publicIp?: boolean; /** Resource tags. */ tags?: Record; /** Per-member defaults. */ defaults?: { virtualMachine?: Partial[0]>; nic?: Partial[0]>; nsg?: Partial[0]>; publicIpAddress?: Partial[0]>; }; } export interface VmLinuxResult { virtualMachine: InstanceType; nic: InstanceType; nsg: InstanceType; publicIpAddress?: InstanceType; } /** * Create a VmLinux composite — returns a Linux VM, NIC, NSG, * and optional Public IP. * * @example * ```ts * import { VmLinux } from "@intentius/chant-lexicon-azure"; * * const { virtualMachine, nic, nsg, publicIpAddress } = VmLinux({ * name: "my-vm", * vmSize: "Standard_B2s", * adminUsername: "azureuser", * sshPublicKey: "ssh-rsa AAAA...", * subnetId: "[resourceId('Microsoft.Network/virtualNetworks/subnets', 'my-vnet', 'subnet-1')]", * publicIp: true, * }); * * export { virtualMachine, nic, nsg, publicIpAddress }; * ``` */ export declare const VmLinux: import("@intentius/chant").CompositeDefinition; //# sourceMappingURL=vm-linux.d.ts.map