virtpb

package module
v0.2.30 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2025 License: GPL-3.0 Imports: 24 Imported by: 8

README

This go library handles the protobuf files and various functions for virtigo.

You must build the protobuf files using autogenpb

go install go.wit.com/apps/autogenpb@latest

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DropletState_name = map[int32]string{
		0: "ON",
		1: "OFF",
		2: "UNKNOWN",
		3: "PAUSED",
		4: "CRASHED",
		5: "INMIGRATE",
	}
	DropletState_value = map[string]int32{
		"ON":        0,
		"OFF":       1,
		"UNKNOWN":   2,
		"PAUSED":    3,
		"CRASHED":   4,
		"INMIGRATE": 5,
	}
)

Enum value maps for DropletState.

View Source
var (
	DropletArchive_name = map[int32]string{
		0: "DUP",
		1: "USER",
	}
	DropletArchive_value = map[string]int32{
		"DUP":  0,
		"USER": 1,
	}
)

Enum value maps for DropletArchive.

View Source
var (
	EventType_name = map[int32]string{
		0:  "ADD",
		1:  "DELETE",
		2:  "POWERON",
		3:  "POWEROFF",
		4:  "HIBERNATE",
		5:  "MIGRATE",
		6:  "DEMO",
		7:  "GET",
		8:  "LOGIN",
		9:  "OK",
		10: "FAIL",
		11: "CRASH",
		12: "CHANGE",
	}
	EventType_value = map[string]int32{
		"ADD":       0,
		"DELETE":    1,
		"POWERON":   2,
		"POWEROFF":  3,
		"HIBERNATE": 4,
		"MIGRATE":   5,
		"DEMO":      6,
		"GET":       7,
		"LOGIN":     8,
		"OK":        9,
		"FAIL":      10,
		"CRASH":     11,
		"CHANGE":    12,
	}
)

Enum value maps for EventType.

View Source
var (
	HypervisorArch_name = map[int32]string{
		0: "RISCV64",
		1: "X86_64",
		2: "ARM64",
	}
	HypervisorArch_value = map[string]int32{
		"RISCV64": 0,
		"X86_64":  1,
		"ARM64":   2,
	}
)

Enum value maps for HypervisorArch.

View Source
var File_droplet_proto protoreflect.FileDescriptor
View Source
var File_event_proto protoreflect.FileDescriptor
View Source
var File_hypervisor_proto protoreflect.FileDescriptor

Functions

func ConfigWriteJSON

func ConfigWriteJSON(a any, filename string) error

func ConfigWriteTEXT

func ConfigWriteTEXT(a any, filename string) error

func FormatDuration added in v0.2.1

func FormatDuration(d time.Duration) string

func HumanFormatBytes

func HumanFormatBytes(b int64) string

This isn't for the marketing department so this isn't going to use 'MiB' and 'GiB'

func SetGB

func SetGB(gb int) int64

can the json protobuf output use a string and have a type handler to convert it back to int64?

func SetMB

func SetMB(mb int) int64

Types

type Archive added in v0.2.23

type Archive struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Reason DropletArchive         `protobuf:"varint,1,opt,name=reason,proto3,enum=virtpb.DropletArchive" json:"reason,omitempty"` // why the droplet was archived
	When   *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=when,proto3" json:"when,omitempty"`                                 // when it was archived
	// contains filtered or unexported fields
}

func (*Archive) Descriptor deprecated added in v0.2.23

func (*Archive) Descriptor() ([]byte, []int)

Deprecated: Use Archive.ProtoReflect.Descriptor instead.

func (*Archive) GetReason added in v0.2.23

func (x *Archive) GetReason() DropletArchive

func (*Archive) GetWhen added in v0.2.23

func (x *Archive) GetWhen() *timestamppb.Timestamp

func (*Archive) ProtoMessage added in v0.2.23

func (*Archive) ProtoMessage()

func (*Archive) ProtoReflect added in v0.2.23

func (x *Archive) ProtoReflect() protoreflect.Message

func (*Archive) Reset added in v0.2.23

func (x *Archive) Reset()

func (*Archive) String added in v0.2.23

func (x *Archive) String() string

type ArchiveIterator added in v0.2.23

type ArchiveIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*ArchiveIterator) Next added in v0.2.23

func (it *ArchiveIterator) Next() *Archive

Next() returns the next thing in the array

func (*ArchiveIterator) Scan added in v0.2.23

func (it *ArchiveIterator) Scan() bool

type Cluster added in v0.2.5

type Cluster struct {
	sync.RWMutex

	Dirs []string

	H *Hypervisors

	Unstable        *timestamppb.Timestamp
	UnstableTimeout *durationpb.Duration
	// contains filtered or unexported fields
}

func CreateSampleCluster added in v0.2.1

func CreateSampleCluster(total int) *Cluster

func InitCluster added in v0.2.1

func InitCluster() *Cluster

func (*Cluster) AddDroplet added in v0.2.5

func (c *Cluster) AddDroplet(newd *Droplet) bool

adds a new droplet. enforce unique hostnames

func (*Cluster) AddDropletLocal added in v0.2.5

func (c *Cluster) AddDropletLocal(name string, hypername string) *Droplet

This isn't for the marketing department

func (*Cluster) AddDropletSimple added in v0.2.5

func (c *Cluster) AddDropletSimple(uuid string, hostname string, cpus int, mem int) *Droplet

func (*Cluster) AddEvent added in v0.2.5

func (c *Cluster) AddEvent(e *Event)

func (*Cluster) AddHypervisor added in v0.2.5

func (c *Cluster) AddHypervisor(hostname string, cpus int, mem int) *Hypervisor

func (*Cluster) BlankFields added in v0.2.5

func (c *Cluster) BlankFields()

func (*Cluster) ChangeDropletState added in v0.2.5

func (c *Cluster) ChangeDropletState(d *Droplet, newState DropletState) error

records an event that the droplet changed state (aka turned on, turned off, etc)

func (*Cluster) ClusterStable added in v0.2.5

func (c *Cluster) ClusterStable() (bool, string)

func (*Cluster) ConfigLoad added in v0.2.5

func (c *Cluster) ConfigLoad() error

func (*Cluster) ConfigSave added in v0.2.5

func (c *Cluster) ConfigSave() error

writes out the cluster information it seperate files to make it humanly possible to hand edit things as needed

func (*Cluster) DropletMoved added in v0.2.5

func (c *Cluster) DropletMoved(d *Droplet, newh *Hypervisor) error

records an event that the droplet migrated to another hypervisor

func (*Cluster) DropletReady added in v0.2.5

func (c *Cluster) DropletReady(d *Droplet) (bool, string)

check the cluster and droplet to make sure it's ready to start

func (*Cluster) DropletsAll added in v0.2.5

func (c *Cluster) DropletsAll() *DropletIterator

func (*Cluster) DumpDroplet added in v0.2.5

func (c *Cluster) DumpDroplet(w http.ResponseWriter, r *http.Request) (string, error)

func (*Cluster) FindDropletByName added in v0.2.5

func (c *Cluster) FindDropletByName(name string) *Droplet

func (*Cluster) FindHypervisorByName added in v0.2.5

