-
Notifications
You must be signed in to change notification settings - Fork 0
/
linode_params.go
119 lines (105 loc) · 3.03 KB
/
linode_params.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// Copyright (c) 2015 LunaNode Hosting Inc. All right reserved.
// Use of this source code is governed by the MIT License. See LICENSE file.
package linode
import "fmt"
type linodeIDResponse struct {
LinodeID int `json:"LinodeID"`
}
type jobResponse struct {
JobID int `json:"JobID"`
}
type Linode struct {
ID int `json:"LINODEID"`
Status int `json:"STATUS"`
StatusString string
Label string `json:"LABEL"`
CreateTime string `json:"CREATE_DT"`
Plan int `json:"PLANID"`
DistributionVendor string `json:"DISTRIBUTIONVENDOR"`
IsXen int `json:"ISXEN"`
IsKVM int `json:"ISKVM"`
TotalBandwidth int `json:"TOTALXFER"`
TotalRAM int `json:"TOTALRAM"`
TotalHD int `json:"TOTALHD"`
DatacenterID int `json:"DATACENTERID"`
AlertBandwidth int `json:"ALERT_BWQUOTA_ENABLED"`
AlertBandwidthThreshold int `json:"ALERT_BWQUOTA_THRESHOLD"`
AlertDiskIO int `json:"ALERT_DISKIO_ENABLED"`
AlertDiskIOThreshold int `json:"ALERT_DISKIO_THRESHOLD"`
AlertBandwidthOut int `json:"ALERT_BWOUT_ENABLED"`
AlertBandwidthOutThreshold int `json:"ALERT_BWOUT_THRESHOLD"`
AlertBandwidthIn int `json:"ALERT_BWIN_ENABLED"`
AlertBandwidthInThreshold int `json:"ALERT_BWIN_THRESHOLD"`
AlertCPU int `json:"ALERT_CPU_ENABLED"`
AlertCPUThreshold int `json:"ALERT_CPU_THRESHOLD"`
BackupEnabled int `json:"BACKUPSENABLED"`
BackupWindow int `json:"BACKUPWINDOW"`
BackupWeeklyDay int `json:"BACKUPWEEKLYDAY"`
Watchdog int `json:"WATCHDOG"`
}
func (linode *Linode) parse() {
if linode.Status == -1 {
linode.StatusString = "Being Created"
} else if linode.Status == 0 {
linode.StatusString = "Brand New"
} else if linode.Status == 1 {
linode.StatusString = "Running"
} else if linode.Status == 2 {
linode.StatusString = "Powered Off"
} else {
linode.StatusString = fmt.Sprintf("Unknown (%d)", linode.Status)
}
}
type configIDResponse struct {
ConfigID int `json:"ConfigID"`
}
type CreateConfigOptions struct {
Comments string
RAMLimit int
VirtMode string
RunLevel string
RootDeviceNum int
RootDeviceCustom string
DisableRootDeviceRO bool
DisableDisableUpdateDBHelper bool
DisableDistroHelper bool
DisableDepmodHelper bool
EnableHelperNetwork bool
DisableAutomountDevtmpfs bool
}
type CreateDiskOptions struct {
DistributionID int
RootPassword string
RootSSHKey string
IsReadOnly bool
}
type linodeDiskCreateResponse struct {
JobID int `json:"JobID"`
DiskID int `json:"DiskID"`
}
type imagizeResponse struct {
JobID int `json:"JobID"`
ImageID int `json:"ImageID"`
}
type ipIDResponse struct {
ID int `json:"IPAddressID"`
}
type IP struct {
ID int `json:"IPADDRESSID"`
LinodeID int `json:"LINODEID"`
IsPublic int `json:"ISPUBLIC"`
Address string `json:"IPADDRESS"`
Hostname string `json:"RDNS_NAME"`
}
type Job struct {
ID int `json:"JOBID"`
Action string `json:"ACTION"`
Label string `json:"LABEL"`
LinodeID int `json:"LINODEID"`
Duration int `json:"DURATION"`
Success int `json:"HOST_SUCCESS"`
Message string `json:"HOST_MESSAGE"`
EnteredTime string `json:"ENTERED_DT"`
StartTime string `json:"HOST_START_DT"`
FinishTime string `json:"HOST_FINISH_DT"`
}