-
Notifications
You must be signed in to change notification settings - Fork 1
/
interfaces.go
264 lines (243 loc) · 11.7 KB
/
interfaces.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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
package iland
import (
"io"
"time"
)
type ConsoleService interface {
Get(endpoint string) (io.ReadCloser, error)
Post(endpoint string, body []byte) (io.ReadCloser, error)
Put(endpoint string, body []byte) (io.ReadCloser, error)
Delete(endpoint string) (io.ReadCloser, error)
GetOperatingSystems() ([]OperatingSystem, error)
GetLocations() []Location
GetCompanies() ([]Company, error)
GetOrgs() ([]Org, error)
StreamEvents(companyID string) (chan Event, error)
Location() LocationService
Company() CompanyService
User() UserService
Org() OrgService
Catalog() CatalogService
VAppTemplate() VAppTemplateService
Vdc() VdcService
Edge() EdgeService
OrgVdcNetwork() OrgVdcNetworkService
VApp() VAppService
VAppNetwork() VAppNetworkService
VirtualMachine() VirtualMachineService
VCCBackupTenant() VCCBackupTenantService
Vpg() VpgService
Task() TaskService
}
type LocationService interface {
GetPublicCatalogs(locationID string) ([]Catalog, error)
GetPublicVAppTemplates(locationID string) ([]VAppTemplate, error)
GetPublicMedia(locationID string) ([]Media, error)
}
type TaskService interface {
Get(taskID string) (Task, error)
Track(taskID string) (Task, error)
}
type VCCBackupTenantService interface {
Get(vccBackupTenantID string) (VCCBackupTenant, error)
}
type CompanyService interface {
Get(companyID string) (Company, error)
GetUsers(companyID string) ([]User, error)
CreateUser(companyID string, params CreateUserParams) (User, error)
GetRoles(companyID string) ([]Role, error)
GetRole(companyID, roleID string) (Role, error)
GetOrgs(companyID string) ([]Org, error)
GetLocationOrgs(companyID, locationID string) ([]Org, error)
GetVCCBackupTenants(companyID string) ([]VCCBackupTenant, error)
}
type UserService interface {
Get(username string) (User, error)
Update(username string, params UpdateUserParams) (User, error)
GetCompanies(username string) ([]Company, error)
GetOrgs(username string) ([]Org, error)
AssignRole(username, companyID, roleID string) error
GetRole(username, companyID string) (Role, error)
DeleteRole(username, companyID string) error
}
type OrgService interface {
Get(orgID string) (Org, error)
GetVdcs(orgID string) ([]Vdc, error)
GetEdges(orgID string) ([]Edge, error)
GetCatalogs(orgID string) ([]Catalog, error)
GetVAppTemplates(orgID string) ([]VAppTemplate, error)
GetMedia(orgID string) ([]Media, error)
GetNetworks(orgID string) ([]OrgVdcNetwork, error)
GetVApps(orgID string) ([]VApp, error)
GetVirtualMachines(orgID string) ([]VirtualMachine, error)
GetVpgs(orgID string) ([]Vpg, error)
GetPublicIPs(orgID string) ([]string, error)
GetPublicIPAssignments(orgID string) ([]PublicIPAssignment, error)
GetCurrentBill(orgID string) (Billing, error)
GetBill(orgID string, month, year int) (Billing, error)
}
type CatalogService interface {
Get(catalogID string) (Catalog, error)
Update(catalogID string, params UpdateCatalogParams) (Task, error)
GetVAppTemplates(catalogID string) ([]VAppTemplate, error)
GetMedia(catalogID string) ([]Media, error)
CreateVAppTemplate(catalogID string, params CreateVAppTemplateParams) (Task, error)
SyncSubscription(catalogID string) (Task, error)
}
type VAppTemplateService interface {
Get(vappTemplateID string) (VAppTemplate, error)
Update(vappTemplateID string, params UpdateVAppTemplateParams) (Task, error)
Delete(vappTemplateID string) (Task, error)
GetVirtualMachines(vappTemplateID string) ([]VirtualMachineTemplate, error)
GetConfig(vappTemplateID string) (VAppTemplateConfig, error)
SyncSubscription(vappTemplateID string) (Task, error)
}
type VdcService interface {
Get(vdcID string) (Vdc, error)
GetStorageProfiles(vdcID string) ([]StorageProfile, error)
GetSummary(vdcID string) (VdcSummary, error)
GetVApps(vdcID string) ([]VApp, error)
GetVirtualMachines(vdcID string) ([]VirtualMachine, error)
GetEdges(vdcID string) ([]Edge, error)
GetNetworks(vdcID string) ([]OrgVdcNetwork, error)
GetCurrentBill(vdcID string) (Billing, error)
GetBill(vdcID string, month, year int) (Billing, error)
GetCurrentVAppBill(vdcID string) ([]Billing, error)
GetVAppBill(vdcID string, month, year int) ([]Billing, error)
GetPerformanceCounters(vdcID string) ([]PerformanceCounter, error)
GetPerformance(vdcID string, counter PerformanceCounter, start, end time.Time) (Performance, error)
BuildVApp(vdcID string, params BuildVAppParams) (Task, error)
DeployVAppTemplate(vdcID string, params DeployVAppTemplateParams) (Task, error)
}
type EdgeService interface {
Get(edgeID string) (Edge, error)
GetFirewall(edgeID string) (EdgeFirewall, error)
UpdateFirewallRules(edgeID string, rules []EdgeFirewallRule) (Task, error)
GetNAT(edgeID string) (EdgeNAT, error)
UpdateNATRules(edgeID string, rules []EdgeNATRule) (Task, error)
EnableNAT(edgeID string) (Task, error)
DisableNAT(edgeID string) (Task, error)
}
type OrgVdcNetworkService interface {
Get(networkID string) (OrgVdcNetwork, error)
Update(networkID string, params UpdateOrgVdcNetworkParams) (Task, error)
}
type VAppService interface {
Get(vappID string) (VApp, error)
Delete(vappID string) (Task, error)
GetVirtualMachines(vappID string) ([]VirtualMachine, error)
GetNetworks(vappID string) ([]VAppNetwork, error)
AddOrgNetwork(vappID, orgVdcNetworkID string) (Task, error)
UpdateName(vappID, name string) (Task, error)
UpdateDescription(vappID, description string) (Task, error)
Copy(vappID string, params CopyVAppParams) (Task, error)
Move(vappID string, params MoveVAppParams) (Task, error)
BuildVirtualMachines(vappID string, params []BuildVirtualMachineParams) (Task, error)
AddTemplateVirtualMachines(vappID string, params []AddTemplateVirtualMachineParams) (Task, error)
CreateNetwork(vappID string, params CreateVAppNetworkParams) (Task, error)
PowerOn(vappID string) (Task, error)
PowerOff(vappID string) (Task, error)
Shutdown(vappID string) (Task, error)
Reboot(vappID string) (Task, error)
Reset(vappID string) (Task, error)
Suspend(vappID string) (Task, error)
GetCurrentBill(vappID string) (Billing, error)
GetBill(vappID string, month, year int) (Billing, error)
GetAvailableStorageProfiles(vappID string) ([]StorageProfile, error)
GetMetadata(vappID string) ([]Metadata, error)
UpdateMetadata(vappID string, metadata []Metadata) (Task, error)
DeleteMetadata(vappID, metadataKey string) (Task, error)
HasSnapshot(vappID string) (bool, error)
GetSnapshot(vappID string) (Snapshot, error)
CreateSnapshot(vappID string) (Task, error)
RestoreSnapshot(vappID string) (Task, error)
RemoveSnapshot(vappID string) (Task, error)
GetStartupSettings(vappID string) ([]VAppStartupSetting, error)
UpdateStartupSettings(vappID string, params []VAppStartupSetting) (Task, error)
GetPerformanceCounters(vappID string) ([]PerformanceCounter, error)
GetPerformance(vappID string, counter PerformanceCounter, start, end time.Time) (Performance, error)
GetSummary(vappID string) (VAppSummary, error)
}
type VAppNetworkService interface {
Get(vappNetworkID string) (VAppNetwork, error)
Update(vappNetworkID string, params UpdateVAppNetworkParams) (Task, error)
Delete(vappNetworkID string) (Task, error)
UpdateDHCP(vappNetworkID string, params DHCP) (Task, error)
GetFirewall(vappNetworkID string) (VAppNetworkFirewall, error)
UpdateFirewallRules(vappNetworkID string, rules []VAppNetworkFirewallRule) (Task, error)
EnableFirewall(vappNetworkID string) (Task, error)
DisableFirewall(vappNetworkID string) (Task, error)
GetNAT(vappNetworkID string) (VAppNetworkNAT, error)
UpdateNATIPTranslationRules(vappNetworkID string, rules []IPTranslationRule) (Task, error)
UpdateNATPortForwardingRules(vappNetworkID string, rules []PortForwardingRule) (Task, error)
EnableNAT(vappNetworkID string) (Task, error)
DisableNAT(vappNetworkID string) (Task, error)
GetInterfaces(vappNetwork string) ([]VirtualMachineInterface, error)
}
type VirtualMachineService interface {
Get(virtualMachineID string) (VirtualMachine, error)
Delete(virtualMachineID string) (Task, error)
UpdateName(virtualMachineID, name string) (Task, error)
UpdateDescription(virtualMachineID, description string) (Task, error)
PowerOn(virtualMachineID string) (Task, error)
PowerOnForceCustomization(virtualMachineID string) (Task, error)
PowerOff(virtualMachineID string) (Task, error)
Reboot(virtualMachineID string) (Task, error)
Reset(virtualMachineID string) (Task, error)
Shutdown(virtualMachineID string) (Task, error)
Suspend(virtualMachineID string) (Task, error)
Copy(virtualMachineID string, params CopyVirtualMachineParams) (Task, error)
Move(virtualMachineID string, params MoveVirtualMachineParams) (Task, error)
GetSummary(virtualMachineID string) (Summary, error)
GetAvailableStorageProfiles(virtualMachineID string) ([]StorageProfile, error)
ChangeStorageProfile(virtualMachineID, storageProfileID string) (Task, error)
EnableNestedHypervisor(virtualMachineID string) (Task, error)
DisableNestedHypervisor(virtualMachineID string) (Task, error)
InsertMedia(virtualMachineID, mediaID string) (Task, error)
EjectMedia(virtualMachineID string) (Task, error)
GetGuestCustomization(virtualMachineID string) (GuestCustomization, error)
UpdateGuestCustomization(virtualMachineID string, params GuestCustomization) (Task, error)
GetHotAdd(virtualMachineID string) (HotAdd, error)
UpdateHotAdd(virtualMachineID string, params HotAdd) (Task, error)
GetBootOptions(virtualMachineID string) (BootOptions, error)
UpdateBootOptions(virtualMachineID string, params BootOptions) (Task, error)
UpdateHardwareVersion(virtualMachineID string) (Task, error)
GetVMwareTools(virtualMachineID string) (VMwareTools, error)
UpgradeVMwareTools(virtualMachineID string) (Task, error)
InstallVMwareTools(virtualMachineID string) (Task, error)
Reconfigure(virtualMachineID string, params ReconfigureParams) (Task, error)
GetDisks(virtualMachineID string) ([]Disk, error)
AddDisk(virtualMachineID string, params DiskParams) (Task, error)
UpdateDisk(virtualMachineID string, params DiskParams) (Task, error)
UpdateDisks(virtualMachineID string, params []DiskParams) (Task, error)
DeleteDisk(virtualMachineID string, diskName string) (Task, error)
GetRecommendedBusType(virtualMachineID string) (string, error)
GetNics(virtualMachineID string) ([]Nic, error)
DeleteNic(virtualMachineID string, nicID int) (Task, error)
UpdateNics(virtualMachineID string, params []Nic) (Task, error)
UpdateCPU(virtualMachineID string, params UpdateCPUParams) (Task, error)
UpdateCPUCount(virtualMachineID string, cpuCount int) (Task, error)
UpdateMemory(virtualMachineID string, memorySize int) (Task, error)
GetBackups(virtualMachineID string) ([]VirtualMachineBackup, error)
RestoreBackup(virtualMachineID string, backupTimestamp int) (Task, error)
RestoreBackupToVApp(virtualMachineID, vappID string, backupTimestamp int) (Task, error)
HasSnapshot(virtualMachineID string) (bool, error)
GetSnapshot(virtualMachineID string) (Snapshot, error)
CreateSnapshot(virtualMachineID string) (Task, error)
RestoreSnapshot(virtualMachineID string) (Task, error)
RemoveSnapshot(virtualMachineID string) (Task, error)
GetNetworks(virtualMachineID string) ([]VAppNetwork, error)
GetCurrentBill(virtualMachineID string) (Billing, error)
GetBill(virtualMachineID string, month, year int) (Billing, error)
GetMetadata(virtualMachineID string) ([]Metadata, error)
UpdateMetadata(virtualMachineID string, metadata []Metadata) (Task, error)
DeleteMetadata(virtualMachineID string, metadataKey string) (Task, error)
GetPerformanceCounters(virtualMachineID string) ([]PerformanceCounter, error)
GetPerformance(virtualMachineID string, counter PerformanceCounter, start, end time.Time) (Performance, error)
GetConsoleSession(virtualMachineID string) (ConsoleSession, error)
GetScreenThumbnail(virtualMachineID string) ([]byte, error)
}
type VpgService interface {
Get(vpgID string) (Vpg, error)
GetCheckpoints(vpgID string) ([]VpgCheckpoint, error)
}