forked from ilanddev/go-sdk
/
interfaces.go
292 lines (268 loc) · 12.9 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
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
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, error)
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
VacTenant() VacTenantService
Vpg() VpgService
O365() O365Service
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)
Query(entityID, entityType string, childTasks bool) ([]Task, error)
}
type VCCBackupTenantService interface {
Get(vccBackupTenantID string) (VCCBackupTenant, error)
}
type VacTenantService interface {
Get(id string) (VacTenant, error)
}
type O365Service interface {
GetOrganization(id string) (O365Organization, error)
GetUsers(id string) ([]O365User, error)
GetUserReport(id string) ([]byte, 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)
GetVacTenants(companyID string) ([]VacTenant, error)
GetLocationVacTenants(companyID, location string) ([]VacTenant, error)
GetInventory(companyID string) (CompanyInventory, error)
MarkUserAsInvited(companyID, username string) error
SendInviteEmails(companyID string, usernames ...string) error
}
type UserService interface {
Get(username string) (User, error)
Delete(username string) error
Update(username string, params UpdateUserParams) (User, error)
GetCompanies(username string) ([]Company, error)
GetUserCompanyVacTenants(username, companyID string) ([]VacTenant, error)
GetCompanyVacTenants(companyID string) ([]VacTenant, 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)
GetVCCFailoverPlans(orgID string) ([]VCCFailoverPlan, 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)
GetBackupStats(vdcID string) (VdcBackupStats, 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)
GetFirewall(edgeID string) (EdgeFirewall, error)
UpdateFirewall(edgeID string, firewall EdgeFirewall) (EdgeFirewall, error)
GetNAT(edgeID string) (EdgeNAT, error)
UpdateNAT(edgeID string, nat EdgeNAT) (EdgeNAT, 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)
}