forked from huaweicloud/huaweicloud-sdk-go-v3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
model_resource_limit.go
131 lines (107 loc) · 2.75 KB
/
model_resource_limit.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
package model
import (
"github.com/dysodeng/huaweicloud-sdk-go-v3/core/utils"
"errors"
"github.com/dysodeng/huaweicloud-sdk-go-v3/core/converter"
"strings"
)
// ResourceLimit 实例规格。
type ResourceLimit struct {
// cpu限额。
CpuLimit ResourceLimitCpuLimit `json:"cpu_limit"`
// 内存限额。
MemoryLimit ResourceLimitMemoryLimit `json:"memory_limit"`
}
func (o ResourceLimit) String() string {
data, err := utils.Marshal(o)
if err != nil {
return "ResourceLimit struct{}"
}
return strings.Join([]string{"ResourceLimit", string(data)}, " ")
}
type ResourceLimitCpuLimit struct {
value string
}
type ResourceLimitCpuLimitEnum struct {
E_500M ResourceLimitCpuLimit
E_1000M ResourceLimitCpuLimit
E_2000M ResourceLimitCpuLimit
}
func GetResourceLimitCpuLimitEnum() ResourceLimitCpuLimitEnum {
return ResourceLimitCpuLimitEnum{
E_500M: ResourceLimitCpuLimit{
value: "500m",
},
E_1000M: ResourceLimitCpuLimit{
value: "1000m",
},
E_2000M: ResourceLimitCpuLimit{
value: "2000m",
},
}
}
func (c ResourceLimitCpuLimit) Value() string {
return c.value
}
func (c ResourceLimitCpuLimit) MarshalJSON() ([]byte, error) {
return utils.Marshal(c.value)
}
func (c *ResourceLimitCpuLimit) UnmarshalJSON(b []byte) error {
myConverter := converter.StringConverterFactory("string")
if myConverter == nil {
return errors.New("unsupported StringConverter type: string")
}
interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\""))
if err != nil {
return err
}
if val, ok := interf.(string); ok {
c.value = val
return nil
} else {
return errors.New("convert enum data to string error")
}
}
type ResourceLimitMemoryLimit struct {
value string
}
type ResourceLimitMemoryLimitEnum struct {
E_1_GI ResourceLimitMemoryLimit
E_2_GI ResourceLimitMemoryLimit
E_4_GI ResourceLimitMemoryLimit
}
func GetResourceLimitMemoryLimitEnum() ResourceLimitMemoryLimitEnum {
return ResourceLimitMemoryLimitEnum{
E_1_GI: ResourceLimitMemoryLimit{
value: "1Gi",
},
E_2_GI: ResourceLimitMemoryLimit{
value: "2Gi",
},
E_4_GI: ResourceLimitMemoryLimit{
value: "4Gi",
},
}
}
func (c ResourceLimitMemoryLimit) Value() string {
return c.value
}
func (c ResourceLimitMemoryLimit) MarshalJSON() ([]byte, error) {
return utils.Marshal(c.value)
}
func (c *ResourceLimitMemoryLimit) UnmarshalJSON(b []byte) error {
myConverter := converter.StringConverterFactory("string")
if myConverter == nil {
return errors.New("unsupported StringConverter type: string")
}
interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\""))
if err != nil {
return err
}
if val, ok := interf.(string); ok {
c.value = val
return nil
} else {
return errors.New("convert enum data to string error")
}
}