-
Notifications
You must be signed in to change notification settings - Fork 1
/
models_objects.go
86 lines (75 loc) · 1.92 KB
/
models_objects.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
/*
Copyright (c) 2019 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Author: Sergey Shubin, <sergey.shubin@digitalenergy.online>, <svs1370@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package decs
type DiskConfig struct {
Label string
Size int
Pool string
Provider string
ID int
}
type NetworkConfig struct {
Label string
NetworkID int
}
type PortforwardConfig struct {
Label string
ExtPort int
IntPort int
Proto string
}
type SshKeyConfig struct {
User string
SshKey string
UserShell string
}
type MachineConfig struct {
ResGroupID int
Name string
ID int
Cpu int
Ram int
ImageID int
BootDisk DiskConfig
DataDisks []DiskConfig
Networks []NetworkConfig
PortForwards []PortforwardConfig
SshKeys []SshKeyConfig
Description string
// The following two parameters are required to create data disks by
// a separate disks/create API call
TenantID int
GridID int
// The following one paratmeter is required to create port forwards
// it will be obsoleted when we implement true Resource Groups
ExtIP string
}
type ResgroupQuotaConfig struct {
Cpu int
Ram float32 // NOTE: it is float32! However, int would be enough here
Disk int
NetTraffic int
ExtIPs int
}
type ResgroupConfig struct {
TenantID int
TenantName string
Location string
Name string
ID int
GridID int
ExtIP string // legacy field for VDC - this will eventually become obsoleted by true Resource Groups
Quota ResgroupQuotaConfig
Network NetworkConfig
}