forked from huaweicloud/huaweicloud-sdk-go-v3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
model_api_policy_http_create.go
271 lines (220 loc) · 7.74 KB
/
model_api_policy_http_create.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
package model
import (
"github.com/dysodeng/huaweicloud-sdk-go-v3/core/utils"
"errors"
"github.com/dysodeng/huaweicloud-sdk-go-v3/core/converter"
"strings"
)
type ApiPolicyHttpCreate struct {
// 策略后端的Endpoint。 由域名(或IP地址)和端口号组成,总长度不超过255。格式为域名:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443, HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、“_”、“-”组成,且只能以英文开头。
UrlDomain *string `json:"url_domain,omitempty"`
// 请求协议:HTTP、HTTPS
ReqProtocol ApiPolicyHttpCreateReqProtocol `json:"req_protocol"`
// 请求方式:GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY
ReqMethod ApiPolicyHttpCreateReqMethod `json:"req_method"`
// 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * % - _ . 等特殊字符,总长度不超过512,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 > 需要服从URI规范。
ReqUri string `json:"req_uri"`
// API网关请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。
Timeout *int32 `json:"timeout,omitempty"`
// 请求后端服务的重试次数,默认为-1,范围[-1,10]。 当该值为-1时,幂等的接口会重试1次,非幂等的不会重试。POST,PATCH方法为非幂等;GET,HEAD,PUT,OPTIONS和DELETE等方法为幂等的。
RetryCount *string `json:"retry_count,omitempty"`
// 关联的策略组合模式: - ALL:满足全部条件 - ANY:满足任一条件
EffectMode ApiPolicyHttpCreateEffectMode `json:"effect_mode"`
// 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。
Name string `json:"name"`
// 后端参数列表
BackendParams *[]BackendParamBase `json:"backend_params,omitempty"`
// 策略条件列表
Conditions []ApiConditionBase `json:"conditions"`
// 后端自定义认证对象的ID
AuthorizerId *string `json:"authorizer_id,omitempty"`
VpcChannelInfo *ApiBackendVpcReq `json:"vpc_channel_info,omitempty"`
// 是否使用VPC通道 - 1 : 使用VPC通道 - 2 : 不使用VPC通道
VpcChannelStatus *ApiPolicyHttpCreateVpcChannelStatus `json:"vpc_channel_status,omitempty"`
}
func (o ApiPolicyHttpCreate) String() string {
data, err := utils.Marshal(o)
if err != nil {
return "ApiPolicyHttpCreate struct{}"
}
return strings.Join([]string{"ApiPolicyHttpCreate", string(data)}, " ")
}
type ApiPolicyHttpCreateReqProtocol struct {
value string
}
type ApiPolicyHttpCreateReqProtocolEnum struct {
HTTP ApiPolicyHttpCreateReqProtocol
HTTPS ApiPolicyHttpCreateReqProtocol
}
func GetApiPolicyHttpCreateReqProtocolEnum() ApiPolicyHttpCreateReqProtocolEnum {
return ApiPolicyHttpCreateReqProtocolEnum{
HTTP: ApiPolicyHttpCreateReqProtocol{
value: "HTTP",
},
HTTPS: ApiPolicyHttpCreateReqProtocol{
value: "HTTPS",
},
}
}
func (c ApiPolicyHttpCreateReqProtocol) Value() string {
return c.value
}
func (c ApiPolicyHttpCreateReqProtocol) MarshalJSON() ([]byte, error) {
return utils.Marshal(c.value)
}
func (c *ApiPolicyHttpCreateReqProtocol) 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 ApiPolicyHttpCreateReqMethod struct {
value string
}
type ApiPolicyHttpCreateReqMethodEnum struct {
GET ApiPolicyHttpCreateReqMethod
POST ApiPolicyHttpCreateReqMethod
PUT ApiPolicyHttpCreateReqMethod
DELETE ApiPolicyHttpCreateReqMethod
HEAD ApiPolicyHttpCreateReqMethod
PATCH ApiPolicyHttpCreateReqMethod
OPTIONS ApiPolicyHttpCreateReqMethod
ANY ApiPolicyHttpCreateReqMethod
}
func GetApiPolicyHttpCreateReqMethodEnum() ApiPolicyHttpCreateReqMethodEnum {
return ApiPolicyHttpCreateReqMethodEnum{
GET: ApiPolicyHttpCreateReqMethod{
value: "GET",
},
POST: ApiPolicyHttpCreateReqMethod{
value: "POST",
},
PUT: ApiPolicyHttpCreateReqMethod{
value: "PUT",
},
DELETE: ApiPolicyHttpCreateReqMethod{
value: "DELETE",
},
HEAD: ApiPolicyHttpCreateReqMethod{
value: "HEAD",
},
PATCH: ApiPolicyHttpCreateReqMethod{
value: "PATCH",
},
OPTIONS: ApiPolicyHttpCreateReqMethod{
value: "OPTIONS",
},
ANY: ApiPolicyHttpCreateReqMethod{
value: "ANY",
},
}
}
func (c ApiPolicyHttpCreateReqMethod) Value() string {
return c.value
}
func (c ApiPolicyHttpCreateReqMethod) MarshalJSON() ([]byte, error) {
return utils.Marshal(c.value)
}
func (c *ApiPolicyHttpCreateReqMethod) 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 ApiPolicyHttpCreateEffectMode struct {
value string
}
type ApiPolicyHttpCreateEffectModeEnum struct {
ALL ApiPolicyHttpCreateEffectMode
ANY ApiPolicyHttpCreateEffectMode
}
func GetApiPolicyHttpCreateEffectModeEnum() ApiPolicyHttpCreateEffectModeEnum {
return ApiPolicyHttpCreateEffectModeEnum{
ALL: ApiPolicyHttpCreateEffectMode{
value: "ALL",
},
ANY: ApiPolicyHttpCreateEffectMode{
value: "ANY",
},
}
}
func (c ApiPolicyHttpCreateEffectMode) Value() string {
return c.value
}
func (c ApiPolicyHttpCreateEffectMode) MarshalJSON() ([]byte, error) {
return utils.Marshal(c.value)
}
func (c *ApiPolicyHttpCreateEffectMode) 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 ApiPolicyHttpCreateVpcChannelStatus struct {
value int32
}
type ApiPolicyHttpCreateVpcChannelStatusEnum struct {
E_1 ApiPolicyHttpCreateVpcChannelStatus
E_2 ApiPolicyHttpCreateVpcChannelStatus
}
func GetApiPolicyHttpCreateVpcChannelStatusEnum() ApiPolicyHttpCreateVpcChannelStatusEnum {
return ApiPolicyHttpCreateVpcChannelStatusEnum{
E_1: ApiPolicyHttpCreateVpcChannelStatus{
value: 1,
}, E_2: ApiPolicyHttpCreateVpcChannelStatus{
value: 2,
},
}
}
func (c ApiPolicyHttpCreateVpcChannelStatus) Value() int32 {
return c.value
}
func (c ApiPolicyHttpCreateVpcChannelStatus) MarshalJSON() ([]byte, error) {
return utils.Marshal(c.value)
}
func (c *ApiPolicyHttpCreateVpcChannelStatus) UnmarshalJSON(b []byte) error {
myConverter := converter.StringConverterFactory("int32")
if myConverter == nil {
return errors.New("unsupported StringConverter type: int32")
}
interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\""))
if err != nil {
return err
}
if val, ok := interf.(int32); ok {
c.value = val
return nil
} else {
return errors.New("convert enum data to int32 error")
}
}