func (c *Cluster) FindHypervisorByName(name string) *Hypervisor

func (*Cluster) GetDropletsPB added in v0.2.22

func (c *Cluster) GetDropletsPB() *Droplets

func (*Cluster) GetEventsPB added in v0.2.24

func (c *Cluster) GetEventsPB() *Events

func (*Cluster) GetHypervisorsPB added in v0.2.30

func (c *Cluster) GetHypervisorsPB() *Hypervisors

type Current added in v0.2.23

type Current struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	State         DropletState           `protobuf:"varint,1,opt,name=state,proto3,enum=virtpb.DropletState" json:"state,omitempty"` // used to track the current state before taking any action
	Hypervisor    string                 `protobuf:"bytes,2,opt,name=hypervisor,proto3" json:"hypervisor,omitempty"`                 // the current hypervisor the droplet is running on
	StartAttempts int64                  `protobuf:"varint,3,opt,name=startAttempts,proto3" json:"startAttempts,omitempty"`          // how many times a start has been attempted
	FullXml       string                 `protobuf:"bytes,4,opt,name=fullXml,proto3" json:"fullXml,omitempty"`                       // the full libvirt xml to import
	LastPoll      *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=lastPoll,proto3" json:"lastPoll,omitempty"`                     // the last time we heard anything from this droplet
	ImageUrl      string                 `protobuf:"bytes,6,opt,name=imageUrl,proto3" json:"imageUrl,omitempty"`                     // url to the image
	OffSince      *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=offSince,proto3" json:"offSince,omitempty"`                     // when the droplet was turned off
	OnSince       *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=onSince,proto3" json:"onSince,omitempty"`                       // when the droplet was turned on
	// contains filtered or unexported fields
}

volatile data. the current settings and values of things. These are passed around while the cluster to monitor and control the systems but they are not saved to the config file

func (*Current) Descriptor deprecated added in v0.2.23

func (*Current) Descriptor() ([]byte, []int)

Deprecated: Use Current.ProtoReflect.Descriptor instead.

func (*Current) GetFullXml added in v0.2.23

func (x *Current) GetFullXml() string

func (*Current) GetHypervisor added in v0.2.23

func (x *Current) GetHypervisor() string

func (*Current) GetImageUrl added in v0.2.23

func (x *Current) GetImageUrl() string

func (*Current) GetLastPoll added in v0.2.23

func (x *Current) GetLastPoll() *timestamppb.Timestamp

func (*Current) GetOffSince added in v0.2.23

func (x *Current) GetOffSince() *timestamppb.Timestamp

func (*Current) GetOnSince added in v0.2.23

func (x *Current) GetOnSince() *timestamppb.Timestamp

func (*Current) GetStartAttempts added in v0.2.23

func (x *Current) GetStartAttempts() int64

func (*Current) GetState added in v0.2.23

func (x *Current) GetState() DropletState

func (*Current) ProtoMessage added in v0.2.23

func (*Current) ProtoMessage()

func (*Current) ProtoReflect added in v0.2.23

func (x *Current) ProtoReflect() protoreflect.Message

func (*Current) Reset added in v0.2.23

func (x *Current) Reset()

func (*Current) String added in v0.2.23

func (x *Current) String() string

type CurrentIterator added in v0.2.23

type CurrentIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*CurrentIterator) Next added in v0.2.23

func (it *CurrentIterator) Next() *Current

Next() returns the next thing in the array

func (*CurrentIterator) Scan added in v0.2.23

func (it *CurrentIterator) Scan() bool

type Disk added in v0.2.23

