status

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MigrationType_SECURE   MigrationType = "secure"
	MigrationType_INSECURE MigrationType = "insecure"

	Status_STOPPED Status = "stopped"
	Status_RUNNING Status = "running"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func New

func New(c HTTPClient) *Client

func (*Client) Index

func (c *Client) Index(ctx context.Context, req IndexRequest) ([]IndexResponse, error)

Index Directory index

func (*Client) VmReboot

func (c *Client) VmReboot(ctx context.Context, req VmRebootRequest) (string, error)

VmReboot Reboot the VM by shutting it down, and starting it again. Applies pending changes.

func (*Client) VmReset

func (c *Client) VmReset(ctx context.Context, req VmResetRequest) (string, error)

VmReset Reset virtual machine.

func (*Client) VmResume

func (c *Client) VmResume(ctx context.Context, req VmResumeRequest) (string, error)

VmResume Resume virtual machine.

func (*Client) VmShutdown

func (c *Client) VmShutdown(ctx context.Context, req VmShutdownRequest) (string, error)

VmShutdown Shutdown virtual machine. This is similar to pressing the power button on a physical machine.This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.

func (*Client) VmStart

func (c *Client) VmStart(ctx context.Context, req VmStartRequest) (string, error)

VmStart Start virtual machine.

func (*Client) VmStatusCurrent

VmStatusCurrent Get virtual machine status.

func (*Client) VmStop

func (c *Client) VmStop(ctx context.Context, req VmStopRequest) (string, error)

VmStop Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data

func (*Client) VmSuspend

func (c *Client) VmSuspend(ctx context.Context, req VmSuspendRequest) (string, error)

VmSuspend Suspend virtual machine.

type HTTPClient

type HTTPClient interface {
	Do(context.Context, string, string, interface{}, interface{}) error
}

type IndexRequest

type IndexRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

}

type IndexResponse

type IndexResponse struct {
	Subdir string `url:"subdir" json:"subdir"`
}

type MigrationType added in v0.0.15

type MigrationType string

func PtrMigrationType added in v0.0.15

func PtrMigrationType(i MigrationType) *MigrationType

type Status added in v0.0.15

type Status string

func PtrStatus added in v0.0.15

func PtrStatus(i Status) *Status

type VmRebootRequest

type VmRebootRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

	// The following parameters are optional
	Timeout *int `url:"timeout,omitempty" json:"timeout,omitempty"` // Wait maximal timeout seconds for the shutdown.
}

type VmResetRequest

type VmResetRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

	// The following parameters are optional
	Skiplock *util.PVEBool `url:"skiplock,omitempty" json:"skiplock,omitempty"` // Ignore locks - only root is allowed to use this option.
}

type VmResumeRequest

type VmResumeRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

	// The following parameters are optional
	Nocheck  *util.PVEBool `url:"nocheck,omitempty" json:"nocheck,omitempty"`
	Skiplock *util.PVEBool `url:"skiplock,omitempty" json:"skiplock,omitempty"` // Ignore locks - only root is allowed to use this option.
}

type VmShutdownRequest

type VmShutdownRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

	// The following parameters are optional
	Forcestop  *util.PVEBool `url:"forceStop,omitempty" json:"forceStop,omitempty"`   // Make sure the VM stops.
	Keepactive *util.PVEBool `url:"keepActive,omitempty" json:"keepActive,omitempty"` // Do not deactivate storage volumes.
	Skiplock   *util.PVEBool `url:"skiplock,omitempty" json:"skiplock,omitempty"`     // Ignore locks - only root is allowed to use this option.
	Timeout    *int          `url:"timeout,omitempty" json:"timeout,omitempty"`       // Wait maximal timeout seconds.
}

type VmStartRequest

type VmStartRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

	// The following parameters are optional
	ForceCpu         *string        `url:"force-cpu,omitempty" json:"force-cpu,omitempty"`                 // Override QEMU's -cpu argument with the given string.
	Machine          *string        `url:"machine,omitempty" json:"machine,omitempty"`                     // Specifies the QEMU machine type.
	Migratedfrom     *string        `url:"migratedfrom,omitempty" json:"migratedfrom,omitempty"`           // The cluster node name.
	MigrationNetwork *string        `url:"migration_network,omitempty" json:"migration_network,omitempty"` // CIDR of the (sub) network that is used for migration.
	MigrationType    *MigrationType `url:"migration_type,omitempty" json:"migration_type,omitempty"`       // Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.
	Skiplock         *util.PVEBool  `url:"skiplock,omitempty" json:"skiplock,omitempty"`                   // Ignore locks - only root is allowed to use this option.
	Stateuri         *string        `url:"stateuri,omitempty" json:"stateuri,omitempty"`                   // Some command save/restore state from this location.
	Targetstorage    *string        `url:"targetstorage,omitempty" json:"targetstorage,omitempty"`         // Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.
	Timeout          *int           `url:"timeout,omitempty" json:"timeout,omitempty"`                     // Wait maximal timeout seconds.
}

type VmStatusCurrentRequest

type VmStatusCurrentRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

}

type VmStatusCurrentResponse

type VmStatusCurrentResponse struct {
	Ha     map[string]interface{} `url:"ha" json:"ha"`         // HA manager service status.
	Status Status                 `url:"status" json:"status"` // QEMU process status.
	Vmid   int                    `url:"vmid" json:"vmid"`     // The (unique) ID of the VM.

	// The following parameters are optional
	Agent          *util.PVEBool `url:"agent,omitempty" json:"agent,omitempty"`                     // QEMU Guest Agent is enabled in config.
	Cpus           *float64      `url:"cpus,omitempty" json:"cpus,omitempty"`                       // Maximum usable CPUs.
	Lock           *string       `url:"lock,omitempty" json:"lock,omitempty"`                       // The current config lock, if any.
	Maxdisk        *int          `url:"maxdisk,omitempty" json:"maxdisk,omitempty"`                 // Root disk size in bytes.
	Maxmem         *int          `url:"maxmem,omitempty" json:"maxmem,omitempty"`                   // Maximum memory in bytes.
	Name           *string       `url:"name,omitempty" json:"name,omitempty"`                       // VM name.
	Pid            *int          `url:"pid,omitempty" json:"pid,omitempty"`                         // PID of running qemu process.
	Qmpstatus      *string       `url:"qmpstatus,omitempty" json:"qmpstatus,omitempty"`             // QEMU QMP agent status.
	RunningMachine *string       `url:"running-machine,omitempty" json:"running-machine,omitempty"` // The currently running machine type (if running).
	RunningQemu    *string       `url:"running-qemu,omitempty" json:"running-qemu,omitempty"`       // The currently running QEMU version (if running).
	Spice          *util.PVEBool `url:"spice,omitempty" json:"spice,omitempty"`                     // QEMU VGA configuration supports spice.
	Tags           *string       `url:"tags,omitempty" json:"tags,omitempty"`                       // The current configured tags, if any
	Uptime         *int          `url:"uptime,omitempty" json:"uptime,omitempty"`                   // Uptime.
}

type VmStopRequest

type VmStopRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

	// The following parameters are optional
	Keepactive   *util.PVEBool `url:"keepActive,omitempty" json:"keepActive,omitempty"`     // Do not deactivate storage volumes.
	Migratedfrom *string       `url:"migratedfrom,omitempty" json:"migratedfrom,omitempty"` // The cluster node name.
	Skiplock     *util.PVEBool `url:"skiplock,omitempty" json:"skiplock,omitempty"`         // Ignore locks - only root is allowed to use this option.
	Timeout      *int          `url:"timeout,omitempty" json:"timeout,omitempty"`           // Wait maximal timeout seconds.
}

type VmSuspendRequest

type VmSuspendRequest struct {
	Node string `url:"node" json:"node"` // The cluster node name.
	Vmid int    `url:"vmid" json:"vmid"` // The (unique) ID of the VM.

	// The following parameters are optional
	Skiplock     *util.PVEBool `url:"skiplock,omitempty" json:"skiplock,omitempty"`         // Ignore locks - only root is allowed to use this option.
	Statestorage *string       `url:"statestorage,omitempty" json:"statestorage,omitempty"` // The storage for the VM state
	Todisk       *util.PVEBool `url:"todisk,omitempty" json:"todisk,omitempty"`             // If set, suspends the VM to disk. Will be resumed on next VM start.
}

Jump to

Keyboard shortcuts

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