diff options
| author | Jeff Carr <[email protected]> | 2024-01-01 15:33:08 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-01-01 15:33:08 -0600 |
| commit | f03f76bc082a245f852dcd0cc52fef9ff48cdc93 (patch) | |
| tree | 5e63087bc7cd1fe22743a4b60d120121ce0f7886 /structs.go | |
initial commit
Diffstat (limited to 'structs.go')
| -rw-r--r-- | structs.go | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/structs.go b/structs.go new file mode 100644 index 0000000..fdef242 --- /dev/null +++ b/structs.go @@ -0,0 +1,91 @@ +/* + The Digital Ocean Struct +*/ + +package digitalocean + +import ( + "github.com/digitalocean/godo" + + "go.wit.com/gui/gui" + "go.wit.com/gui/gadgets" +) + +type DigitalOcean struct { + ready bool + hidden bool + err error + + token string // You're Digital Ocean API key + dpolled []godo.Droplet + sshKeys []godo.Key + + dropMap map[int]*Droplet + create *windowCreate + + parent *gui.Node // should be the root of the 'gui' package binary tree + window *gui.Node // our window for displaying digital ocean droplets + group *gui.Node + grid *gui.Node + + dGrid *gui.Node // the grid for the droplets + + // Primary Directives + status *gadgets.OneLiner + summary *gadgets.OneLiner + statusIPv4 *gadgets.OneLiner + statusIPv6 *gadgets.OneLiner +} + +type windowCreate struct { + ready bool + hidden bool + err error + + parent *gui.Node // should be the root of the 'gui' package binary tree + window *gui.Node // our window for displaying digital ocean droplets + group *gui.Node + grid *gui.Node + + regionSelected godo.Region + regionSlug string + tag *gadgets.OneLiner + name *gadgets.BasicEntry + region *gadgets.BasicDropdown + size *gadgets.BasicCombobox + memory *gadgets.BasicDropdown + image *gadgets.BasicCombobox + // nvme *gadgets.BasicCheckbox +} + +type ipButton struct { + ip *gui.Node + c *gui.Node +} + +type Droplet struct { + ID int + image string + memory int + disk int + + ready bool + hidden bool + err error + + poll *godo.Droplet // store what the digital ocean API returned + + nameN *gui.Node + sizeSlugN *gui.Node + statusN *gui.Node + imageN *gui.Node + + destroy *gui.Node + connect *gui.Node + poweron *gui.Node + poweroff *gui.Node + edit *gui.Node + + ipv4 *gui.Node + ipv6 *gui.Node +} |