type Disk struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
	Filepath string `protobuf:"bytes,2,opt,name=filepath,proto3" json:"filepath,omitempty"`
	Size     int64  `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	QemuArch string `protobuf:"bytes,4,opt,name=qemuArch,proto3" json:"qemuArch,omitempty"` // what arch. example: "x86_64" or "riscv64"
	// contains filtered or unexported fields
}

func (*Disk) Descriptor deprecated added in v0.2.23

func (*Disk) Descriptor() ([]byte, []int)

Deprecated: Use Disk.ProtoReflect.Descriptor instead.

func (*Disk) GetFilename added in v0.2.23

func (x *Disk) GetFilename() string

func (*Disk) GetFilepath added in v0.2.23

func (x *Disk) GetFilepath() string

func (*Disk) GetQemuArch added in v0.2.23

func (x *Disk) GetQemuArch() string

func (*Disk) GetSize added in v0.2.23

func (x *Disk) GetSize() int64

func (*Disk) ProtoMessage added in v0.2.23

func (*Disk) ProtoMessage()

func (*Disk) ProtoReflect added in v0.2.23

func (x *Disk) ProtoReflect() protoreflect.Message

func (*Disk) Reset added in v0.2.23

func (x *Disk) Reset()

func (*Disk) String added in v0.2.23

func (x *Disk) String() string

type DiskIterator added in v0.2.23

type DiskIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*DiskIterator) Next added in v0.2.23

func (it *DiskIterator) Next() *Disk

Next() returns the next thing in the array

func (*DiskIterator) Scan added in v0.2.23

func (it *DiskIterator) Scan() bool

type Droplet added in v0.2.23

type Droplet struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Uuid                string                 `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`                                       // `autogenpb:unique` // should be unique across the cluster
	Hostname            string                 `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`                               // `autogenpb:unique` // should be unique and work in DNS
	Cpus                int64                  `protobuf:"varint,3,opt,name=cpus,proto3" json:"cpus,omitempty"`                                      // what's the point of int64 vs int32
	Memory              int64                  `protobuf:"varint,4,opt,name=memory,proto3" json:"memory,omitempty"`                                  // in bytes
	Current             *Current               `protobuf:"bytes,5,opt,name=current,proto3" json:"current,omitempty"`                                 // what the state and values of the droplet is
	StartState          DropletState           `protobuf:"varint,6,opt,name=startState,proto3,enum=virtpb.DropletState" json:"startState,omitempty"` // what the state of the droplet is SUPPOSED TO BE ('on' or 'off')
	QemuMachine         string                 `protobuf:"bytes,7,opt,name=qemuMachine,proto3" json:"qemuMachine,omitempty"`                         // the qemu machine type to use "pc-q35-9.0"
	SpicePort           int64                  `protobuf:"varint,8,opt,name=spicePort,proto3" json:"spicePort,omitempty"`                            // preferred port to use for spice
	PreferredHypervisor string                 `protobuf:"bytes,9,opt,name=preferredHypervisor,proto3" json:"preferredHypervisor,omitempty"`         // the hypervisor to prefer to run the droplet on
	ForceHypervisor     string                 `protobuf:"bytes,10,opt,name=forceHypervisor,proto3" json:"forceHypervisor,omitempty"`                // use this hypervisor and this hypervisor only
	PreferredArch       string                 `protobuf:"bytes,11,opt,name=preferredArch,proto3" json:"preferredArch,omitempty"`                    // the cpu arch to use "x86_64" (should really get this from the disk?)
	Networks            []*Network             `protobuf:"bytes,12,rep,name=networks,proto3" json:"networks,omitempty"`                              // really just mac addresses. should be unique across cluster
	Disks               []*Disk                `protobuf:"bytes,13,rep,name=disks,proto3" json:"disks,omitempty"`                                    // disks to attach
	LocalOnly           string                 `protobuf:"bytes,14,opt,name=localOnly,proto3" json:"localOnly,omitempty"`                            // this is only defined locally on the hypervisor
	CustomXml           string                 `protobuf:"bytes,15,opt,name=customXml,proto3" json:"customXml,omitempty"`                            // if needed,
	Archive             *Archive               `protobuf:"bytes,16,opt,name=archive,proto3" json:"archive,omitempty"`                                // what the state of the droplet is SUPPOSED TO BE ('on' or 'off')
	Unstable            *timestamppb.Timestamp `protobuf:"bytes,39,opt,name=unstable,proto3" json:"unstable,omitempty"`                              // the last time we heard anything from this droplet
	UnstableTimeout     *durationpb.Duration   `protobuf:"bytes,40,opt,name=unstableTimeout,proto3" json:"unstableTimeout,omitempty"`                // the last time we heard anything from this droplet
	// contains filtered or unexported fields
}

func CreateSampleDroplet added in v0.2.23

func CreateSampleDroplet(hostname string) *Droplet

func NewDefaultDroplet added in v0.2.23

func NewDefaultDroplet(hostname string) *Droplet

creates a new droplet with default values

func (*Droplet) Descriptor deprecated added in v0.2.23

func (*Droplet) Descriptor() ([]byte, []int)

Deprecated: Use Droplet.ProtoReflect.Descriptor instead.

func (*Droplet) DumpDroplet added in v0.2.23

func (d *Droplet) DumpDroplet(w http.ResponseWriter, r *http.Request) (string, error)

func (*Droplet) FormatJSON added in v0.2.23

func (v *Droplet) FormatJSON() string

human readable JSON

func (*Droplet) FormatTEXT added in v0.2.23

func (v *Droplet) FormatTEXT() string

apparently this isn't stable, but it's awesomely better https://protobuf.dev/reference/go/faq/#unstable-text it's brilliant for config files!

func (*Droplet) GetArchive added in v0.2.23

func (x *Droplet) GetArchive() *Archive

func (*Droplet) GetCpus added in v0.2.23

func (x *Droplet) GetCpus() int64

func (*Droplet) GetCurrent added in v0.2.23

func (x *Droplet) GetCurrent() *Current

func (*Droplet) GetCustomXml added in v0.2.23

func (x *Droplet) GetCustomXml() string

func (*Droplet) GetDisks added in v0.2.23

func (x *Droplet) GetDisks() []*Disk

func (*Droplet) GetForceHypervisor added in v0.2.23

func (x *Droplet) GetForceHypervisor() string

func (*Droplet) GetHostname added in v0.2.23

func (x *Droplet) GetHostname() string

func (*Droplet) GetLocalOnly added in v0.2.23

func (x *Droplet) GetLocalOnly() string

func (*Droplet) GetMemory added in v0.2.23

func (x *Droplet) GetMemory() int64

func (*Droplet) GetNetworks added in v0.2.23

func (x *Droplet) GetNetworks() []*Network

func (*Droplet) GetPreferredArch added in v0.2.23

func (x *Droplet) GetPreferredArch() string

func (*Droplet) GetPreferredHypervisor added in v0.2.23

func (x *Droplet) GetPreferredHypervisor() string

func (*Droplet) GetQemuMachine added in v0.2.23

func (x *Droplet) GetQemuMachine() string

func (*Droplet) GetSpicePort added in v0.2.23

func (x *Droplet) GetSpicePort() int64

func (*Droplet) GetStartState added in v0.2.23

func (x *Droplet) GetStartState() DropletState

func (*Droplet) GetUnstable added in v0.2.23

func (x *Droplet) GetUnstable() *timestamppb.Timestamp

func (*Droplet) GetUnstableTimeout added in v0.2.23

func (x *Droplet) GetUnstableTimeout() *durationpb.Duration

func (*Droplet) GetUuid added in v0.2.23

func (x *Droplet) GetUuid() string

func (*Droplet) Marshal added in v0.2.23

func (v *Droplet) Marshal() ([]byte, error)

marshal to wire. This is called winning.

func (*Droplet) MarshalJSON added in v0.2.23

func (v *Droplet) MarshalJSON() ([]byte, error)

marshal json

func (*Droplet) NewChangeEvent added in v0.2.23

func (d *Droplet) NewChangeEvent(fname string, origval any, newval any) *Event

Wrapping the int into a protobuf message

func (*Droplet) ProtoMessage added in v0.2.23

func (*Droplet) ProtoMessage()

func (*Droplet) ProtoReflect added in v0.2.23

func (x *Droplet) ProtoReflect() protoreflect.Message

func (*Droplet) Reset added in v0.2.23

func (x *Droplet) Reset()

func (*Droplet) SetCpus added in v0.2.23

func (d *Droplet) SetCpus(b int64)

update the droplet memory

func (*Droplet) SetMemory added in v0.2.23

func (d *Droplet) SetMemory(b int64) *Event

update the droplet memory

func (*Droplet) SetState added in v0.2.23

func (d *Droplet) SetState(newState DropletState)

update the droplet memory

func (*Droplet) SprintDumpHeader added in v0.2.23

func (d *Droplet) SprintDumpHeader() string

func (*Droplet) SprintHeader added in v0.2.23

func (d *Droplet) SprintHeader() string

func (*Droplet) String added in v0.2.23

func (x *Droplet) String() string

func (*Droplet) Unmarshal added in v0.2.23

func (v *Droplet) Unmarshal(data []byte) error

unmarshal from wire. You have won.

func (*Droplet) UnmarshalJSON added in v0.2.23

func (v *Droplet) UnmarshalJSON(data []byte) error

unmarshal json

func (*Droplet) UnmarshalTEXT added in v0.2.23

func (v *Droplet) UnmarshalTEXT(data []byte) error

unmarshalTEXT. This reads the .text config file back in after the user edits it

type DropletArchive added in v0.2.23

type DropletArchive int32
const (
	DropletArchive_DUP  DropletArchive = 0
	DropletArchive_USER DropletArchive = 1
)

func (DropletArchive) Descriptor added in v0.2.23

func (DropletArchive) Enum added in v0.2.23

func (x DropletArchive) Enum() *DropletArchive

func (DropletArchive) EnumDescriptor deprecated added in v0.2.23

func (DropletArchive) EnumDescriptor() ([]byte, []int)

Deprecated: Use DropletArchive.Descriptor instead.

func (DropletArchive) Number added in v0.2.23

func (DropletArchive) String added in v0.2.23

func (x DropletArchive) String() string

func (DropletArchive) Type added in v0.2.23

type DropletButtonFunc added in v0.2.29

type DropletButtonFunc struct {
	Custom func(*Droplet)
	// contains filtered or unexported fields
}

type DropletIntFunc added in v0.2.23

type DropletIntFunc struct {
	Custom func(*Droplet)
	// contains filtered or unexported fields
}

func (*DropletIntFunc) SetTitle added in v0.2.23

func (sf *DropletIntFunc) SetTitle(title string)

type DropletIterator added in v0.2.1

type DropletIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*DropletIterator) Next added in v0.2.23

func (it *DropletIterator) Next() *Droplet

Next() returns the next thing in the array

func (*DropletIterator) Scan added in v0.2.1

func (it *DropletIterator) Scan() bool

type DropletState added in v0.2.23

type DropletState int32

virtual machine state

const (
	DropletState_ON        DropletState = 0
	DropletState_OFF       DropletState = 1
	DropletState_UNKNOWN   DropletState = 2 // qemu says 'Shutdown'
	DropletState_PAUSED    DropletState = 3
	DropletState_CRASHED   DropletState = 4
	DropletState_INMIGRATE DropletState = 5
)

func (DropletState) Descriptor added in v0.2.23

func (DropletState) Enum added in v0.2.23

func (x DropletState) Enum() *DropletState

func (DropletState) EnumDescriptor deprecated added in v0.2.23

func (DropletState) EnumDescriptor() ([]byte, []int)

Deprecated: Use DropletState.Descriptor instead.

func (DropletState) Number added in v0.2.23

func (DropletState) String added in v0.2.23

func (x DropletState) String() string

func (DropletState) Type added in v0.2.23

type DropletStringFunc added in v0.2.23

type DropletStringFunc struct {
	Custom func(*Droplet)
	// contains filtered or unexported fields
}

func (*DropletStringFunc) SetTitle added in v0.2.23

func (sf *DropletStringFunc) SetTitle(title string)

type DropletTimeFunc added in v0.2.23

type DropletTimeFunc struct {
	Custom func(*Droplet)
	// contains filtered or unexported fields
}

func (*DropletTimeFunc) SetTitle added in v0.2.23

func (sf *DropletTimeFunc) SetTitle(title string)

type Droplets added in v0.2.23

type Droplets struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Uuid     string     `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`       // `autogenpb:uuid:d5d492e2-38d4-476b-86f3-f5abf01f9d6d`
	Version  string     `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // `autogenpb:version:v0.0.1`
	Droplets []*Droplet `protobuf:"bytes,3,rep,name=droplets,proto3" json:"droplets,omitempty"`
	// contains filtered or unexported fields
}

