@awlsring/cdktf-proxmox
Version:
A package that vends generated constructs from the Proxmox Terraform provider
1,134 lines • 77.2 kB
TypeScript
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