UNPKG

@awlsring/cdktf-proxmox

Version:

A package that vends generated constructs from the Proxmox Terraform provider

1,134 lines 77.2 kB
import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface VirtualMachineConfig extends cdktf.TerraformMetaArguments { /** * The agent configuration. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#agent VirtualMachine#agent} */ readonly agent?: VirtualMachineAgent | cdktf.IResolvable; /** * The BIOS type. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#bios VirtualMachine#bios} */ readonly bios?: string; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#clone VirtualMachine#clone} */ readonly clone?: VirtualMachineClone | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#cloud_init VirtualMachine#cloud_init} */ readonly cloudInit?: VirtualMachineCloudInit | cdktf.IResolvable; /** * The CPU configuration. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#cpu VirtualMachine#cpu} */ readonly cpu?: VirtualMachineCpu | cdktf.IResolvable; /** * The virtual machine description. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#description VirtualMachine#description} */ readonly description?: string; /** * The terrafrom generated disks attached to the VM. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#disks VirtualMachine#disks} */ readonly disks?: VirtualMachineDisks[] | cdktf.IResolvable; /** * The identifier of the virtual machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#id VirtualMachine#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: number; /** * The operating system configuration. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#iso VirtualMachine#iso} */ readonly iso?: VirtualMachineIso | cdktf.IResolvable; /** * The keyboard layout. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#keyboard_layout VirtualMachine#keyboard_layout} */ readonly keyboardLayout?: string; /** * The arguments to pass to KVM. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#kvm_arguments VirtualMachine#kvm_arguments} */ readonly kvmArguments?: string; /** * The machine type. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#machine_type VirtualMachine#machine_type} */ readonly machineType?: string; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#memory VirtualMachine#memory} */ readonly memory?: VirtualMachineMemory | cdktf.IResolvable; /** * The name of the virtual machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#name VirtualMachine#name} */ readonly name?: string; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#network_interfaces VirtualMachine#network_interfaces} */ readonly networkInterfaces?: VirtualMachineNetworkInterfaces[] | cdktf.IResolvable; /** * The node to create the virtual machine on. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#node VirtualMachine#node} */ readonly nodeAttribute: string; /** * PCI devices passed through to the VM. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#pci_devices VirtualMachine#pci_devices} */ readonly pciDevices?: VirtualMachinePciDevices[] | cdktf.IResolvable; /** * The resource pool the virtual machine is in. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#resource_pool VirtualMachine#resource_pool} */ readonly resourcePool?: string; /** * Whether to start the virtual machine on creation. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#start_on_create VirtualMachine#start_on_create} */ readonly startOnCreate?: boolean | cdktf.IResolvable; /** * Whether to start the virtual machine on node boot. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#start_on_node_boot VirtualMachine#start_on_node_boot} */ readonly startOnNodeBoot?: boolean | cdktf.IResolvable; /** * The tags of the virtual machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#tags VirtualMachine#tags} */ readonly tags?: string[]; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#timeouts VirtualMachine#timeouts} */ readonly timeouts?: VirtualMachineTimeouts | cdktf.IResolvable; /** * The operating system type. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#type VirtualMachine#type} */ readonly type?: string; } export interface VirtualMachineAgent { /** * Whether the agent is enabled. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#enabled VirtualMachine#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * The guest agent type. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#type VirtualMachine#type} */ readonly type?: string; /** * Whether to use fstrim. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#use_fstrim VirtualMachine#use_fstrim} */ readonly useFstrim?: boolean | cdktf.IResolvable; } export declare function virtualMachineAgentToTerraform(struct?: VirtualMachineAgent | cdktf.IResolvable): any; export declare class VirtualMachineAgentOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineAgent | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineAgent | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): boolean | cdktf.IResolvable | undefined; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string | undefined; private _useFstrim?; get useFstrim(): boolean | cdktf.IResolvable; set useFstrim(value: boolean | cdktf.IResolvable); resetUseFstrim(): void; get useFstrimInput(): boolean | cdktf.IResolvable | undefined; } export interface VirtualMachineClone { /** * Whether to clone as a full or linked clone. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#full_clone VirtualMachine#full_clone} */ readonly fullClone?: boolean | cdktf.IResolvable; /** * The identifier of the virtual machine or template to clone. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#source VirtualMachine#source} */ readonly source: number; /** * The storage to place the clone on. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#storage VirtualMachine#storage} */ readonly storage?: string; } export declare function virtualMachineCloneToTerraform(struct?: VirtualMachineClone | cdktf.IResolvable): any; export declare class VirtualMachineCloneOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineClone | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineClone | cdktf.IResolvable | undefined); private _fullClone?; get fullClone(): boolean | cdktf.IResolvable; set fullClone(value: boolean | cdktf.IResolvable); resetFullClone(): void; get fullCloneInput(): boolean | cdktf.IResolvable | undefined; private _source?; get source(): number; set source(value: number); get sourceInput(): number | undefined; private _storage?; get storage(): string; set storage(value: string); resetStorage(): void; get storageInput(): string | undefined; } export interface VirtualMachineCloudInitDns { /** * The domain to use for the machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#domain VirtualMachine#domain} */ readonly domain?: string; /** * The nameserver to use for the machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#nameserver VirtualMachine#nameserver} */ readonly nameserver?: string; } export declare function virtualMachineCloudInitDnsToTerraform(struct?: VirtualMachineCloudInitDns | cdktf.IResolvable): any; export declare class VirtualMachineCloudInitDnsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineCloudInitDns | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineCloudInitDns | cdktf.IResolvable | undefined); private _domain?; get domain(): string; set domain(value: string); resetDomain(): void; get domainInput(): string | undefined; private _nameserver?; get nameserver(): string; set nameserver(value: string); resetNameserver(): void; get nameserverInput(): string | undefined; } export interface VirtualMachineCloudInitIpV4 { /** * The IP address to use for the machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#address VirtualMachine#address} */ readonly address?: string; /** * Whether to use DHCP to get the IP address. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#dhcp VirtualMachine#dhcp} */ readonly dhcp?: boolean | cdktf.IResolvable; /** * The gateway to use for the machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#gateway VirtualMachine#gateway} */ readonly gateway?: string; /** * The IP address netmask to use for the machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#netmask VirtualMachine#netmask} */ readonly netmask?: string; } export declare function virtualMachineCloudInitIpV4ToTerraform(struct?: VirtualMachineCloudInitIpV4 | cdktf.IResolvable): any; export declare class VirtualMachineCloudInitIpV4OutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineCloudInitIpV4 | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineCloudInitIpV4 | cdktf.IResolvable | undefined); private _address?; get address(): string; set address(value: string); resetAddress(): void; get addressInput(): string | undefined; private _dhcp?; get dhcp(): boolean | cdktf.IResolvable; set dhcp(value: boolean | cdktf.IResolvable); resetDhcp(): void; get dhcpInput(): boolean | cdktf.IResolvable | undefined; private _gateway?; get gateway(): string; set gateway(value: string); resetGateway(): void; get gatewayInput(): string | undefined; private _netmask?; get netmask(): string; set netmask(value: string); resetNetmask(): void; get netmaskInput(): string | undefined; } export interface VirtualMachineCloudInitIpV6 { /** * The IP address to use for the machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#address VirtualMachine#address} */ readonly address?: string; /** * Whether to use DHCP to get the IP address. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#dhcp VirtualMachine#dhcp} */ readonly dhcp?: boolean | cdktf.IResolvable; /** * The gateway to use for the machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#gateway VirtualMachine#gateway} */ readonly gateway?: string; /** * The IP address netmask to use for the machine. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#netmask VirtualMachine#netmask} */ readonly netmask?: string; } export declare function virtualMachineCloudInitIpV6ToTerraform(struct?: VirtualMachineCloudInitIpV6 | cdktf.IResolvable): any; export declare class VirtualMachineCloudInitIpV6OutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineCloudInitIpV6 | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineCloudInitIpV6 | cdktf.IResolvable | undefined); private _address?; get address(): string; set address(value: string); resetAddress(): void; get addressInput(): string | undefined; private _dhcp?; get dhcp(): boolean | cdktf.IResolvable; set dhcp(value: boolean | cdktf.IResolvable); resetDhcp(): void; get dhcpInput(): boolean | cdktf.IResolvable | undefined; private _gateway?; get gateway(): string; set gateway(value: string); resetGateway(): void; get gatewayInput(): string | undefined; private _netmask?; get netmask(): string; set netmask(value: string); resetNetmask(): void; get netmaskInput(): string | undefined; } export interface VirtualMachineCloudInitIp { /** * The position of the network interface in the VM as an int. Used to determine the interface name (net0, net1, etc). * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#position VirtualMachine#position} */ readonly position: number; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#v4 VirtualMachine#v4} */ readonly v4?: VirtualMachineCloudInitIpV4 | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#v6 VirtualMachine#v6} */ readonly v6?: VirtualMachineCloudInitIpV6 | cdktf.IResolvable; } export declare function virtualMachineCloudInitIpToTerraform(struct?: VirtualMachineCloudInitIp | cdktf.IResolvable): any; export declare class VirtualMachineCloudInitIpOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): VirtualMachineCloudInitIp | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineCloudInitIp | cdktf.IResolvable | undefined); private _position?; get position(): number; set position(value: number); get positionInput(): number | undefined; private _v4; get v4(): VirtualMachineCloudInitIpV4OutputReference; putV4(value: VirtualMachineCloudInitIpV4 | cdktf.IResolvable): void; resetV4(): void; get v4Input(): cdktf.IResolvable | VirtualMachineCloudInitIpV4 | undefined; private _v6; get v6(): VirtualMachineCloudInitIpV6OutputReference; putV6(value: VirtualMachineCloudInitIpV6 | cdktf.IResolvable): void; resetV6(): void; get v6Input(): cdktf.IResolvable | VirtualMachineCloudInitIpV6 | undefined; } export declare class VirtualMachineCloudInitIpList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: VirtualMachineCloudInitIp[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): VirtualMachineCloudInitIpOutputReference; } export interface VirtualMachineCloudInitUser { /** * The name of the user. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#name VirtualMachine#name} */ readonly name: string; /** * The password of the user. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#password VirtualMachine#password} */ readonly password?: string; /** * The public ssh keys of the user. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#public_keys VirtualMachine#public_keys} */ readonly publicKeys?: string[]; } export declare function virtualMachineCloudInitUserToTerraform(struct?: VirtualMachineCloudInitUser | cdktf.IResolvable): any; export declare class VirtualMachineCloudInitUserOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineCloudInitUser | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineCloudInitUser | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string | undefined; private _publicKeys?; get publicKeys(): string[]; set publicKeys(value: string[]); resetPublicKeys(): void; get publicKeysInput(): string[] | undefined; } export interface VirtualMachineCloudInit { /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#dns VirtualMachine#dns} */ readonly dns?: VirtualMachineCloudInitDns | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#ip VirtualMachine#ip} */ readonly ip?: VirtualMachineCloudInitIp[] | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#user VirtualMachine#user} */ readonly user?: VirtualMachineCloudInitUser | cdktf.IResolvable; } export declare function virtualMachineCloudInitToTerraform(struct?: VirtualMachineCloudInit | cdktf.IResolvable): any; export declare class VirtualMachineCloudInitOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineCloudInit | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineCloudInit | cdktf.IResolvable | undefined); private _dns; get dns(): VirtualMachineCloudInitDnsOutputReference; putDns(value: VirtualMachineCloudInitDns | cdktf.IResolvable): void; resetDns(): void; get dnsInput(): cdktf.IResolvable | VirtualMachineCloudInitDns | undefined; private _ip; get ip(): VirtualMachineCloudInitIpList; putIp(value: VirtualMachineCloudInitIp[] | cdktf.IResolvable): void; resetIp(): void; get ipInput(): cdktf.IResolvable | VirtualMachineCloudInitIp[] | undefined; private _user; get user(): VirtualMachineCloudInitUserOutputReference; putUser(value: VirtualMachineCloudInitUser | cdktf.IResolvable): void; resetUser(): void; get userInput(): cdktf.IResolvable | VirtualMachineCloudInitUser | undefined; } export interface VirtualMachineComputedDisksSpeedLimits { /** * The read speed limit in bytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#read VirtualMachine#read} */ readonly read?: number; /** * The read burstable speed limit in bytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#read_burstable VirtualMachine#read_burstable} */ readonly readBurstable?: number; /** * The write speed limit in bytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#write VirtualMachine#write} */ readonly write?: number; /** * The write burstable speed limit in bytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#write_burstable VirtualMachine#write_burstable} */ readonly writeBurstable?: number; } export declare function virtualMachineComputedDisksSpeedLimitsToTerraform(struct?: VirtualMachineComputedDisksSpeedLimits | cdktf.IResolvable): any; export declare class VirtualMachineComputedDisksSpeedLimitsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineComputedDisksSpeedLimits | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineComputedDisksSpeedLimits | cdktf.IResolvable | undefined); private _read?; get read(): number; set read(value: number); resetRead(): void; get readInput(): number | undefined; private _readBurstable?; get readBurstable(): number; set readBurstable(value: number); resetReadBurstable(): void; get readBurstableInput(): number | undefined; private _write?; get write(): number; set write(value: number); resetWrite(): void; get writeInput(): number | undefined; private _writeBurstable?; get writeBurstable(): number; set writeBurstable(value: number); resetWriteBurstable(): void; get writeBurstableInput(): number | undefined; } export interface VirtualMachineComputedDisks { /** * Whether the disk has discard enabled. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#discard VirtualMachine#discard} */ readonly discard?: boolean | cdktf.IResolvable; /** * The file format of the disk. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#file_format VirtualMachine#file_format} */ readonly fileFormat?: string; /** * The type of the disk. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#interface_type VirtualMachine#interface_type} */ readonly interfaceType: string; /** * The position of the disk. (0, 1, 2, etc.) This is combined with the `interface_type` to determine the disk name. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#position VirtualMachine#position} */ readonly position: number; /** * The size of the disk in GiB. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#size VirtualMachine#size} */ readonly size: number; /** * The speed limits of the disk. If not set, no speed limitations are applied. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#speed_limits VirtualMachine#speed_limits} */ readonly speedLimits?: VirtualMachineComputedDisksSpeedLimits | cdktf.IResolvable; /** * Whether to use SSD emulation. conflicts with virtio disk type. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#ssd_emulation VirtualMachine#ssd_emulation} */ readonly ssdEmulation?: boolean | cdktf.IResolvable; /** * The storage the disk is on. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#storage VirtualMachine#storage} */ readonly storage: string; /** * Whether to use an iothread for the disk. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#use_iothread VirtualMachine#use_iothread} */ readonly useIothread?: boolean | cdktf.IResolvable; } export declare function virtualMachineComputedDisksToTerraform(struct?: VirtualMachineComputedDisks): any; export declare class VirtualMachineComputedDisksOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): VirtualMachineComputedDisks | undefined; set internalValue(value: VirtualMachineComputedDisks | undefined); private _discard?; get discard(): boolean | cdktf.IResolvable; set discard(value: boolean | cdktf.IResolvable); resetDiscard(): void; get discardInput(): boolean | cdktf.IResolvable | undefined; private _fileFormat?; get fileFormat(): string; set fileFormat(value: string); resetFileFormat(): void; get fileFormatInput(): string | undefined; private _interfaceType?; get interfaceType(): string; set interfaceType(value: string); get interfaceTypeInput(): string | undefined; get name(): string; private _position?; get position(): number; set position(value: number); get positionInput(): number | undefined; private _size?; get size(): number; set size(value: number); get sizeInput(): number | undefined; private _speedLimits; get speedLimits(): VirtualMachineComputedDisksSpeedLimitsOutputReference; putSpeedLimits(value: VirtualMachineComputedDisksSpeedLimits | cdktf.IResolvable): void; resetSpeedLimits(): void; get speedLimitsInput(): cdktf.IResolvable | VirtualMachineComputedDisksSpeedLimits | undefined; private _ssdEmulation?; get ssdEmulation(): boolean | cdktf.IResolvable; set ssdEmulation(value: boolean | cdktf.IResolvable); resetSsdEmulation(): void; get ssdEmulationInput(): boolean | cdktf.IResolvable | undefined; private _storage?; get storage(): string; set storage(value: string); get storageInput(): string | undefined; private _useIothread?; get useIothread(): boolean | cdktf.IResolvable; set useIothread(value: boolean | cdktf.IResolvable); resetUseIothread(): void; get useIothreadInput(): boolean | cdktf.IResolvable | undefined; } export declare class VirtualMachineComputedDisksList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: VirtualMachineComputedDisks[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): VirtualMachineComputedDisksOutputReference; } export interface VirtualMachineComputedNetworkInterfaces { /** * The bridge the network interface is on. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#bridge VirtualMachine#bridge} */ readonly bridge: string; /** * Whether the network interface is enabled. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#enabled VirtualMachine#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * The MAC address of the network interface. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#mac_address VirtualMachine#mac_address} */ readonly macAddress?: string; /** * The model of the network interface. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#model VirtualMachine#model} */ readonly model?: string; /** * The MTU of the network interface. Only valid for virtio. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#mtu VirtualMachine#mtu} */ readonly mtu?: number; /** * The position of the network interface in the VM as an int. Used to determine the interface name (net0, net1, etc). * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#position VirtualMachine#position} */ readonly position: number; /** * The rate limit of the network interface in megabytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#rate_limit VirtualMachine#rate_limit} */ readonly rateLimit?: number; /** * Whether the firewall for the network interface is enabled. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#use_firewall VirtualMachine#use_firewall} */ readonly useFirewall?: boolean | cdktf.IResolvable; /** * The VLAN tag of the network interface. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#vlan VirtualMachine#vlan} */ readonly vlan?: number; } export declare function virtualMachineComputedNetworkInterfacesToTerraform(struct?: VirtualMachineComputedNetworkInterfaces): any; export declare class VirtualMachineComputedNetworkInterfacesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): VirtualMachineComputedNetworkInterfaces | undefined; set internalValue(value: VirtualMachineComputedNetworkInterfaces | undefined); private _bridge?; get bridge(): string; set bridge(value: string); get bridgeInput(): string | undefined; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): boolean | cdktf.IResolvable | undefined; private _macAddress?; get macAddress(): string; set macAddress(value: string); resetMacAddress(): void; get macAddressInput(): string | undefined; private _model?; get model(): string; set model(value: string); resetModel(): void; get modelInput(): string | undefined; private _mtu?; get mtu(): number; set mtu(value: number); resetMtu(): void; get mtuInput(): number | undefined; private _position?; get position(): number; set position(value: number); get positionInput(): number | undefined; private _rateLimit?; get rateLimit(): number; set rateLimit(value: number); resetRateLimit(): void; get rateLimitInput(): number | undefined; private _useFirewall?; get useFirewall(): boolean | cdktf.IResolvable; set useFirewall(value: boolean | cdktf.IResolvable); resetUseFirewall(): void; get useFirewallInput(): boolean | cdktf.IResolvable | undefined; private _vlan?; get vlan(): number; set vlan(value: number); resetVlan(): void; get vlanInput(): number | undefined; } export declare class VirtualMachineComputedNetworkInterfacesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: VirtualMachineComputedNetworkInterfaces[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): VirtualMachineComputedNetworkInterfacesOutputReference; } export interface VirtualMachineComputedPciDevices { /** * The device ID of the PCI device. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#id VirtualMachine#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id: string; /** * The mediated device name. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#mdev VirtualMachine#mdev} */ readonly mdev?: string; /** * The device name of the PCI device. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#name VirtualMachine#name} */ readonly name: string; /** * Whether the PCI device is PCIe. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#pcie VirtualMachine#pcie} */ readonly pcie?: boolean | cdktf.IResolvable; /** * Whether the PCI device is the primary GPU. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#primary_gpu VirtualMachine#primary_gpu} */ readonly primaryGpu?: boolean | cdktf.IResolvable; /** * The relative path to the ROM for the device. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#rom_file VirtualMachine#rom_file} */ readonly romFile?: string; /** * Make the firmware room visible to the VM. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#rombar VirtualMachine#rombar} */ readonly rombar?: boolean | cdktf.IResolvable; } export declare function virtualMachineComputedPciDevicesToTerraform(struct?: VirtualMachineComputedPciDevices): any; export declare class VirtualMachineComputedPciDevicesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): VirtualMachineComputedPciDevices | undefined; set internalValue(value: VirtualMachineComputedPciDevices | undefined); private _id?; get id(): string; set id(value: string); get idInput(): string | undefined; private _mdev?; get mdev(): string; set mdev(value: string); resetMdev(): void; get mdevInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _pcie?; get pcie(): boolean | cdktf.IResolvable; set pcie(value: boolean | cdktf.IResolvable); resetPcie(): void; get pcieInput(): boolean | cdktf.IResolvable | undefined; private _primaryGpu?; get primaryGpu(): boolean | cdktf.IResolvable; set primaryGpu(value: boolean | cdktf.IResolvable); resetPrimaryGpu(): void; get primaryGpuInput(): boolean | cdktf.IResolvable | undefined; private _romFile?; get romFile(): string; set romFile(value: string); resetRomFile(): void; get romFileInput(): string | undefined; private _rombar?; get rombar(): boolean | cdktf.IResolvable; set rombar(value: boolean | cdktf.IResolvable); resetRombar(): void; get rombarInput(): boolean | cdktf.IResolvable | undefined; } export declare class VirtualMachineComputedPciDevicesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: VirtualMachineComputedPciDevices[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): VirtualMachineComputedPciDevicesOutputReference; } export interface VirtualMachineCpu { /** * The CPU architecture. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#architecture VirtualMachine#architecture} */ readonly architecture?: string; /** * The number of CPU cores. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#cores VirtualMachine#cores} */ readonly cores?: number; /** * The CPU units. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#cpu_units VirtualMachine#cpu_units} */ readonly cpuUnits?: number; /** * The emulated CPU type. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#emulated_type VirtualMachine#emulated_type} */ readonly emulatedType?: string; /** * The number of CPU sockets. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#sockets VirtualMachine#sockets} */ readonly sockets?: number; } export declare function virtualMachineCpuToTerraform(struct?: VirtualMachineCpu | cdktf.IResolvable): any; export declare class VirtualMachineCpuOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineCpu | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineCpu | cdktf.IResolvable | undefined); private _architecture?; get architecture(): string; set architecture(value: string); resetArchitecture(): void; get architectureInput(): string | undefined; private _cores?; get cores(): number; set cores(value: number); resetCores(): void; get coresInput(): number | undefined; private _cpuUnits?; get cpuUnits(): number; set cpuUnits(value: number); resetCpuUnits(): void; get cpuUnitsInput(): number | undefined; private _emulatedType?; get emulatedType(): string; set emulatedType(value: string); resetEmulatedType(): void; get emulatedTypeInput(): string | undefined; private _sockets?; get sockets(): number; set sockets(value: number); resetSockets(): void; get socketsInput(): number | undefined; } export interface VirtualMachineDisksSpeedLimits { /** * The read speed limit in bytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#read VirtualMachine#read} */ readonly read?: number; /** * The read burstable speed limit in bytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#read_burstable VirtualMachine#read_burstable} */ readonly readBurstable?: number; /** * The write speed limit in bytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#write VirtualMachine#write} */ readonly write?: number; /** * The write burstable speed limit in bytes per second. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#write_burstable VirtualMachine#write_burstable} */ readonly writeBurstable?: number; } export declare function virtualMachineDisksSpeedLimitsToTerraform(struct?: VirtualMachineDisksSpeedLimits | cdktf.IResolvable): any; export declare class VirtualMachineDisksSpeedLimitsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VirtualMachineDisksSpeedLimits | cdktf.IResolvable | undefined; set internalValue(value: VirtualMachineDisksSpeedLimits | cdktf.IResolvable | undefined); private _read?; get read(): number; set read(value: number); resetRead(): void; get readInput(): number | undefined; private _readBurstable?; get readBurstable(): number; set readBurstable(value: number); resetReadBurstable(): void; get readBurstableInput(): number | undefined; private _write?; get write(): number; set write(value: number); resetWrite(): void; get writeInput(): number | undefined; private _writeBurstable?; get writeBurstable(): number; set writeBurstable(value: number); resetWriteBurstable(): void; get writeBurstableInput(): number | undefined; } export interface VirtualMachineDisks { /** * Whether the disk has discard enabled. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#discard VirtualMachine#discard} */ readonly discard?: boolean | cdktf.IResolvable; /** * The file format of the disk. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#file_format VirtualMachine#file_format} */ readonly fileFormat?: string; /** * The type of the disk. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#interface_type VirtualMachine#interface_type} */ readonly interfaceType: string; /** * The position of the disk. (0, 1, 2, etc.) This is combined with the `interface_type` to determine the disk name. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#position VirtualMachine#position} */ readonly position: number; /** * The size of the disk in GiB. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#size VirtualMachine#size} */ readonly size: number; /** * The speed limits of the disk. If not set, no speed limitations are applied. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#speed_limits VirtualMachine#speed_limits} */ readonly speedLimits?: VirtualMachineDisksSpeedLimits | cdktf.IResolvable; /** * Whether to use SSD emulation. conflicts with virtio disk type. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#ssd_emulation VirtualMachine#ssd_emulation} */ readonly ssdEmulation?: boolean | cdktf.IResolvable; /** * The storage the disk is on. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#storage VirtualMachine#storage} */ readonly storage: string; /** * Whether to use an iothread for the disk. * * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/virtual_machine#use_iothread VirtualMachine#use_iothread} */ readonly useIothread?: boolean | cdktf.IResolvable; } export declare function virtualMachineDisksToTerraform(struct?: VirtualMachineDisks | cdktf.IResolvable): any; export declare class VirtualMachineDisk