func NewDroplets added in v0.2.23

func NewDroplets() *Droplets

func (*Droplets) All added in v0.2.23

func (x *Droplets) All() *DropletIterator

func (*Droplets) Append added in v0.2.23

func (x *Droplets) Append(y *Droplet)

just a simple Append() shortcut (but still uses the mutex lock)

func (*Droplets) AppendByHostname added in v0.2.23

func (x *Droplets) AppendByHostname(y *Droplet) bool

func (*Droplets) AppendByUuid added in v0.2.23

func (x *Droplets) AppendByUuid(y *Droplet) bool

func (*Droplets) Delete added in v0.2.23

func (x *Droplets) Delete(y *Droplet) bool

func (*Droplets) DeleteByHostname added in v0.2.23

func (x *Droplets) DeleteByHostname(s string) bool

func (*Droplets) DeleteByUuid added in v0.2.23

func (x *Droplets) DeleteByUuid(s string) bool

func (*Droplets) Descriptor deprecated added in v0.2.23

func (*Droplets) Descriptor() ([]byte, []int)

Deprecated: Use Droplets.ProtoReflect.Descriptor instead.

func (*Droplets) FindByHostname added in v0.2.23

func (x *Droplets) FindByHostname(s string) *Droplet

lookup a Droplets by the Hostname

func (*Droplets) FindByUuid added in v0.2.23

func (x *Droplets) FindByUuid(s string) *Droplet

lookup a Droplets by the Uuid

func (*Droplets) FormatJSON added in v0.2.23

func (v *Droplets) FormatJSON() string

human readable JSON

func (*Droplets) FormatTEXT added in v0.2.23

func (v *Droplets) FormatTEXT() string

apparently this isn't stable, but it's awesomely better https://protobuf.dev/reference/go/faq/#unstable-text it's brilliant for config files!

func (*Droplets) GetDroplets added in v0.2.23

func (x *Droplets) GetDroplets() []*Droplet

func (*Droplets) GetUuid added in v0.2.23

func (x *Droplets) GetUuid() string

func (*Droplets) GetVersion added in v0.2.23

func (x *Droplets) GetVersion() string

func (*Droplets) InsertByHostname added in v0.2.29

func (x *Droplets) InsertByHostname(y string) *Droplet

returns a Droplet if Hostname matches, otherwise create

func (*Droplets) InsertByUuid added in v0.2.29

func (x *Droplets) InsertByUuid(y string) *Droplet

returns a Droplet if Uuid matches, otherwise create

func (*Droplets) Len added in v0.2.23

func (x *Droplets) Len() int

func (*Droplets) Marshal added in v0.2.23

func (v *Droplets) Marshal() ([]byte, error)

marshal to wire. This is called winning.

func (*Droplets) MarshalJSON added in v0.2.23

func (v *Droplets) MarshalJSON() ([]byte, error)

marshal json

func (*Droplets) NewTable added in v0.2.23

func (x *Droplets) NewTable(title string) *DropletsTable

func (*Droplets) ProtoMessage added in v0.2.23

func (*Droplets) ProtoMessage()

func (*Droplets) ProtoReflect added in v0.2.23

func (x *Droplets) ProtoReflect() protoreflect.Message

func (*Droplets) Reset added in v0.2.23

func (x *Droplets) Reset()

func (*Droplets) String added in v0.2.23

func (x *Droplets) String() string

func (*Droplets) Unmarshal added in v0.2.23

func (v *Droplets) Unmarshal(data []byte) error

unmarshal from wire. You have won.

func (*Droplets) UnmarshalJSON added in v0.2.23

func (v *Droplets) UnmarshalJSON(data []byte) error

unmarshal json

func (*Droplets) UnmarshalTEXT added in v0.2.23

func (v *Droplets) UnmarshalTEXT(data []byte) error

unmarshalTEXT. This reads the .text config file back in after the user edits it

type DropletsIterator added in v0.2.23

type DropletsIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*DropletsIterator) Next added in v0.2.23

func (it *DropletsIterator) Next() *Droplets

Next() returns the next thing in the array

func (*DropletsIterator) Scan added in v0.2.23

func (it *DropletsIterator) Scan() bool

type DropletsTable added in v0.2.23

type DropletsTable struct {
	CustomFunc func(*Droplet)
	// contains filtered or unexported fields
}

func (*DropletsTable) AddButtonFunc added in v0.2.29

func (t *DropletsTable) AddButtonFunc(title string, f func(*Droplet) string) *DropletButtonFunc

func (*DropletsTable) AddCpus added in v0.2.23

func (t *DropletsTable) AddCpus()

func (*DropletsTable) AddCustomXml added in v0.2.23

func (t *DropletsTable) AddCustomXml() *DropletStringFunc

func (*DropletsTable) AddForceHypervisor added in v0.2.23

func (t *DropletsTable) AddForceHypervisor() *DropletStringFunc

func (*DropletsTable) AddHostname added in v0.2.23

func (t *DropletsTable) AddHostname() *DropletStringFunc

func (*DropletsTable) AddIntFunc added in v0.2.23

func (t *DropletsTable) AddIntFunc(title string, f func(*Droplet) int) *DropletIntFunc

