vms

package
v0.0.0-...-fd46d7f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2023 License: MPL-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	rest.Client
	VMID int
}

Client is an interface for accessing the Proxmox VM API.

func (*Client) CloneVM

func (c *Client) CloneVM(ctx context.Context, retries int, d *CloneRequestBody, timeout int) error

CloneVM clones a virtual machine.

func (*Client) CreateVM

func (c *Client) CreateVM(ctx context.Context, d *CreateRequestBody, timeout int) error

CreateVM creates a virtual machine.

func (*Client) CreateVMAsync

func (c *Client) CreateVMAsync(ctx context.Context, d *CreateRequestBody) (*string, error)

CreateVMAsync creates a virtual machine asynchronously.

func (*Client) DeleteVM

func (c *Client) DeleteVM(ctx context.Context) error

DeleteVM deletes a virtual machine.

func (*Client) ExpandPath

func (c *Client) ExpandPath(path string) string

ExpandPath expands a relative path to a full VM API path.

func (*Client) Firewall

func (c *Client) Firewall() firewall.API

Firewall returns a client for managing the VM firewall.

func (*Client) GetVM

func (c *Client) GetVM(ctx context.Context) (*GetResponseData, error)

GetVM retrieves a virtual machine.

func (*Client) GetVMNetworkInterfacesFromAgent

func (c *Client) GetVMNetworkInterfacesFromAgent(ctx context.Context) (*GetQEMUNetworkInterfacesResponseData, error)

GetVMNetworkInterfacesFromAgent retrieves the network interfaces reported by the QEMU agent.

func (*Client) GetVMStatus

func (c *Client) GetVMStatus(ctx context.Context) (*GetStatusResponseData, error)

GetVMStatus retrieves the status for a virtual machine.

func (*Client) ListVMs

func (c *Client) ListVMs(ctx context.Context) ([]*ListResponseData, error)

ListVMs retrieves a list of virtual machines.

func (*Client) MigrateVM

func (c *Client) MigrateVM(ctx context.Context, d *MigrateRequestBody, timeout int) error

MigrateVM migrates a virtual machine.

func (*Client) MigrateVMAsync

func (c *Client) MigrateVMAsync(ctx context.Context, d *MigrateRequestBody) (*string, error)

MigrateVMAsync migrates a virtual machine asynchronously.

func (*Client) MoveVMDisk

func (c *Client) MoveVMDisk(ctx context.Context, d *MoveDiskRequestBody, timeout int) error

MoveVMDisk moves a virtual machine disk.

func (*Client) MoveVMDiskAsync

func (c *Client) MoveVMDiskAsync(ctx context.Context, d *MoveDiskRequestBody) (*string, error)

MoveVMDiskAsync moves a virtual machine disk asynchronously.

func (*Client) RebootVM

func (c *Client) RebootVM(ctx context.Context, d *RebootRequestBody, timeout int) error

RebootVM reboots a virtual machine.

func (*Client) RebootVMAsync

func (c *Client) RebootVMAsync(ctx context.Context, d *RebootRequestBody) (*string, error)

RebootVMAsync reboots a virtual machine asynchronously.

func (*Client) ResizeVMDisk

func (c *Client) ResizeVMDisk(ctx context.Context, d *ResizeDiskRequestBody) error

ResizeVMDisk resizes a virtual machine disk.

func (*Client) ShutdownVM

func (c *Client) ShutdownVM(ctx context.Context, d *ShutdownRequestBody, timeout int) error

ShutdownVM shuts down a virtual machine.

func (*Client) ShutdownVMAsync

func (c *Client) ShutdownVMAsync(ctx context.Context, d *ShutdownRequestBody) (*string, error)

ShutdownVMAsync shuts down a virtual machine asynchronously.

func (*Client) StartVM

func (c *Client) StartVM(ctx context.Context, timeout int) error

StartVM starts a virtual machine.

func (*Client) StartVMAsync

func (c *Client) StartVMAsync(ctx context.Context) (*string, error)

StartVMAsync starts a virtual machine asynchronously.

func (*Client) StopVM

func (c *Client) StopVM(ctx context.Context, timeout int) error

StopVM stops a virtual machine.

func (*Client) StopVMAsync

func (c *Client) StopVMAsync(ctx context.Context) (*string, error)

StopVMAsync stops a virtual machine asynchronously.

func (*Client) Tasks

func (c *Client) Tasks() *tasks.Client

Tasks returns a client for managing VM tasks.

func (*Client) UpdateVM

func (c *Client) UpdateVM(ctx context.Context, d *UpdateRequestBody) error

UpdateVM updates a virtual machine.

func (*Client) UpdateVMAsync

func (c *Client) UpdateVMAsync(ctx context.Context, d *UpdateRequestBody) (*string, error)

UpdateVMAsync updates a virtual machine asynchronously.

func (*Client) WaitForNetworkInterfacesFromVMAgent

func (c *Client) WaitForNetworkInterfacesFromVMAgent(
	ctx context.Context,
	timeout int,
	delay int,
	waitForIP bool,
) (*GetQEMUNetworkInterfacesResponseData, error)

WaitForNetworkInterfacesFromVMAgent waits for a virtual machine's QEMU agent to publish the network interfaces.

func (*Client) WaitForNoNetworkInterfacesFromVMAgent

func (c *Client) WaitForNoNetworkInterfacesFromVMAgent(ctx context.Context, timeout int, delay int) error

WaitForNoNetworkInterfacesFromVMAgent waits for a virtual machine's QEMU agent to unpublish the network interfaces.

func (*Client) WaitForVMConfigUnlock

func (c *Client) WaitForVMConfigUnlock(ctx context.Context, timeout int, delay int, ignoreErrorResponse bool) error

WaitForVMConfigUnlock waits for a virtual machine configuration to become unlocked.

func (*Client) WaitForVMState

func (c *Client) WaitForVMState(ctx context.Context, state string, timeout int, delay int) error

WaitForVMState waits for a virtual machine to reach a specific state.

type CloneRequestBody