func (*DropletsTable) AddLocalOnly added in v0.2.23

func (t *DropletsTable) AddLocalOnly() *DropletStringFunc

func (*DropletsTable) AddMemory added in v0.2.23

func (t *DropletsTable) AddMemory()

func (*DropletsTable) AddPreferredArch added in v0.2.23

func (t *DropletsTable) AddPreferredArch() *DropletStringFunc

func (*DropletsTable) AddPreferredHypervisor added in v0.2.23

func (t *DropletsTable) AddPreferredHypervisor() *DropletStringFunc

func (*DropletsTable) AddQemuMachine added in v0.2.23

func (t *DropletsTable) AddQemuMachine() *DropletStringFunc

func (*DropletsTable) AddSpicePort added in v0.2.23

func (t *DropletsTable) AddSpicePort()

func (*DropletsTable) AddStringFunc added in v0.2.23

func (t *DropletsTable) AddStringFunc(title string, f func(*Droplet) string) *DropletStringFunc

func (*DropletsTable) AddTimeFunc added in v0.2.23

func (t *DropletsTable) AddTimeFunc(title string, f func(*Droplet) time.Time) *DropletTimeFunc

func (*DropletsTable) AddUuid added in v0.2.23

func (t *DropletsTable) AddUuid() *DropletStringFunc

func (*DropletsTable) Custom added in v0.2.29

func (mt *DropletsTable) Custom(f func(*Droplet))

func (*DropletsTable) Delete added in v0.2.29

func (mt *DropletsTable) Delete()

func (*DropletsTable) GetUuid added in v0.2.29

func (mt *DropletsTable) GetUuid() string

func (*DropletsTable) MakeTable added in v0.2.23

func (mt *DropletsTable) MakeTable()

func (*DropletsTable) NewUuid added in v0.2.24

func (mt *DropletsTable) NewUuid()

func (*DropletsTable) SetParent added in v0.2.23

func (mt *DropletsTable) SetParent(p *gui.Node)

func (*DropletsTable) ShowTable added in v0.2.23

func (mt *DropletsTable) ShowTable()

type Event added in v0.2.23

type Event struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Id             int32                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // `autogenpb:unique` // should be unique across the cluster
	Etype          EventType              `protobuf:"varint,2,opt,name=etype,proto3,enum=virtpb.EventType" json:"etype,omitempty"`
	Droplet        string                 `protobuf:"bytes,3,opt,name=droplet,proto3" json:"droplet,omitempty"`               // name of the droplet
	DropletUuid    string                 `protobuf:"bytes,4,opt,name=dropletUuid,proto3" json:"dropletUuid,omitempty"`       // uuid of the droplet
	Hypervisor     string                 `protobuf:"bytes,5,opt,name=hypervisor,proto3" json:"hypervisor,omitempty"`         // name of the hypervisor
	HypervisorUuid string                 `protobuf:"bytes,6,opt,name=hypervisorUuid,proto3" json:"hypervisorUuid,omitempty"` // uuid of the hypervisor
	Start          *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start,proto3" json:"start,omitempty"`                   // start time
	End            *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end,proto3" json:"end,omitempty"`                       // end time
	FieldName      string                 `protobuf:"bytes,9,opt,name=fieldName,proto3" json:"fieldName,omitempty"`           // the field name that changed
	OrigVal        string                 `protobuf:"bytes,10,opt,name=origVal,proto3" json:"origVal,omitempty"`              // original value
	NewVal         string                 `protobuf:"bytes,11,opt,name=newVal,proto3" json:"newVal,omitempty"`                // new value
	OrigAny        *anypb.Any             `protobuf:"bytes,12,opt,name=origAny,proto3" json:"origAny,omitempty"`              // anypb format. probably overkill
	NewAny         *anypb.Any             `protobuf:"bytes,13,opt,name=newAny,proto3" json:"newAny,omitempty"`                // anypb format
	// contains filtered or unexported fields
}

this information leans towards being human readable not programatic in other words, it's better to just have the droplet name here rather than the uuid at least for now in the early days. but maybe forever. homelab clouds normally don't have many events. we are talking less than 1 a minute. even 1 an hour is often a lot

func NewAddEvent added in v0.2.23

func NewAddEvent(a any, fname string, newval any) *Event

work in progress

func (*Event) Descriptor deprecated added in v0.2.23

func (*Event) Descriptor() ([]byte, []int)

Deprecated: Use Event.ProtoReflect.Descriptor instead.

func (*Event) GetDroplet added in v0.2.23

func (x *Event) GetDroplet() string

func (*Event) GetDropletUuid added in v0.2.23

func (x *Event) GetDropletUuid() string

func (*Event) GetEnd added in v0.2.23

func (x *Event) GetEnd() *timestamppb.Timestamp

func (*Event) GetEtype added in v0.2.23

func (x *Event) GetEtype() EventType

func (*Event) GetFieldName added in v0.2.23

func (x *Event) GetFieldName() string

func (*Event) GetHypervisor added in v0.2.23

func (x *Event) GetHypervisor() string

func (*Event) GetHypervisorUuid added in v0.2.23

func (x *Event) GetHypervisorUuid() string

func (*Event) GetId added in v0.2.23

func (x *Event) GetId() int32

func (*Event) GetNewAny added in v0.2.23

func (x *Event) GetNewAny() *anypb.Any

func (*Event) GetNewVal added in v0.2.23

func (x *Event) GetNewVal() string

func (*Event) GetOrigAny added in v0.2.23

func (x *Event) GetOrigAny() *anypb.Any

func (*Event) GetOrigVal added in v0.2.23

func (x *Event) GetOrigVal() string

func (*Event) GetStart added in v0.2.23

func (x *Event) GetStart() *timestamppb.Timestamp

func (*Event) ProtoMessage added in v0.2.23

func (*Event) ProtoMessage()

func (*Event) ProtoReflect added in v0.2.23

func (x *Event) ProtoReflect() protoreflect.Message

func (*Event) Reset added in v0.2.23

func (x *Event) Reset()

func (*Event) String added in v0.2.23

func (x *Event) String() string

type EventButtonFunc added in v0.2.29

type EventButtonFunc struct {
	Custom func(*Event)
	// contains filtered or unexported fields
}

type EventIntFunc added in v0.2.23

type EventIntFunc struct {
	Custom func(*Event)
	// contains filtered or unexported fields
}

func (*EventIntFunc) SetTitle added in v0.2.23

func (sf *EventIntFunc) SetTitle(title string)

type EventIterator added in v0.2.23

type EventIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*EventIterator) Next added in v0.2.23

func (it *EventIterator) Next() *Event

Next() returns the next thing in the array

func (*EventIterator) Scan added in v0.2.23

func (it *EventIterator) Scan() bool

type EventStringFunc added in v0.2.23

type EventStringFunc struct {
	Custom func(*Event)
	// contains filtered or unexported fields
}

func (*EventStringFunc) SetTitle added in v0.2.23

func (sf *EventStringFunc) SetTitle(title string)

type EventTimeFunc added in v0.2.23

type EventTimeFunc struct {
	Custom func(*Event)
	// contains filtered or unexported fields
}

func (*EventTimeFunc) SetTitle added in v0.2.23

func (sf *EventTimeFunc) SetTitle(title string)

type EventType added in v0.2.23

type EventType int32
const (
	EventType_ADD       EventType = 0
	EventType_DELETE    EventType = 1
	EventType_POWERON   EventType = 2
	EventType_POWEROFF  EventType = 3 // should indicate a "normal" shutdown
	EventType_HIBERNATE EventType = 4
	EventType_MIGRATE   EventType = 5
	EventType_DEMO      EventType = 6
	EventType_GET       EventType = 7  // request something
	EventType_LOGIN     EventType = 8  // attempt to login
	EventType_OK        EventType = 9  // everything is ok
	EventType_FAIL      EventType = 10 // everything failed
	EventType_CRASH     EventType = 11 // droplet hard crashed
	EventType_CHANGE    EventType = 12 // droplet or hypervisor config change
)

func (EventType) Descriptor added in v0.2.23

func (EventType) Descriptor() protoreflect.EnumDescriptor

func (EventType) Enum added in v0.2.23

func (x EventType) Enum() *EventType

func (EventType) EnumDescriptor deprecated added in v0.2.23

func (EventType) EnumDescriptor() ([]byte, []int)

Deprecated: Use EventType.Descriptor instead.

func (EventType) Number added in v0.2.23

func (x EventType) Number() protoreflect.EnumNumber

func (EventType) String added in v0.2.23

func (x EventType) String() string

func (EventType) Type added in v0.2.23

type Events added in v0.2.23

type Events struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Uuid      string   `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`            // `autogenpb:uuid:1e3a50c7-5916-4423-b33c-f0b977a7e446`
	Version   string   `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`      // `autogenpb:version:v0.0.1`
	EventSize int64    `protobuf:"varint,3,opt,name=eventSize,proto3" json:"eventSize,omitempty"` // max events to store in a single
	Events    []*Event `protobuf:"bytes,4,rep,name=events,proto3" json:"events,omitempty"`        // all the events
	// contains filtered or unexported fields
}

func CreateSampleEvents added in v0.2.23

func CreateSampleEvents(total int) *Events

func NewEvents added in v0.2.23

func NewEvents() *Events

func (*Events) All added in v0.2.23

func (x *Events) All() *EventIterator

func (*Events) Append added in v0.2.23

func (x *Events) Append(y *Event)

just a simple Append() shortcut (but still uses the mutex lock)

func (*Events) AppendEvent added in v0.2.23

func (epb *Events) AppendEvent(e *Event)

func (*Events) Delete added in v0.2.23

func (x *Events) Delete(y *Event) bool

func (*Events) Descriptor deprecated added in v0.2.23

func (*Events) Descriptor() ([]byte, []int)

Deprecated: Use Events.ProtoReflect.Descriptor instead.

func (*Events) FormatJSON added in v0.2.23

func (v *Events) FormatJSON() string

human readable JSON

func (*Events) FormatTEXT added in v0.2.23

func (v *Events) FormatTEXT() string

apparently this isn't stable, but it's awesomely better https://protobuf.dev/reference/go/faq/#unstable-text it's brilliant for config files!

func (*Events) GetEventSize added in v0.2.23

func (x *Events) GetEventSize() int64

func (*Events) GetEvents added in v0.2.23

func (x *Events) GetEvents() []*Event

func (*Events) GetUuid added in v0.2.23

func (x *Events) GetUuid() string

func (*Events) GetVersion added in v0.2.23

func (x *Events) GetVersion() string

func (*Events) Len added in v0.2.23

func (x *Events) Len() int

func (*Events) Marshal added in v0.2.23

func (v *Events) Marshal() ([]byte, error)

marshal to wire. This is called winning.

func (*Events) MarshalJSON added in v0.2.23

func (v *Events) MarshalJSON() ([]byte, error)

marshal json

func (*Events) NewTable added in v0.2.23

func (x *Events) NewTable(title string) *EventsTable

func (*Events) ProtoMessage added in v0.2.23

func (*Events) ProtoMessage()

func (*Events) ProtoReflect added in v0.2.23

func (x *Events) ProtoReflect() protoreflect.Message

func (*Events) Reset added in v0.2.23

func (x *Events) Reset()

func (*Events) String added in v0.2.23

func (x *Events) String() string

func (*Events) Unmarshal added in v0.2.23

func (v *Events) Unmarshal(data []byte) error

unmarshal from wire. You have won.

func (*Events) UnmarshalJSON added in v0.2.23

func (v *Events) UnmarshalJSON(data []byte) error

unmarshal json

func (*Events) UnmarshalTEXT added in v0.2.23

func (v *Events) UnmarshalTEXT(data []byte) error

unmarshalTEXT. This reads the .text config file back in after the user edits it

type EventsIterator added in v0.2.23

type EventsIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*EventsIterator) Next added in v0.2.23

func (it *EventsIterator) Next() *Events

Next() returns the next thing in the array

func (*EventsIterator) Scan added in v0.2.23

func (it *EventsIterator) Scan() bool

type EventsTable added in v0.2.23

type EventsTable struct {
	CustomFunc func(*Event)
	// contains filtered or unexported fields
}

func (*EventsTable) AddButtonFunc added in v0.2.29

func (t *EventsTable) AddButtonFunc(title string, f func(*Event) string) *EventButtonFunc

func (*EventsTable) AddDroplet added in v0.2.23

func (t *EventsTable) AddDroplet() *EventStringFunc

func (*EventsTable) AddDropletUuid added in v0.2.23

func (t *EventsTable) AddDropletUuid() *EventStringFunc

func (*EventsTable) AddFieldName added in v0.2.23

func (t *EventsTable) AddFieldName() *EventStringFunc

func (*EventsTable) AddHypervisor added in v0.2.23

func (t *EventsTable) AddHypervisor() *EventStringFunc

func (*EventsTable) AddHypervisorUuid added in v0.2.23

func (t *EventsTable) AddHypervisorUuid() *EventStringFunc

func (*EventsTable) AddIntFunc added in v0.2.23

func (t *EventsTable) AddIntFunc(title string, f func(*Event) int) *EventIntFunc

func (*EventsTable) AddNewVal added in v0.2.23

func (t *EventsTable) AddNewVal() *EventStringFunc

func (*EventsTable) AddOrigVal added in v0.2.23

func (t *EventsTable) AddOrigVal() *EventStringFunc

func (*EventsTable) AddStringFunc added in v0.2.23

func (t *EventsTable) AddStringFunc(title string, f func(*Event) string) *EventStringFunc

func (*EventsTable) AddTimeFunc added in v0.2.23

func (t *EventsTable) AddTimeFunc(title string, f func(*Event) time.Time) *EventTimeFunc

func (*EventsTable) Custom added in v0.2.29

func (mt *EventsTable) Custom(f func(*Event))

func (*EventsTable) Delete added in v0.2.29

func (mt *EventsTable) Delete()

func (*EventsTable) GetUuid added in v0.2.29

func (mt *EventsTable) GetUuid() string

func (*EventsTable) MakeTable added in v0.2.23

func (mt *EventsTable) MakeTable()

func (*EventsTable) NewUuid added in v0.2.24