type CloneRequestBody struct {
	BandwidthLimit      *int              `json:"bwlimit,omitempty"     url:"bwlimit,omitempty"`
	Description         *string           `json:"description,omitempty" url:"description,omitempty"`
	FullCopy            *types.CustomBool `json:"full,omitempty"        url:"full,omitempty,int"`
	Name                *string           `json:"name,omitempty"        url:"name,omitempty"`
	PoolID              *string           `json:"pool,omitempty"        url:"pool,omitempty"`
	SnapshotName        *string           `json:"snapname,omitempty"    url:"snapname,omitempty"`
	TargetNodeName      *string           `json:"target,omitempty"      url:"target,omitempty"`
	TargetStorage       *string           `json:"storage,omitempty"     url:"storage,omitempty"`
	TargetStorageFormat *string           `json:"format,omitempty"      url:"format,omitempty"`
	VMIDNew             int               `json:"newid"                 url:"newid"`
}

CloneRequestBody contains the data for an virtual machine clone request.

type CreateRequestBody

type CreateRequestBody struct {
	ACPI                 *types.CustomBool              `json:"acpi,omitempty"               url:"acpi,omitempty,int"`
	Agent                *CustomAgent                   `json:"agent,omitempty"              url:"agent,omitempty"`
	AllowReboot          *types.CustomBool              `json:"reboot,omitempty"             url:"reboot,omitempty,int"`
	AudioDevices         CustomAudioDevices             `json:"audio,omitempty"              url:"audio,omitempty"`
	Autostart            *types.CustomBool              `json:"autostart,omitempty"          url:"autostart,omitempty,int"`
	BackupFile           *string                        `json:"archive,omitempty"            url:"archive,omitempty"`
	BandwidthLimit       *int                           `json:"bwlimit,omitempty"            url:"bwlimit,omitempty"`
	BIOS                 *string                        `json:"bios,omitempty"               url:"bios,omitempty"`
	Boot                 *CustomBoot                    `json:"boot,omitempty"               url:"boot,omitempty"`
	CDROM                *string                        `json:"cdrom,omitempty"              url:"cdrom,omitempty"`
	CloudInitConfig      *CustomCloudInitConfig         `json:"cloudinit,omitempty"          url:"cloudinit,omitempty"`
	CPUArchitecture      *string                        `json:"arch,omitempty"               url:"arch,omitempty"`
	CPUCores             *int                           `json:"cores,omitempty"              url:"cores,omitempty"`
	CPUEmulation         *CustomCPUEmulation            `json:"cpu,omitempty"                url:"cpu,omitempty"`
	CPULimit             *int                           `json:"cpulimit,omitempty"           url:"cpulimit,omitempty"`
	CPUSockets           *int                           `json:"sockets,omitempty"            url:"sockets,omitempty"`
	CPUUnits             *int                           `json:"cpuunits,omitempty"           url:"cpuunits,omitempty"`
	DedicatedMemory      *int                           `json:"memory,omitempty"             url:"memory,omitempty"`
	Delete               []string                       `json:"delete,omitempty"             url:"delete,omitempty,comma"`
	DeletionProtection   *types.CustomBool              `json:"protection,omitempty"         url:"force,omitempty,int"`
	Description          *string                        `json:"description,omitempty"        url:"description,omitempty"`
	EFIDisk              *CustomEFIDisk                 `json:"efidisk0,omitempty"           url:"efidisk0,omitempty"`
	FloatingMemory       *int                           `json:"balloon,omitempty"            url:"balloon,omitempty"`
	FloatingMemoryShares *int                           `json:"shares,omitempty"             url:"shares,omitempty"`
	Freeze               *types.CustomBool              `json:"freeze,omitempty"             url:"freeze,omitempty,int"`
	HookScript           *string                        `json:"hookscript,omitempty"         url:"hookscript,omitempty"`
	Hotplug              types.CustomCommaSeparatedList `json:"hotplug,omitempty"            url:"hotplug,omitempty,comma"`
	Hugepages            *string                        `json:"hugepages,omitempty"          url:"hugepages,omitempty"`
	IDEDevices           CustomStorageDevices           `json:"ide,omitempty"                url:",omitempty"`
	KeyboardLayout       *string                        `json:"keyboard,omitempty"           url:"keyboard,omitempty"`
	KVMArguments         *string                        `json:"args,omitempty"               url:"args,omitempty,space"`
	KVMEnabled           *types.CustomBool              `json:"kvm,omitempty"                url:"kvm,omitempty,int"`
	LocalTime            *types.CustomBool              `json:"localtime,omitempty"          url:"localtime,omitempty,int"`
	Lock                 *string                        `json:"lock,omitempty"               url:"lock,omitempty"`
	Machine              *string                        `json:"machine,omitempty"            url:"machine,omitempty"`
	MigrateDowntime      *float64                       `json:"migrate_downtime,omitempty"   url:"migrate_downtime,omitempty"`
	MigrateSpeed         *int                           `json:"migrate_speed,omitempty"      url:"migrate_speed,omitempty"`
	Name                 *string                        `json:"name,omitempty"               url:"name,omitempty"`
	NetworkDevices       CustomNetworkDevices           `json:"net,omitempty"                url:"net,omitempty"`
	NUMADevices          CustomNUMADevices              `json:"numa_devices,omitempty"       url:"numa,omitempty"`
	NUMAEnabled          *types.CustomBool              `json:"numa,omitempty"               url:"numa,omitempty,int"`
	OSType               *string                        `json:"ostype,omitempty"             url:"ostype,omitempty"`
	Overwrite            *types.CustomBool              `json:"force,omitempty"              url:"force,omitempty,int"`
	PCIDevices           CustomPCIDevices               `json:"hostpci,omitempty"            url:"hostpci,omitempty"`
	PoolID               *string                        `json:"pool,omitempty"               url:"pool,omitempty"`
	Revert               *string                        `json:"revert,omitempty"             url:"revert,omitempty"`
	SATADevices          CustomStorageDevices           `json:"sata,omitempty"               url:"sata,omitempty"`
	SCSIDevices          CustomStorageDevices           `json:"scsi,omitempty"               url:"scsi,omitempty"`
	SCSIHardware         *string                        `json:"scsihw,omitempty"             url:"scsihw,omitempty"`
	SerialDevices        CustomSerialDevices            `json:"serial,omitempty"             url:"serial,omitempty"`
	SharedMemory         *CustomSharedMemory            `json:"ivshmem,omitempty"            url:"ivshmem,omitempty"`
	SkipLock             *types.CustomBool              `json:"skiplock,omitempty"           url:"skiplock,omitempty,int"`
	SMBIOS               *CustomSMBIOS                  `json:"smbios1,omitempty"            url:"smbios1,omitempty"`
	SpiceEnhancements    *CustomSpiceEnhancements       `json:"spice_enhancements,omitempty" url:"spice_enhancements,omitempty"`
	StartDate            *string                        `json:"startdate,omitempty"          url:"startdate,omitempty"`
	StartOnBoot          *types.CustomBool              `json:"onboot,omitempty"             url:"onboot,omitempty,int"`
	StartupOrder         *CustomStartupOrder            `json:"startup,omitempty"            url:"startup,omitempty"`
	TabletDeviceEnabled  *types.CustomBool              `json:"tablet,omitempty"             url:"tablet,omitempty,int"`
	Tags                 *string                        `json:"tags,omitempty"               url:"tags,omitempty"`
	Template             *types.CustomBool              `json:"template,omitempty"           url:"template,omitempty,int"`
	TimeDriftFixEnabled  *types.CustomBool              `json:"tdf,omitempty"                url:"tdf,omitempty,int"`
	USBDevices           CustomUSBDevices               `json:"usb,omitempty"                url:"usb,omitempty"`
	VGADevice            *CustomVGADevice               `json:"vga,omitempty"                url:"vga,omitempty"`
	VirtualCPUCount      *int                           `json:"vcpus,omitempty"              url:"vcpus,omitempty"`
	VirtualIODevices     CustomStorageDevices           `json:"virtio,omitempty"             url:"virtio,omitempty"`
	VMGenerationID       *string                        `json:"vmgenid,omitempty"            url:"vmgenid,omitempty"`
	VMID                 *int                           `json:"vmid,omitempty"               url:"vmid,omitempty"`
	VMStateDatastoreID   *string                        `json:"vmstatestorage,omitempty"     url:"vmstatestorage,omitempty"`
	WatchdogDevice       *CustomWatchdogDevice          `json:"watchdog,omitempty"           url:"watchdog,omitempty"`
}