func (mt *EventsTable) NewUuid()

func (*EventsTable) SetParent added in v0.2.23

func (mt *EventsTable) SetParent(p *gui.Node)

func (*EventsTable) ShowTable added in v0.2.23

func (mt *EventsTable) ShowTable()

type Hypervisor added in v0.2.23

type Hypervisor struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Uuid      string                 `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`         // `autogenpb:unique`
	Hostname  string                 `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"` // `autogenpb:unique`
	Active    bool                   `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"`    // is allowed to start new droplets
	Cpus      int64                  `protobuf:"varint,4,opt,name=cpus,proto3" json:"cpus,omitempty"`
	Memory    int64                  `protobuf:"varint,5,opt,name=memory,proto3" json:"memory,omitempty"` // in bytes
	Comment   string                 `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"`
	Autoscan  bool                   `protobuf:"varint,7,opt,name=autoscan,proto3" json:"autoscan,omitempty"` // to scan or not to scan by virtigo
	Arch      HypervisorArch         `protobuf:"varint,8,opt,name=arch,proto3,enum=virtpb.HypervisorArch" json:"arch,omitempty"`
	Killcount int64                  `protobuf:"varint,9,opt,name=killcount,proto3" json:"killcount,omitempty"` // in bytes
	LastPoll  *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=lastPoll,proto3" json:"lastPoll,omitempty"`   // the last time we heard anything
	// contains filtered or unexported fields
}

func CreateSampleHypervisor added in v0.2.23

func CreateSampleHypervisor(hostname string, mem int) *Hypervisor

func (*Hypervisor) Descriptor deprecated added in v0.2.23

func (*Hypervisor) Descriptor() ([]byte, []int)

Deprecated: Use Hypervisor.ProtoReflect.Descriptor instead.

func (*Hypervisor) GetActive added in v0.2.23

func (x *Hypervisor) GetActive() bool

func (*Hypervisor) GetArch added in v0.2.23

func (x *Hypervisor) GetArch() HypervisorArch

func (*Hypervisor) GetAutoscan added in v0.2.23

func (x *Hypervisor) GetAutoscan() bool

func (*Hypervisor) GetComment added in v0.2.23

func (x *Hypervisor) GetComment() string

func (*Hypervisor) GetCpus added in v0.2.23

func (x *Hypervisor) GetCpus() int64

func (*Hypervisor) GetHostname added in v0.2.23

func (x *Hypervisor) GetHostname() string

func (*Hypervisor) GetKillcount added in v0.2.24

func (x *Hypervisor) GetKillcount() int64

func (*Hypervisor) GetLastPoll added in v0.2.24

func (x *Hypervisor) GetLastPoll() *timestamppb.Timestamp

func (*Hypervisor) GetMemory added in v0.2.23

func (x *Hypervisor) GetMemory() int64

func (*Hypervisor) GetUuid added in v0.2.23

func (x *Hypervisor) GetUuid() string

func (*Hypervisor) ProtoMessage added in v0.2.23

func (*Hypervisor) ProtoMessage()

func (*Hypervisor) ProtoReflect added in v0.2.23

func (x *Hypervisor) ProtoReflect() protoreflect.Message

func (*Hypervisor) Reset added in v0.2.23

func (x *Hypervisor) Reset()

func (*Hypervisor) SetMemoryGB added in v0.2.23

func (x *Hypervisor) SetMemoryGB(gb int)

func (*Hypervisor) String added in v0.2.23

func (x *Hypervisor) String() string

type HypervisorArch added in v0.2.23

type HypervisorArch int32

think about this more

const (
	HypervisorArch_RISCV64 HypervisorArch = 0
	HypervisorArch_X86_64  HypervisorArch = 1
	HypervisorArch_ARM64   HypervisorArch = 2
)

func (HypervisorArch) Descriptor added in v0.2.23

func (HypervisorArch) Enum added in v0.2.23

func (x HypervisorArch) Enum() *HypervisorArch

func (HypervisorArch) EnumDescriptor deprecated added in v0.2.23

func (HypervisorArch) EnumDescriptor() ([]byte, []int)

Deprecated: Use HypervisorArch.Descriptor instead.

func (HypervisorArch) Number added in v0.2.23

func (HypervisorArch) String added in v0.2.23

func (x HypervisorArch) String() string

func (HypervisorArch) Type added in v0.2.23

type HypervisorButtonFunc added in v0.2.29

type HypervisorButtonFunc struct {
	Custom func(*Hypervisor)
	// contains filtered or unexported fields
}

type HypervisorIntFunc added in v0.2.23

type HypervisorIntFunc struct {
	Custom func(*Hypervisor)
	// contains filtered or unexported fields
}

func (*HypervisorIntFunc) SetTitle added in v0.2.23

func (sf *HypervisorIntFunc) SetTitle(title string)

type HypervisorIterator added in v0.2.23

type HypervisorIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*HypervisorIterator) Next added in v0.2.23

func (it *HypervisorIterator) Next() *Hypervisor

Next() returns the next thing in the array

func (*HypervisorIterator) Scan added in v0.2.23

func (it *HypervisorIterator) Scan() bool

type HypervisorStringFunc added in v0.2.23

type HypervisorStringFunc struct {
	Custom func(*Hypervisor)
	// contains filtered or unexported fields
}

func (*HypervisorStringFunc) SetTitle added in v0.2.23

func (sf *HypervisorStringFunc) SetTitle(title string)

type HypervisorTimeFunc added in v0.2.23

type HypervisorTimeFunc struct {
	Custom func(*Hypervisor)
	// contains filtered or unexported fields
}

func (*HypervisorTimeFunc) SetTitle added in v0.2.23

func (sf *HypervisorTimeFunc) SetTitle(title string)

type Hypervisors added in v0.2.23

type Hypervisors struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Uuid        string        `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`       // `autogenpb:uuid:6e3aa8b9-cf98-40f6-af58-3c6ad1edf4d4`
	Version     string        `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // `autogenpb:version:v0.0.1`
	Hypervisors []*Hypervisor `protobuf:"bytes,3,rep,name=hypervisors,proto3" json:"hypervisors,omitempty"`
	// contains filtered or unexported fields
}

func NewHypervisors added in v0.2.23

func NewHypervisors() *Hypervisors

func (*Hypervisors) All added in v0.2.23

func (x *Hypervisors) All() *HypervisorIterator

func (*Hypervisors) Append added in v0.2.23

func (x *Hypervisors) Append(y *Hypervisor)

just a simple Append() shortcut (but still uses the mutex lock)

func (*Hypervisors) AppendByHostname added in v0.2.23

func (x *Hypervisors) AppendByHostname(y *Hypervisor) bool

func (*Hypervisors) AppendByUuid added in v0.2.23

func (x *Hypervisors) AppendByUuid(y *Hypervisor) bool

func (*Hypervisors) Delete added in v0.2.23

func (x *Hypervisors) Delete(y *Hypervisor) bool

func (*Hypervisors) DeleteByHostname added in v0.2.23

func (x *Hypervisors) DeleteByHostname(s string) bool

func (*Hypervisors) DeleteByUuid added in v0.2.23

func (x *Hypervisors) DeleteByUuid(s string) bool

func (*Hypervisors) Descriptor deprecated added in v0.2.23

func (*Hypervisors) Descriptor() ([]byte, []int)

Deprecated: Use Hypervisors.ProtoReflect.Descriptor instead.

func (*Hypervisors) FindByHostname added in v0.2.23

func (x *Hypervisors) FindByHostname(s string) *Hypervisor

lookup a Hypervisors by the Hostname

func (*Hypervisors) FindByUuid added in v0.2.23

func (x *Hypervisors) FindByUuid(s string) *Hypervisor

lookup a Hypervisors by the Uuid

func (*Hypervisors) FormatJSON added in v0.2.23

func (v *Hypervisors) FormatJSON() string

human readable JSON

func (*Hypervisors) FormatTEXT added in v0.2.23

func (v *Hypervisors) FormatTEXT() string

apparently this isn't stable, but it's awesomely better https://protobuf.dev/reference/go/faq/#unstable-text it's brilliant for config files!

func (*Hypervisors) GetHypervisors added in v0.2.23

func (x *Hypervisors) GetHypervisors() []*Hypervisor

func (*Hypervisors) GetUuid added in v0.2.23

func (x *Hypervisors) GetUuid() string

func (*Hypervisors) GetVersion added in v0.2.23

func (x *Hypervisors) GetVersion() string

func (*Hypervisors) InsertByHostname added in v0.2.29

func (x *Hypervisors) InsertByHostname(y string) *Hypervisor

returns a Hypervisor if Hostname matches, otherwise create

func (*Hypervisors) InsertByUuid added in v0.2.29

func (x *Hypervisors) InsertByUuid(y string) *Hypervisor

returns a Hypervisor if Uuid matches, otherwise create

func (*Hypervisors) Len added in v0.2.23

func (x *Hypervisors) Len() int

func (*Hypervisors) Marshal added in v0.2.23

func (v *Hypervisors) Marshal() ([]byte, error)

marshal to wire. This is called winning.

func (*Hypervisors) MarshalJSON added in v0.2.23

func (v *Hypervisors) MarshalJSON() ([]byte, error)

marshal json

func (*Hypervisors) NewTable added in v0.2.23

func (x *Hypervisors) NewTable(title string) *HypervisorsTable

func (*Hypervisors) ProtoMessage added in v0.2.23

func (*Hypervisors) ProtoMessage()

func (*Hypervisors) ProtoReflect added in v0.2.23

func (x *Hypervisors) ProtoReflect() protoreflect.Message

func (*Hypervisors) Reset added in v0.2.23

func (x *Hypervisors) Reset()

func (*Hypervisors) String added in v0.2.23

func (x *Hypervisors) String() string

func (*Hypervisors) Unmarshal added in v0.2.23

func (v *Hypervisors) Unmarshal(data []byte) error

unmarshal from wire. You have won.

func (*Hypervisors) UnmarshalJSON added in v0.2.23

func (v *Hypervisors) UnmarshalJSON(data []byte) error

unmarshal json

func (*Hypervisors) UnmarshalTEXT added in v0.2.23

func (v *Hypervisors) UnmarshalTEXT(data []byte) error

unmarshalTEXT. This reads the .text config file back in after the user edits it

type HypervisorsIterator added in v0.2.23

type HypervisorsIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*HypervisorsIterator) Next added in v0.2.23

func (it *HypervisorsIterator) Next() *Hypervisors

Next() returns the next thing in the array

func (*HypervisorsIterator) Scan added in v0.2.23

func (it *HypervisorsIterator) Scan() bool

type HypervisorsTable added in v0.2.23

type HypervisorsTable struct {
	CustomFunc func(*Hypervisor)
	// contains filtered or unexported fields
}

func (*HypervisorsTable) AddButtonFunc added in v0.2.29

func (t *HypervisorsTable) AddButtonFunc(title string, f func(*Hypervisor) string) *HypervisorButtonFunc

func (*HypervisorsTable) AddComment added in v0.2.23

func (t *HypervisorsTable) AddComment() *HypervisorStringFunc

func (*HypervisorsTable) AddCpus added in v0.2.23

func (t *HypervisorsTable) AddCpus()

func (*HypervisorsTable) AddHostname added in v0.2.23

func (t *HypervisorsTable) AddHostname() *HypervisorStringFunc

func (*HypervisorsTable) AddIntFunc added in v0.2.23

func (t *HypervisorsTable) AddIntFunc(title string, f func(*Hypervisor) int) *HypervisorIntFunc

func (*HypervisorsTable) AddKillcount added in v0.2.24

func (t *HypervisorsTable) AddKillcount()

func (*HypervisorsTable) AddMemory added in v0.2.23

func (t *HypervisorsTable) AddMemory()

func (*HypervisorsTable) AddStringFunc added in v0.2.23

func (t *HypervisorsTable) AddStringFunc(title string, f func(*Hypervisor) string) *HypervisorStringFunc

func (*HypervisorsTable) AddTimeFunc added in v0.2.23

func (t *HypervisorsTable) AddTimeFunc(title string, f func(*Hypervisor) time.Time) *HypervisorTimeFunc

func (*HypervisorsTable) AddUuid added in v0.2.23

func (t *HypervisorsTable) AddUuid() *HypervisorStringFunc

func (*HypervisorsTable) Custom added in v0.2.29

func (mt *HypervisorsTable) Custom(f func(*Hypervisor))

func (*HypervisorsTable) Delete added in v0.2.29

func (mt *HypervisorsTable) Delete()

func (*HypervisorsTable) GetUuid added in v0.2.29

func (mt *HypervisorsTable) GetUuid() string

func (*HypervisorsTable) MakeTable added in v0.2.23

func (mt *HypervisorsTable) MakeTable()

func (*HypervisorsTable) NewUuid added in v0.2.24

func (mt *HypervisorsTable) NewUuid()

func (*HypervisorsTable) SetParent added in v0.2.23

func (mt *HypervisorsTable) SetParent(p *gui.Node)

func (*HypervisorsTable) ShowTable added in v0.2.23

func (mt *HypervisorsTable) ShowTable()

type Network added in v0.2.23

type Network struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Mac  string `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"`
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*Network) Descriptor deprecated added in v0.2.23

func (*Network) Descriptor() ([]byte, []int)

Deprecated: Use Network.ProtoReflect.Descriptor instead.

func (*Network) GetMac added in v0.2.23

func (x *Network) GetMac() string

func (*Network) GetName added in v0.2.23

func (x *Network) GetName() string

func (*Network) ProtoMessage added in v0.2.23

func (*Network) ProtoMessage()

func (*Network) ProtoReflect added in v0.2.23

func (x *Network) ProtoReflect() protoreflect.Message

func (*Network) Reset added in v0.2.23

func (x *Network) Reset()

func (*Network) String added in v0.2.23

func (x *Network) String() string

type NetworkIterator added in v0.2.23

type NetworkIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*NetworkIterator) Next added in v0.2.23

func (it *NetworkIterator) Next() *Network

Next() returns the next thing in the array

func (*NetworkIterator) Scan added in v0.2.23

func (it *NetworkIterator) Scan() bool

Jump to

Keyboard shortcuts

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