CreateRequestBody contains the data for a virtual machine create request.

type CreateResponseBody

type CreateResponseBody struct {
	Data *string `json:"data,omitempty"`
}

CreateResponseBody contains the body from a create response.

type CustomAgent

type CustomAgent struct {
	Enabled         *types.CustomBool `json:"enabled,omitempty"   url:"enabled,int"`
	TrimClonedDisks *types.CustomBool `json:"fstrim_cloned_disks" url:"fstrim_cloned_disks,int"`
	Type            *string           `json:"type"                url:"type"`
}

CustomAgent handles QEMU agent parameters.

func (CustomAgent) EncodeValues

func (r CustomAgent) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomAgent struct to a URL vlaue.

func (*CustomAgent) UnmarshalJSON

func (r *CustomAgent) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomAgent string to an object.

type CustomAudioDevice

type CustomAudioDevice struct {
	Device  string  `json:"device" url:"device"`
	Driver  *string `json:"driver" url:"driver"`
	Enabled bool    `json:"-"      url:"-"`
}

CustomAudioDevice handles QEMU audio parameters.

func (CustomAudioDevice) EncodeValues

func (r CustomAudioDevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomAudioDevice struct to a URL vlaue.

func (*CustomAudioDevice) UnmarshalJSON

func (r *CustomAudioDevice) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomAgent string to an object.

type CustomAudioDevices

type CustomAudioDevices []CustomAudioDevice

CustomAudioDevices handles QEMU audio device parameters.

func (CustomAudioDevices) EncodeValues

func (r CustomAudioDevices) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomAudioDevices array to multiple URL values.

type CustomBoot

type CustomBoot struct {
	Order *[]string `json:"order,omitempty" url:"order,omitempty,semicolon"`
}

CustomBoot handles QEMU boot parameters.

func (CustomBoot) EncodeValues

func (r CustomBoot) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomBoot struct to multiple URL values.

func (*CustomBoot) UnmarshalJSON

func (r *CustomBoot) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomBoot string to an object.

type CustomCPUEmulation

type CustomCPUEmulation struct {
	Flags      *[]string         `json:"flags,omitempty"        url:"flags,omitempty,semicolon"`
	Hidden     *types.CustomBool `json:"hidden,omitempty"       url:"hidden,omitempty,int"`
	HVVendorID *string           `json:"hv-vendor-id,omitempty" url:"hv-vendor-id,omitempty"`
	Type       string            `json:"cputype,omitempty"      url:"cputype,omitempty"`
}

CustomCPUEmulation handles QEMU CPU emulation parameters.

func (CustomCPUEmulation) EncodeValues

func (r CustomCPUEmulation) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomCPUEmulation struct to a URL vlaue.

func (*CustomCPUEmulation) UnmarshalJSON

func (r *CustomCPUEmulation) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomCPUEmulation string to an object.

type CustomCloudInitConfig

type CustomCloudInitConfig struct {
	Files        *CustomCloudInitFiles     `json:"cicustom,omitempty"     url:"cicustom,omitempty"`
	IPConfig     []CustomCloudInitIPConfig `json:"ipconfig,omitempty"     url:"ipconfig,omitempty,numbered"`
	Nameserver   *string                   `json:"nameserver,omitempty"   url:"nameserver,omitempty"`
	Password     *string                   `json:"cipassword,omitempty"   url:"cipassword,omitempty"`
	SearchDomain *string                   `json:"searchdomain,omitempty" url:"searchdomain,omitempty"`
	SSHKeys      *CustomCloudInitSSHKeys   `json:"sshkeys,omitempty"      url:"sshkeys,omitempty"`
	Type         *string                   `json:"citype,omitempty"       url:"citype,omitempty"`
	Username     *string                   `json:"ciuser,omitempty"       url:"ciuser,omitempty"`
}

CustomCloudInitConfig handles QEMU cloud-init parameters.

func (CustomCloudInitConfig) EncodeValues

func (r CustomCloudInitConfig) EncodeValues(_ string, v *url.Values) error

EncodeValues converts a CustomCloudInitConfig struct to multiple URL values.

type CustomCloudInitFiles

type CustomCloudInitFiles struct {
	MetaVolume    *string `json:"meta,omitempty"    url:"meta,omitempty"`
	NetworkVolume *string `json:"network,omitempty" url:"network,omitempty"`
	UserVolume    *string `json:"user,omitempty"    url:"user,omitempty"`
	VendorVolume  *string `json:"vendor,omitempty"  url:"vendor,omitempty"`
}

CustomCloudInitFiles handles QEMU cloud-init custom files parameters.

func (*CustomCloudInitFiles) UnmarshalJSON

func (r *CustomCloudInitFiles) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomCloudInitFiles string to an object.

type CustomCloudInitIPConfig

type CustomCloudInitIPConfig struct {
	GatewayIPv4 *string `json:"gw,omitempty"  url:"gw,omitempty"`
	GatewayIPv6 *string `json:"gw6,omitempty" url:"gw6,omitempty"`
	IPv4        *string `json:"ip,omitempty"  url:"ip,omitempty"`
	IPv6        *string `json:"ip6,omitempty" url:"ip6,omitempty"`
}

CustomCloudInitIPConfig handles QEMU cloud-init IP configuration parameters.

func (*CustomCloudInitIPConfig) UnmarshalJSON

func (r *CustomCloudInitIPConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomCloudInitIPConfig string to an object.

type CustomCloudInitSSHKeys

type CustomCloudInitSSHKeys []string

CustomCloudInitSSHKeys handles QEMU cloud-init SSH keys parameters.

func (*CustomCloudInitSSHKeys) UnmarshalJSON

func (r *CustomCloudInitSSHKeys) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomCloudInitFiles string to an object.

type CustomEFIDisk

type CustomEFIDisk struct {
	FileVolume      string            `json:"file"                        url:"file"`
	Format          *string           `json:"format,omitempty"            url:"format,omitempty"`
	Type            *string           `json:"efitype,omitempty"           url:"efitype,omitempty"`
	PreEnrolledKeys *types.CustomBool `json:"pre-enrolled-keys,omitempty" url:"pre-enrolled-keys,omitempty,int"`
}

CustomEFIDisk handles QEMU EFI disk parameters.

func (CustomEFIDisk) EncodeValues

func (r CustomEFIDisk) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomEFIDisk struct to a URL vlaue.

func (*CustomEFIDisk) UnmarshalJSON

func (r *CustomEFIDisk) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomEFIDisk string to an object.

type CustomNUMADevice

type CustomNUMADevice struct {
	CPUIDs        []string  `json:"cpus"                url:"cpus,semicolon"`
	HostNodeNames *[]string `json:"hostnodes,omitempty" url:"hostnodes,omitempty,semicolon"`
	Memory        *float64  `json:"memory,omitempty"    url:"memory,omitempty"`
	Policy        *string   `json:"policy,omitempty"    url:"policy,omitempty"`
}

CustomNUMADevice handles QEMU NUMA device parameters.

func (CustomNUMADevice) EncodeValues

func (r CustomNUMADevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomNUMADevice struct to a URL vlaue.

type CustomNUMADevices

type CustomNUMADevices []CustomNUMADevice

CustomNUMADevices handles QEMU NUMA device parameters.

func (CustomNUMADevices) EncodeValues

func (r CustomNUMADevices) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomNUMADevices array to multiple URL values.

type CustomNetworkDevice

type CustomNetworkDevice struct {
	Model      string            `json:"model"               url:"model"`
	Bridge     *string           `json:"bridge,omitempty"    url:"bridge,omitempty"`
	Enabled    bool              `json:"-"                   url:"-"`
	Firewall   *types.CustomBool `json:"firewall,omitempty"  url:"firewall,omitempty,int"`
	LinkDown   *types.CustomBool `json:"link_down,omitempty" url:"link_down,omitempty,int"`
	MACAddress *string           `json:"macaddr,omitempty"   url:"macaddr,omitempty"`
	Queues     *int              `json:"queues,omitempty"    url:"queues,omitempty"`
	RateLimit  *float64          `json:"rate,omitempty"      url:"rate,omitempty"`
	Tag        *int              `json:"tag,omitempty"       url:"tag,omitempty"`
	MTU        *int              `json:"mtu,omitempty"       url:"mtu,omitempty"`
	Trunks     []int             `json:"trunks,omitempty"    url:"trunks,omitempty"`
}

CustomNetworkDevice handles QEMU network device parameters.

func (CustomNetworkDevice) EncodeValues

func (r CustomNetworkDevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomNetworkDevice struct to a URL vlaue.

func (*CustomNetworkDevice) UnmarshalJSON

func (r *CustomNetworkDevice) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomNetworkDevice string to an object.

type CustomNetworkDevices

type CustomNetworkDevices []CustomNetworkDevice

CustomNetworkDevices handles QEMU network device parameters.

func (CustomNetworkDevices) EncodeValues

func (r CustomNetworkDevices) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomNetworkDevices array to multiple URL values.

type CustomPCIDevice

type CustomPCIDevice struct {
	DeviceIDs  []string          `json:"host"              url:"host,semicolon"`
	MDev       *string           `json:"mdev,omitempty"    url:"mdev,omitempty"`
	PCIExpress *types.CustomBool `json:"pcie,omitempty"    url:"pcie,omitempty,int"`
	ROMBAR     *types.CustomBool `json:"rombar,omitempty"  url:"rombar,omitempty,int"`
	ROMFile    *string           `json:"romfile,omitempty" url:"romfile,omitempty"`
	XVGA       *types.CustomBool `json:"x-vga,omitempty"   url:"x-vga,omitempty,int"`
}

CustomPCIDevice handles QEMU host PCI device mapping parameters.

func (CustomPCIDevice) EncodeValues

func (r CustomPCIDevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomPCIDevice struct to a URL vlaue.

func (*CustomPCIDevice) UnmarshalJSON

func (r *CustomPCIDevice) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomPCIDevice string to an object.

type CustomPCIDevices

type CustomPCIDevices []CustomPCIDevice

CustomPCIDevices handles QEMU host PCI device mapping parameters.

func (CustomPCIDevices) EncodeValues

func (r CustomPCIDevices) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomPCIDevices array to multiple URL values.

type CustomSMBIOS

type CustomSMBIOS struct {
	Base64       *types.CustomBool `json:"base64,omitempty"       url:"base64,omitempty"`
	Family       *string           `json:"family,omitempty"       url:"family,omitempty"`
	Manufacturer *string           `json:"manufacturer,omitempty" url:"manufacturer,omitempty"`
	Product      *string           `json:"product,omitempty"      url:"product,omitempty"`
	Serial       *string           `json:"serial,omitempty"       url:"serial,omitempty"`
	SKU          *string           `json:"sku,omitempty"          url:"sku,omitempty"`
	UUID         *string           `json:"uuid,omitempty"         url:"uuid,omitempty"`
	Version      *string           `json:"version,omitempty"      url:"version,omitempty"`
}

CustomSMBIOS handles QEMU SMBIOS parameters.

func (CustomSMBIOS) EncodeValues

func (r CustomSMBIOS) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomSMBIOS struct to a URL vlaue.

func (*CustomSMBIOS) UnmarshalJSON

func (r *CustomSMBIOS) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomSMBIOS string to an object.

type CustomSerialDevices

type CustomSerialDevices []string

CustomSerialDevices handles QEMU serial device parameters.

func (CustomSerialDevices) EncodeValues

func (r CustomSerialDevices) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomSerialDevices array to multiple URL values.

type CustomSharedMemory

type CustomSharedMemory struct {
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	Size int     `json:"size"           url:"size"`
}

CustomSharedMemory handles QEMU Inter-VM shared memory parameters.

func (CustomSharedMemory) EncodeValues

func (r CustomSharedMemory) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomSharedMemory struct to a URL vlaue.

func (*CustomSharedMemory) UnmarshalJSON

func (r *CustomSharedMemory) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomSharedMemory string to an object.

type CustomSpiceEnhancements

type CustomSpiceEnhancements struct {
	FolderSharing  *types.CustomBool `json:"foldersharing,omitempty"  url:"foldersharing,omitempty"`
	VideoStreaming *string           `json:"videostreaming,omitempty" url:"videostreaming,omitempty"`
}

CustomSpiceEnhancements handles QEMU spice enhancement parameters.

func (CustomSpiceEnhancements) EncodeValues

func (r CustomSpiceEnhancements) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomSpiceEnhancements struct to a URL vlaue.

type CustomStartupOrder

type CustomStartupOrder struct {
	Down  *int `json:"down,omitempty"  url:"down,omitempty"`
	Order *int `json:"order,omitempty" url:"order,omitempty"`
	Up    *int `json:"up,omitempty"    url:"up,omitempty"`
}

CustomStartupOrder handles QEMU startup order parameters.

func (CustomStartupOrder) EncodeValues

func (r CustomStartupOrder) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomStartupOrder struct to a URL vlaue.

type CustomStorageDevice

type CustomStorageDevice struct {
	AIO                     *string           `json:"aio,omitempty"         url:"aio,omitempty"`
	BackupEnabled           *types.CustomBool `json:"backup,omitempty"      url:"backup,omitempty,int"`
	BurstableReadSpeedMbps  *int              `json:"mbps_rd_max,omitempty" url:"mbps_rd_max,omitempty"`
	BurstableWriteSpeedMbps *int              `json:"mbps_wr_max,omitempty" url:"mbps_wr_max,omitempty"`
	Discard                 *string           `json:"discard,omitempty"     url:"discard,omitempty"`
	Enabled                 bool              `json:"-"                     url:"-"`
	FileVolume              string            `json:"file"                  url:"file"`
	Format                  *string           `json:"format,omitempty"      url:"format,omitempty"`
	IOThread                *types.CustomBool `json:"iothread,omitempty"    url:"iothread,omitempty,int"`
	SSD                     *types.CustomBool `json:"ssd,omitempty"         url:"ssd,omitempty,int"`
	MaxReadSpeedMbps        *int              `json:"mbps_rd,omitempty"     url:"mbps_rd,omitempty"`
	MaxWriteSpeedMbps       *int              `json:"mbps_wr,omitempty"     url:"mbps_wr,omitempty"`
	Media                   *string           `json:"media,omitempty"       url:"media,omitempty"`
	Size                    *types.DiskSize   `json:"size,omitempty"        url:"size,omitempty"`
	Interface               *string
	ID                      *string
	FileID                  *string
	SizeInt                 *int
}

CustomStorageDevice handles QEMU SATA device parameters.

func (CustomStorageDevice) EncodeValues

func (r CustomStorageDevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomStorageDevice struct to a URL vlaue.

func (*CustomStorageDevice) UnmarshalJSON

func (r *CustomStorageDevice) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomStorageDevice string to an object.

type CustomStorageDevices

type CustomStorageDevices map[string]CustomStorageDevice

CustomStorageDevices handles QEMU SATA device parameters.

func (CustomStorageDevices) EncodeValues

func (r CustomStorageDevices) EncodeValues(_ string, v *url.Values) error

EncodeValues converts a CustomStorageDevices array to multiple URL values.

type CustomUSBDevice

type CustomUSBDevice struct {
	HostDevice string            `json:"host"           url:"host"`
	USB3       *types.CustomBool `json:"usb3,omitempty" url:"usb3,omitempty,int"`
}

CustomUSBDevice handles QEMU USB device parameters.

func (CustomUSBDevice) EncodeValues

func (r CustomUSBDevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomUSBDevice struct to a URL vlaue.

type CustomUSBDevices

type CustomUSBDevices []CustomUSBDevice

CustomUSBDevices handles QEMU USB device parameters.

func (CustomUSBDevices) EncodeValues

func (r CustomUSBDevices) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomUSBDevices array to multiple URL values.

type CustomVGADevice

type CustomVGADevice struct {
	Memory *int    `json:"memory,omitempty" url:"memory,omitempty"`
	Type   *string `json:"type,omitempty"   url:"type,omitempty"`
}

CustomVGADevice handles QEMU VGA device parameters.

func (CustomVGADevice) EncodeValues

func (r CustomVGADevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomVGADevice struct to a URL vlaue.

func (*CustomVGADevice) UnmarshalJSON

func (r *CustomVGADevice) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomVGADevice string to an object.

type CustomVirtualIODevice

type CustomVirtualIODevice struct {
	AIO           *string           `json:"aio,omitempty"    url:"aio,omitempty"`
	BackupEnabled *types.CustomBool `json:"backup,omitempty" url:"backup,omitempty,int"`
	Enabled       bool              `json:"-"                url:"-"`
	FileVolume    string            `json:"file"             url:"file"`
}

CustomVirtualIODevice handles QEMU VirtIO device parameters.

func (CustomVirtualIODevice) EncodeValues

func (r CustomVirtualIODevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomVirtualIODevice struct to a URL vlaue.

type CustomVirtualIODevices

type CustomVirtualIODevices []CustomVirtualIODevice

CustomVirtualIODevices handles QEMU VirtIO device parameters.

func (CustomVirtualIODevices) EncodeValues

func (r CustomVirtualIODevices) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomVirtualIODevices array to multiple URL values.

type CustomWatchdogDevice

type CustomWatchdogDevice struct {
	Action *string `json:"action,omitempty" url:"action,omitempty"`
	Model  *string `json:"model"            url:"model"`
}

CustomWatchdogDevice handles QEMU watchdog device parameters.

func (CustomWatchdogDevice) EncodeValues

func (r CustomWatchdogDevice) EncodeValues(key string, v *url.Values) error

EncodeValues converts a CustomWatchdogDevice struct to a URL vlaue.

func (*CustomWatchdogDevice) UnmarshalJSON

func (r *CustomWatchdogDevice) UnmarshalJSON(b []byte) error

UnmarshalJSON converts a CustomWatchdogDevice string to an object.

type GetQEMUNetworkInterfacesResponseBody

type GetQEMUNetworkInterfacesResponseBody struct {
	Data *GetQEMUNetworkInterfacesResponseData `json:"data,omitempty"`
}

GetQEMUNetworkInterfacesResponseBody contains the body from a QEMU get network interfaces response.

type GetQEMUNetworkInterfacesResponseData

type GetQEMUNetworkInterfacesResponseData struct {
	Result *[]GetQEMUNetworkInterfacesResponseResult `json:"result,omitempty"`
}

GetQEMUNetworkInterfacesResponseData contains the data from a QEMU get network interfaces response.

type GetQEMUNetworkInterfacesResponseResult

type GetQEMUNetworkInterfacesResponseResult struct {
	MACAddress  string                                             `json:"hardware-address"`
	Name        string                                             `json:"name"`
	Statistics  *GetQEMUNetworkInterfacesResponseResultStatistics  `json:"statistics,omitempty"`
	IPAddresses *[]GetQEMUNetworkInterfacesResponseResultIPAddress `json:"ip-addresses,omitempty"`
}

GetQEMUNetworkInterfacesResponseResult contains the result from a QEMU get network interfaces response.

type GetQEMUNetworkInterfacesResponseResultIPAddress

type GetQEMUNetworkInterfacesResponseResultIPAddress struct {
	Address string `json:"ip-address"`
	Prefix  int    `json:"prefix"`
	Type    string `json:"ip-address-type"`
}

GetQEMUNetworkInterfacesResponseResultIPAddress contains the IP address from a QEMU get network interfaces response.

type GetQEMUNetworkInterfacesResponseResultStatistics

type GetQEMUNetworkInterfacesResponseResultStatistics struct {
	RXBytes   int `json:"rx-bytes"`
	RXDropped int `json:"rx-dropped"`
	RXErrors  int `json:"rx-errs"`
	RXPackets int `json:"rx-packets"`
	TXBytes   int `json:"tx-bytes"`
	TXDropped int `json:"tx-dropped"`
	TXErrors  int `json:"tx-errs"`
	TXPackets int `json:"tx-packets"`
}

GetQEMUNetworkInterfacesResponseResultStatistics contains the statistics from a QEMU get network interfaces response.

type GetResponseBody

type GetResponseBody struct {
	Data *GetResponseData `json:"data,omitempty"`
}

GetResponseBody contains the body from a virtual machine get response.

type GetResponseData

type GetResponseData struct {
	ACPI                 *types.CustomBool               `json:"acpi,omitempty"`
	Agent                *CustomAgent                    `json:"agent,omitempty"`
	AllowReboot          *types.CustomBool               `json:"reboot,omitempty"`
	AudioDevice          *CustomAudioDevice              `json:"audio0,omitempty"`
	Autostart            *types.CustomBool               `json:"autostart,omitempty"`
	BackupFile           *string                         `json:"archive,omitempty"`
	BandwidthLimit       *int                            `json:"bwlimit,omitempty"`
	BIOS                 *string                         `json:"bios,omitempty"`
	BootDisk             *string                         `json:"bootdisk,omitempty"`
	BootOrder            *string                         `json:"boot,omitempty"`
	CDROM                *string                         `json:"cdrom,omitempty"`
	CloudInitDNSDomain   *string                         `json:"searchdomain,omitempty"`
	CloudInitDNSServer   *string                         `json:"nameserver,omitempty"`
	CloudInitFiles       *CustomCloudInitFiles           `json:"cicustom,omitempty"`
	CloudInitPassword    *string                         `json:"cipassword,omitempty"`
	CloudInitSSHKeys     *CustomCloudInitSSHKeys         `json:"sshkeys,omitempty"`
	CloudInitType        *string                         `json:"citype,omitempty"`
	CloudInitUsername    *string                         `json:"ciuser,omitempty"`
	CPUArchitecture      *string                         `json:"arch,omitempty"`
	CPUCores             *int                            `json:"cores,omitempty"`
	CPUEmulation         *CustomCPUEmulation             `json:"cpu,omitempty"`
	CPULimit             *int                            `json:"cpulimit,omitempty"`
	CPUSockets           *int                            `json:"sockets,omitempty"`
	CPUUnits             *int                            `json:"cpuunits,omitempty"`
	DedicatedMemory      *int                            `json:"memory,omitempty"`
	DeletionProtection   *types.CustomBool               `json:"protection,omitempty"`
	Description          *string                         `json:"description,omitempty"`
	EFIDisk              *CustomEFIDisk                  `json:"efidisk0,omitempty"`
	FloatingMemory       *int                            `json:"balloon,omitempty"`
	FloatingMemoryShares *int                            `json:"shares,omitempty"`
	Freeze               *types.CustomBool               `json:"freeze,omitempty"`
	HookScript           *string                         `json:"hookscript,omitempty"`
	Hotplug              *types.CustomCommaSeparatedList `json:"hotplug,omitempty"`
	Hugepages            *string                         `json:"hugepages,omitempty"`
	IDEDevice0           *CustomStorageDevice            `json:"ide0,omitempty"`
	IDEDevice1           *CustomStorageDevice            `json:"ide1,omitempty"`
	IDEDevice2           *CustomStorageDevice            `json:"ide2,omitempty"`
	IDEDevice3           *CustomStorageDevice            `json:"ide3,omitempty"`
	IPConfig0            *CustomCloudInitIPConfig        `json:"ipconfig0,omitempty"`
	IPConfig1            *CustomCloudInitIPConfig        `json:"ipconfig1,omitempty"`
	IPConfig2            *CustomCloudInitIPConfig        `json:"ipconfig2,omitempty"`
	IPConfig3            *CustomCloudInitIPConfig        `json:"ipconfig3,omitempty"`
	IPConfig4            *CustomCloudInitIPConfig        `json:"ipconfig4,omitempty"`
	IPConfig5            *CustomCloudInitIPConfig        `json:"ipconfig5,omitempty"`
	IPConfig6            *CustomCloudInitIPConfig        `json:"ipconfig6,omitempty"`
	IPConfig7            *CustomCloudInitIPConfig        `json:"ipconfig7,omitempty"`
	KeyboardLayout       *string                         `json:"keyboard,omitempty"`
	KVMArguments         *string                         `json:"args,omitempty"`
	KVMEnabled           *types.CustomBool               `json:"kvm,omitempty"`
	LocalTime            *types.CustomBool               `json:"localtime,omitempty"`
	Lock                 *string                         `json:"lock,omitempty"`
	Machine              *string                         `json:"machine,omitempty"`
	MigrateDowntime      *float64                        `json:"migrate_downtime,omitempty"`
	MigrateSpeed         *int                            `json:"migrate_speed,omitempty"`
	Name                 *string                         `json:"name,omitempty"`
	NetworkDevice0       *CustomNetworkDevice            `json:"net0,omitempty"`
	NetworkDevice1       *CustomNetworkDevice            `json:"net1,omitempty"`
	NetworkDevice2       *CustomNetworkDevice            `json:"net2,omitempty"`
	NetworkDevice3       *CustomNetworkDevice            `json:"net3,omitempty"`
	NetworkDevice4       *CustomNetworkDevice            `json:"net4,omitempty"`
	NetworkDevice5       *CustomNetworkDevice            `json:"net5,omitempty"`
	NetworkDevice6       *CustomNetworkDevice            `json:"net6,omitempty"`
	NetworkDevice7       *CustomNetworkDevice            `json:"net7,omitempty"`
	NUMADevices          *CustomNUMADevices              `json:"numa_devices,omitempty"`
	NUMAEnabled          *types.CustomBool               `json:"numa,omitempty"`
	OSType               *string                         `json:"ostype,omitempty"`
	Overwrite            *types.CustomBool               `json:"force,omitempty"`
	PCIDevice0           *CustomPCIDevice                `json:"hostpci0,omitempty"`
	PCIDevice1           *CustomPCIDevice                `json:"hostpci1,omitempty"`
	PCIDevice2           *CustomPCIDevice                `json:"hostpci2,omitempty"`
	PCIDevice3           *CustomPCIDevice                `json:"hostpci3,omitempty"`
	PoolID               *string                         `json:"pool,omitempty"               url:"pool,omitempty"`
	Revert               *string                         `json:"revert,omitempty"`
	SATADevice0          *CustomStorageDevice            `json:"sata0,omitempty"`
	SATADevice1          *CustomStorageDevice            `json:"sata1,omitempty"`
	SATADevice2          *CustomStorageDevice            `json:"sata2,omitempty"`
	SATADevice3          *CustomStorageDevice            `json:"sata3,omitempty"`
	SATADevice4          *CustomStorageDevice            `json:"sata4,omitempty"`
	SATADevice5          *CustomStorageDevice            `json:"sata5,omitempty"`
	SCSIDevice0          *CustomStorageDevice            `json:"scsi0,omitempty"`
	SCSIDevice1          *CustomStorageDevice            `json:"scsi1,omitempty"`
	SCSIDevice2          *CustomStorageDevice            `json:"scsi2,omitempty"`
	SCSIDevice3          *CustomStorageDevice            `json:"scsi3,omitempty"`
	SCSIDevice4          *CustomStorageDevice            `json:"scsi4,omitempty"`
	SCSIDevice5          *CustomStorageDevice            `json:"scsi5,omitempty"`
	SCSIDevice6          *CustomStorageDevice            `json:"scsi6,omitempty"`
	SCSIDevice7          *CustomStorageDevice            `json:"scsi7,omitempty"`
	SCSIDevice8          *CustomStorageDevice            `json:"scsi8,omitempty"`
	SCSIDevice9          *CustomStorageDevice            `json:"scsi9,omitempty"`
	SCSIDevice10         *CustomStorageDevice            `json:"scsi10,omitempty"`
	SCSIDevice11         *CustomStorageDevice            `json:"scsi11,omitempty"`
	SCSIDevice12         *CustomStorageDevice            `json:"scsi12,omitempty"`
	SCSIDevice13         *CustomStorageDevice            `json:"scsi13,omitempty"`
	SCSIHardware         *string                         `json:"scsihw,omitempty"`
	SerialDevice0        *string                         `json:"serial0,omitempty"`
	SerialDevice1        *string                         `json:"serial1,omitempty"`
	SerialDevice2        *string                         `json:"serial2,omitempty"`
	SerialDevice3        *string                         `json:"serial3,omitempty"`
	SharedMemory         *CustomSharedMemory             `json:"ivshmem,omitempty"`
	SkipLock             *types.CustomBool               `json:"skiplock,omitempty"`
	SMBIOS               *CustomSMBIOS                   `json:"smbios1,omitempty"`
	SpiceEnhancements    *CustomSpiceEnhancements        `json:"spice_enhancements,omitempty"`
	StartDate            *string                         `json:"startdate,omitempty"`
	StartOnBoot          *types.CustomBool               `json:"onboot,omitempty"`
	StartupOrder         *CustomStartupOrder             `json:"startup,omitempty"`
	TabletDeviceEnabled  *types.CustomBool               `json:"tablet,omitempty"`
	Tags                 *string                         `json:"tags,omitempty"`
	Template             *types.CustomBool               `json:"template,omitempty"`
	TimeDriftFixEnabled  *types.CustomBool               `json:"tdf,omitempty"`
	USBDevices           *CustomUSBDevices               `json:"usb,omitempty"`
	VGADevice            *CustomVGADevice                `json:"vga,omitempty"`
	VirtualCPUCount      *int                            `json:"vcpus,omitempty"`
	VirtualIODevice0     *CustomStorageDevice            `json:"virtio0,omitempty"`
	VirtualIODevice1     *CustomStorageDevice            `json:"virtio1,omitempty"`
	VirtualIODevice2     *CustomStorageDevice            `json:"virtio2,omitempty"`
	VirtualIODevice3     *CustomStorageDevice            `json:"virtio3,omitempty"`
	VirtualIODevice4     *CustomStorageDevice            `json:"virtio4,omitempty"`
	VirtualIODevice5     *CustomStorageDevice            `json:"virtio5,omitempty"`
	VirtualIODevice6     *CustomStorageDevice            `json:"virtio6,omitempty"`
	VirtualIODevice7     *CustomStorageDevice            `json:"virtio7,omitempty"`
	VirtualIODevice8     *CustomStorageDevice            `json:"virtio8,omitempty"`
	VirtualIODevice9     *CustomStorageDevice            `json:"virtio9,omitempty"`
	VirtualIODevice10    *CustomStorageDevice            `json:"virtio10,omitempty"`
	VirtualIODevice11    *CustomStorageDevice            `json:"virtio11,omitempty"`
	VirtualIODevice12    *CustomStorageDevice            `json:"virtio12,omitempty"`
	VirtualIODevice13    *CustomStorageDevice            `json:"virtio13,omitempty"`
	VirtualIODevice14    *CustomStorageDevice            `json:"virtio14,omitempty"`
	VirtualIODevice15    *CustomStorageDevice            `json:"virtio15,omitempty"`
	VMGenerationID       *string                         `json:"vmgenid,omitempty"`
	VMStateDatastoreID   *string                         `json:"vmstatestorage,omitempty"`
	WatchdogDevice       *CustomWatchdogDevice           `json:"watchdog,omitempty"`
}

GetResponseData contains the data from an virtual machine get response.

type GetStatusResponseBody

type GetStatusResponseBody struct {
	Data *GetStatusResponseData `json:"data,omitempty"`
}

GetStatusResponseBody contains the body from a VM get status response.

type GetStatusResponseData

type GetStatusResponseData struct {
	AgentEnabled     *types.CustomBool `json:"agent,omitempty"`
	CPUCount         *float64          `json:"cpus,omitempty"`
	Lock             *string           `json:"lock,omitempty"`
	MemoryAllocation *int              `json:"maxmem,omitempty"`
	Name             *string           `json:"name,omitempty"`
	PID              *int              `json:"pid,omitempty"`
	QMPStatus        *string           `json:"qmpstatus,omitempty"`
	RootDiskSize     *int              `json:"maxdisk,omitempty"`
	SpiceSupport     *types.CustomBool `json:"spice,omitempty"`
	Status           string            `json:"status,omitempty"`
	Tags             *string           `json:"tags,omitempty"`
	Uptime           *int              `json:"uptime,omitempty"`
	VMID             *int              `json:"vmid,omitempty"`
}

GetStatusResponseData contains the data from a VM get status response.

type ListResponseBody

type ListResponseBody struct {
	Data []*ListResponseData `json:"data,omitempty"`
}

ListResponseBody contains the body from a virtual machine list response.

type ListResponseData

type ListResponseData struct {
	Name *string `json:"name,omitempty"`
	Tags *string `json:"tags,omitempty"`
	VMID int     `json:"vmid,omitempty"`
}

ListResponseData contains the data from an virtual machine list response.

type MigrateRequestBody

type MigrateRequestBody struct {
	OnlineMigration *types.CustomBool `json:"online,omitempty"           url:"online,omitempty"`
	TargetNode      string            `json:"target"                     url:"target"`
	TargetStorage   *string           `json:"targetstorage,omitempty"    url:"targetstorage,omitempty"`
	WithLocalDisks  *types.CustomBool `json:"with-local-disks,omitempty" url:"with-local-disks,omitempty,int"`
}

MigrateRequestBody contains the body for a VM migration request.

type MigrateResponseBody

type MigrateResponseBody struct {
	Data *string `json:"data,omitempty"`
}

MigrateResponseBody contains the body from a VM migrate response.

type MoveDiskRequestBody

type MoveDiskRequestBody struct {
	BandwidthLimit      *int              `json:"bwlimit,omitempty" url:"bwlimit,omitempty"`
	DeleteOriginalDisk  *types.CustomBool `json:"delete,omitempty"  url:"delete,omitempty,int"`
	Digest              *string           `json:"digest,omitempty"  url:"digest,omitempty"`
	Disk                string            `json:"disk"              url:"disk"`
	TargetStorage       string            `json:"storage"           url:"storage"`
	TargetStorageFormat *string           `json:"format,omitempty"  url:"format,omitempty"`
}

MoveDiskRequestBody contains the body for a VM move disk request.

type MoveDiskResponseBody

type MoveDiskResponseBody struct {
	Data *string `json:"data,omitempty"`
}

MoveDiskResponseBody contains the body from a VM move disk response.

type RebootRequestBody

type RebootRequestBody struct {
	Timeout *int `json:"timeout,omitempty" url:"timeout,omitempty"`
}

RebootRequestBody contains the body for a VM reboot request.

type RebootResponseBody

type RebootResponseBody struct {
	Data *string `json:"data,omitempty"`
}

RebootResponseBody contains the body from a VM reboot response.

type ResizeDiskRequestBody

type ResizeDiskRequestBody struct {
	Digest   *string           `json:"digest,omitempty"   url:"digest,omitempty"`
	Disk     string            `json:"disk"               url:"disk"`
	Size     types.DiskSize    `json:"size"               url:"size"`
	SkipLock *types.CustomBool `json:"skiplock,omitempty" url:"skiplock,omitempty,int"`
}

ResizeDiskRequestBody contains the body for a VM resize disk request.

type ShutdownRequestBody

type ShutdownRequestBody struct {
	ForceStop  *types.CustomBool `json:"forceStop,omitempty"  url:"forceStop,omitempty,int"`
	KeepActive *types.CustomBool `json:"keepActive,omitempty" url:"keepActive,omitempty,int"`
	SkipLock   *types.CustomBool `json:"skipLock,omitempty"   url:"skipLock,omitempty,int"`
	Timeout    *int              `json:"timeout,omitempty"    url:"timeout,omitempty"`
}

ShutdownRequestBody contains the body for a VM shutdown request.

type ShutdownResponseBody

type ShutdownResponseBody struct {
	Data *string `json:"data,omitempty"`
}

ShutdownResponseBody contains the body from a VM shutdown response.

type StartResponseBody

type StartResponseBody struct {
	Data *string `json:"data,omitempty"`
}

StartResponseBody contains the body from a VM start response.

type StopResponseBody

type StopResponseBody struct {
	Data *string `json:"data,omitempty"`
}

StopResponseBody contains the body from a VM stop response.

type UpdateAsyncResponseBody

type UpdateAsyncResponseBody struct {
	Data *string `json:"data,omitempty"`
}

UpdateAsyncResponseBody contains the body from a VM async update response.

type UpdateRequestBody

type UpdateRequestBody CreateRequestBody

UpdateRequestBody contains the data for an virtual machine update request.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL