1// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//    http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package v20180529
16
17import (
18    "encoding/json"
19    tcerr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
20    tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http"
21)
22
23type AccessConfiguration struct {
24
25	// 加速地域。
26	AccessRegion *string `json:"AccessRegion,omitempty" name:"AccessRegion"`
27
28	// 通道带宽上限,单位:Mbps。
29	Bandwidth *uint64 `json:"Bandwidth,omitempty" name:"Bandwidth"`
30
31	// 通道并发量上限,表示同时在线的连接数,单位:万。
32	Concurrent *uint64 `json:"Concurrent,omitempty" name:"Concurrent"`
33
34	// 网络类型,可取值:normal、cn2,默认值为normal
35	NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"`
36}
37
38type AccessRegionDetial struct {
39
40	// 区域ID
41	RegionId *string `json:"RegionId,omitempty" name:"RegionId"`
42
43	// 区域的中文或英文名称
44	RegionName *string `json:"RegionName,omitempty" name:"RegionName"`
45
46	// 可选的并发量取值数组
47	ConcurrentList []*int64 `json:"ConcurrentList,omitempty" name:"ConcurrentList"`
48
49	// 可选的带宽取值数组
50	BandwidthList []*int64 `json:"BandwidthList,omitempty" name:"BandwidthList"`
51}
52
53type AccessRegionDomainConf struct {
54
55	// 地域ID。
56	RegionId *string `json:"RegionId,omitempty" name:"RegionId"`
57
58	// 就近接入区域国家内部编码,编码列表可通过DescribeCountryAreaMapping接口获取。
59	NationCountryInnerList []*string `json:"NationCountryInnerList,omitempty" name:"NationCountryInnerList"`
60}
61
62type AddRealServersRequest struct {
63	*tchttp.BaseRequest
64
65	// 源站对应的项目ID
66	ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
67
68	// 源站对应的IP或域名
69	RealServerIP []*string `json:"RealServerIP,omitempty" name:"RealServerIP"`
70
71	// 源站名称
72	RealServerName *string `json:"RealServerName,omitempty" name:"RealServerName"`
73
74	// 标签列表
75	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
76}
77
78func (r *AddRealServersRequest) ToJsonString() string {
79    b, _ := json.Marshal(r)
80    return string(b)
81}
82
83// FromJsonString It is highly **NOT** recommended to use this function
84// because it has no param check, nor strict type check
85func (r *AddRealServersRequest) FromJsonString(s string) error {
86	f := make(map[string]interface{})
87	if err := json.Unmarshal([]byte(s), &f); err != nil {
88		return err
89	}
90	delete(f, "ProjectId")
91	delete(f, "RealServerIP")
92	delete(f, "RealServerName")
93	delete(f, "TagSet")
94	if len(f) > 0 {
95		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddRealServersRequest has unknown keys!", "")
96	}
97	return json.Unmarshal([]byte(s), &r)
98}
99
100type AddRealServersResponse struct {
101	*tchttp.BaseResponse
102	Response *struct {
103
104		// 源站信息列表
105		RealServerSet []*NewRealServer `json:"RealServerSet,omitempty" name:"RealServerSet"`
106
107		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
108		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
109	} `json:"Response"`
110}
111
112func (r *AddRealServersResponse) ToJsonString() string {
113    b, _ := json.Marshal(r)
114    return string(b)
115}
116
117// FromJsonString It is highly **NOT** recommended to use this function
118// because it has no param check, nor strict type check
119func (r *AddRealServersResponse) FromJsonString(s string) error {
120	return json.Unmarshal([]byte(s), &r)
121}
122
123type BandwidthPriceGradient struct {
124
125	// 带宽范围。
126	BandwidthRange []*int64 `json:"BandwidthRange,omitempty" name:"BandwidthRange"`
127
128	// 在对应带宽范围内的单宽单价,单位:元/Mbps/天。
129	BandwidthUnitPrice *float64 `json:"BandwidthUnitPrice,omitempty" name:"BandwidthUnitPrice"`
130
131	// 带宽折扣价,单位:元/Mbps/天。
132	DiscountBandwidthUnitPrice *float64 `json:"DiscountBandwidthUnitPrice,omitempty" name:"DiscountBandwidthUnitPrice"`
133}
134
135type BindListenerRealServersRequest struct {
136	*tchttp.BaseRequest
137
138	// 监听器ID
139	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
140
141	// 待绑定源站列表。如果该监听器的源站调度策略是加权轮询,需要填写源站权重 RealServerWeight, 不填或者其他调度类型默认源站权重为1。
142	RealServerBindSet []*RealServerBindSetReq `json:"RealServerBindSet,omitempty" name:"RealServerBindSet"`
143}
144
145func (r *BindListenerRealServersRequest) ToJsonString() string {
146    b, _ := json.Marshal(r)
147    return string(b)
148}
149
150// FromJsonString It is highly **NOT** recommended to use this function
151// because it has no param check, nor strict type check
152func (r *BindListenerRealServersRequest) FromJsonString(s string) error {
153	f := make(map[string]interface{})
154	if err := json.Unmarshal([]byte(s), &f); err != nil {
155		return err
156	}
157	delete(f, "ListenerId")
158	delete(f, "RealServerBindSet")
159	if len(f) > 0 {
160		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "BindListenerRealServersRequest has unknown keys!", "")
161	}
162	return json.Unmarshal([]byte(s), &r)
163}
164
165type BindListenerRealServersResponse struct {
166	*tchttp.BaseResponse
167	Response *struct {
168
169		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
170		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
171	} `json:"Response"`
172}
173
174func (r *BindListenerRealServersResponse) ToJsonString() string {
175    b, _ := json.Marshal(r)
176    return string(b)
177}
178
179// FromJsonString It is highly **NOT** recommended to use this function
180// because it has no param check, nor strict type check
181func (r *BindListenerRealServersResponse) FromJsonString(s string) error {
182	return json.Unmarshal([]byte(s), &r)
183}
184
185type BindRealServer struct {
186
187	// 源站ID
188	RealServerId *string `json:"RealServerId,omitempty" name:"RealServerId"`
189
190	// 源站IP或者域名
191	RealServerIP *string `json:"RealServerIP,omitempty" name:"RealServerIP"`
192
193	// 该源站所占权重
194	RealServerWeight *int64 `json:"RealServerWeight,omitempty" name:"RealServerWeight"`
195
196	// 源站健康检查状态,其中:
197	// 0表示正常;
198	// 1表示异常。
199	// 未开启健康检查状态时,该状态始终为正常。
200	// 注意:此字段可能返回 null,表示取不到有效值。
201	RealServerStatus *int64 `json:"RealServerStatus,omitempty" name:"RealServerStatus"`
202
203	// 源站的端口号
204	// 注意:此字段可能返回 null,表示取不到有效值。
205	RealServerPort *int64 `json:"RealServerPort,omitempty" name:"RealServerPort"`
206
207	// 当源站为域名时,域名被解析成一个或者多个IP,该字段表示其中异常的IP列表。状态异常,但该字段为空时,表示域名解析异常。
208	DownIPList []*string `json:"DownIPList,omitempty" name:"DownIPList"`
209}
210
211type BindRealServerInfo struct {
212
213	// 源站的IP或域名
214	RealServerIP *string `json:"RealServerIP,omitempty" name:"RealServerIP"`
215
216	// 源站ID
217	RealServerId *string `json:"RealServerId,omitempty" name:"RealServerId"`
218
219	// 源站名称
220	RealServerName *string `json:"RealServerName,omitempty" name:"RealServerName"`
221
222	// 项目ID
223	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
224
225	// 标签列表
226	// 注意:此字段可能返回 null,表示取不到有效值。
227	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
228}
229
230type BindRuleRealServersRequest struct {
231	*tchttp.BaseRequest
232
233	// 转发规则ID
234	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
235
236	// 需要绑定的源站信息列表。
237	// 如果已经存在绑定的源站,则会覆盖更新成这个源站列表。
238	// 当不带该字段时,表示解绑该规则上的所有源站。
239	// 如果该规则的源站调度策略是加权轮询,需要填写源站权重 RealServerWeight, 不填或者其他调度类型默认源站权重为1。
240	RealServerBindSet []*RealServerBindSetReq `json:"RealServerBindSet,omitempty" name:"RealServerBindSet"`
241}
242
243func (r *BindRuleRealServersRequest) ToJsonString() string {
244    b, _ := json.Marshal(r)
245    return string(b)
246}
247
248// FromJsonString It is highly **NOT** recommended to use this function
249// because it has no param check, nor strict type check
250func (r *BindRuleRealServersRequest) FromJsonString(s string) error {
251	f := make(map[string]interface{})
252	if err := json.Unmarshal([]byte(s), &f); err != nil {
253		return err
254	}
255	delete(f, "RuleId")
256	delete(f, "RealServerBindSet")
257	if len(f) > 0 {
258		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "BindRuleRealServersRequest has unknown keys!", "")
259	}
260	return json.Unmarshal([]byte(s), &r)
261}
262
263type BindRuleRealServersResponse struct {
264	*tchttp.BaseResponse
265	Response *struct {
266
267		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
268		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
269	} `json:"Response"`
270}
271
272func (r *BindRuleRealServersResponse) ToJsonString() string {
273    b, _ := json.Marshal(r)
274    return string(b)
275}
276
277// FromJsonString It is highly **NOT** recommended to use this function
278// because it has no param check, nor strict type check
279func (r *BindRuleRealServersResponse) FromJsonString(s string) error {
280	return json.Unmarshal([]byte(s), &r)
281}
282
283type Certificate struct {
284
285	// 证书ID
286	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
287
288	// 证书名称(旧参数,请使用CertificateAlias)。
289	CertificateName *string `json:"CertificateName,omitempty" name:"CertificateName"`
290
291	// 证书类型。
292	CertificateType *int64 `json:"CertificateType,omitempty" name:"CertificateType"`
293
294	// 证书名称。
295	// 注意:此字段可能返回 null,表示取不到有效值。
296	CertificateAlias *string `json:"CertificateAlias,omitempty" name:"CertificateAlias"`
297
298	// 证书创建时间,采用Unix时间戳的方式,表示从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
299	CreateTime *uint64 `json:"CreateTime,omitempty" name:"CreateTime"`
300
301	// 证书生效起始时间,采用Unix时间戳的方式,表示从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
302	// 注意:此字段可能返回 null,表示取不到有效值。
303	BeginTime *uint64 `json:"BeginTime,omitempty" name:"BeginTime"`
304
305	// 证书过期时间,采用Unix时间戳的方式,表示从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
306	// 注意:此字段可能返回 null,表示取不到有效值。
307	EndTime *uint64 `json:"EndTime,omitempty" name:"EndTime"`
308
309	// 证书签发者通用名称。
310	// 注意:此字段可能返回 null,表示取不到有效值。
311	IssuerCN *string `json:"IssuerCN,omitempty" name:"IssuerCN"`
312
313	// 证书主题通用名称。
314	// 注意:此字段可能返回 null,表示取不到有效值。
315	SubjectCN *string `json:"SubjectCN,omitempty" name:"SubjectCN"`
316}
317
318type CertificateAliasInfo struct {
319
320	// 证书ID
321	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
322
323	// 证书别名
324	CertificateAlias *string `json:"CertificateAlias,omitempty" name:"CertificateAlias"`
325}
326
327type CertificateDetail struct {
328
329	// 证书ID。
330	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
331
332	// 证书类型。
333	CertificateType *int64 `json:"CertificateType,omitempty" name:"CertificateType"`
334
335	// 证书名字。
336	// 注意:此字段可能返回 null,表示取不到有效值。
337	CertificateAlias *string `json:"CertificateAlias,omitempty" name:"CertificateAlias"`
338
339	// 证书内容。
340	CertificateContent *string `json:"CertificateContent,omitempty" name:"CertificateContent"`
341
342	// 密钥内容。仅当证书类型为SSL证书时,返回该字段。
343	// 注意:此字段可能返回 null,表示取不到有效值。
344	CertificateKey *string `json:"CertificateKey,omitempty" name:"CertificateKey"`
345
346	// 创建时间,采用Unix时间戳的方式,表示从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
347	// 注意:此字段可能返回 null,表示取不到有效值。
348	CreateTime *uint64 `json:"CreateTime,omitempty" name:"CreateTime"`
349
350	// 证书生效起始时间,采用Unix时间戳的方式,表示从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
351	// 注意:此字段可能返回 null,表示取不到有效值。
352	BeginTime *uint64 `json:"BeginTime,omitempty" name:"BeginTime"`
353
354	// 证书过期时间,采用Unix时间戳的方式,表示从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
355	// 注意:此字段可能返回 null,表示取不到有效值。
356	EndTime *uint64 `json:"EndTime,omitempty" name:"EndTime"`
357
358	// 证书签发者通用名称。
359	// 注意:此字段可能返回 null,表示取不到有效值。
360	IssuerCN *string `json:"IssuerCN,omitempty" name:"IssuerCN"`
361
362	// 证书主题通用名称。
363	// 注意:此字段可能返回 null,表示取不到有效值。
364	SubjectCN *string `json:"SubjectCN,omitempty" name:"SubjectCN"`
365}
366
367type CheckProxyCreateRequest struct {
368	*tchttp.BaseRequest
369
370	// 通道的接入(加速)区域。取值可通过接口DescribeAccessRegionsByDestRegion获取到
371	AccessRegion *string `json:"AccessRegion,omitempty" name:"AccessRegion"`
372
373	// 通道的源站区域。取值可通过接口DescribeDestRegions获取到
374	RealServerRegion *string `json:"RealServerRegion,omitempty" name:"RealServerRegion"`
375
376	// 通道带宽上限,单位:Mbps。
377	Bandwidth *uint64 `json:"Bandwidth,omitempty" name:"Bandwidth"`
378
379	// 通道并发量上限,表示同时在线的连接数,单位:万。
380	Concurrent *uint64 `json:"Concurrent,omitempty" name:"Concurrent"`
381
382	// 如果在通道组下创建通道,需要填写通道组的ID
383	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
384
385	// IP版本,可取值:IPv4、IPv6,默认值IPv4
386	IPAddressVersion *string `json:"IPAddressVersion,omitempty" name:"IPAddressVersion"`
387
388	// 网络类型,可取值:normal、cn2,默认值normal
389	NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"`
390}
391
392func (r *CheckProxyCreateRequest) ToJsonString() string {
393    b, _ := json.Marshal(r)
394    return string(b)
395}
396
397// FromJsonString It is highly **NOT** recommended to use this function
398// because it has no param check, nor strict type check
399func (r *CheckProxyCreateRequest) FromJsonString(s string) error {
400	f := make(map[string]interface{})
401	if err := json.Unmarshal([]byte(s), &f); err != nil {
402		return err
403	}
404	delete(f, "AccessRegion")
405	delete(f, "RealServerRegion")
406	delete(f, "Bandwidth")
407	delete(f, "Concurrent")
408	delete(f, "GroupId")
409	delete(f, "IPAddressVersion")
410	delete(f, "NetworkType")
411	if len(f) > 0 {
412		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckProxyCreateRequest has unknown keys!", "")
413	}
414	return json.Unmarshal([]byte(s), &r)
415}
416
417type CheckProxyCreateResponse struct {
418	*tchttp.BaseResponse
419	Response *struct {
420
421		// 查询能否创建给定配置的通道,1可以创建,0不可创建。
422		CheckFlag *uint64 `json:"CheckFlag,omitempty" name:"CheckFlag"`
423
424		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
425		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
426	} `json:"Response"`
427}
428
429func (r *CheckProxyCreateResponse) ToJsonString() string {
430    b, _ := json.Marshal(r)
431    return string(b)
432}
433
434// FromJsonString It is highly **NOT** recommended to use this function
435// because it has no param check, nor strict type check
436func (r *CheckProxyCreateResponse) FromJsonString(s string) error {
437	return json.Unmarshal([]byte(s), &r)
438}
439
440type CloseProxiesRequest struct {
441	*tchttp.BaseRequest
442
443	// (旧参数,请切换到ProxyIds)通道的实例ID。
444	InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
445
446	// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
447	// 更多详细信息请参阅:如何保证幂等性。
448	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
449
450	// (新参数)通道的实例ID。
451	ProxyIds []*string `json:"ProxyIds,omitempty" name:"ProxyIds"`
452}
453
454func (r *CloseProxiesRequest) ToJsonString() string {
455    b, _ := json.Marshal(r)
456    return string(b)
457}
458
459// FromJsonString It is highly **NOT** recommended to use this function
460// because it has no param check, nor strict type check
461func (r *CloseProxiesRequest) FromJsonString(s string) error {
462	f := make(map[string]interface{})
463	if err := json.Unmarshal([]byte(s), &f); err != nil {
464		return err
465	}
466	delete(f, "InstanceIds")
467	delete(f, "ClientToken")
468	delete(f, "ProxyIds")
469	if len(f) > 0 {
470		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CloseProxiesRequest has unknown keys!", "")
471	}
472	return json.Unmarshal([]byte(s), &r)
473}
474
475type CloseProxiesResponse struct {
476	*tchttp.BaseResponse
477	Response *struct {
478
479		// 非运行状态下的通道实例ID列表,不可开启。
480		InvalidStatusInstanceSet []*string `json:"InvalidStatusInstanceSet,omitempty" name:"InvalidStatusInstanceSet"`
481
482		// 开启操作失败的通道实例ID列表。
483		OperationFailedInstanceSet []*string `json:"OperationFailedInstanceSet,omitempty" name:"OperationFailedInstanceSet"`
484
485		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
486		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
487	} `json:"Response"`
488}
489
490func (r *CloseProxiesResponse) ToJsonString() string {
491    b, _ := json.Marshal(r)
492    return string(b)
493}
494
495// FromJsonString It is highly **NOT** recommended to use this function
496// because it has no param check, nor strict type check
497func (r *CloseProxiesResponse) FromJsonString(s string) error {
498	return json.Unmarshal([]byte(s), &r)
499}
500
501type CloseProxyGroupRequest struct {
502	*tchttp.BaseRequest
503
504	// 通道组的实例 ID。
505	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
506}
507
508func (r *CloseProxyGroupRequest) ToJsonString() string {
509    b, _ := json.Marshal(r)
510    return string(b)
511}
512
513// FromJsonString It is highly **NOT** recommended to use this function
514// because it has no param check, nor strict type check
515func (r *CloseProxyGroupRequest) FromJsonString(s string) error {
516	f := make(map[string]interface{})
517	if err := json.Unmarshal([]byte(s), &f); err != nil {
518		return err
519	}
520	delete(f, "GroupId")
521	if len(f) > 0 {
522		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CloseProxyGroupRequest has unknown keys!", "")
523	}
524	return json.Unmarshal([]byte(s), &r)
525}
526
527type CloseProxyGroupResponse struct {
528	*tchttp.BaseResponse
529	Response *struct {
530
531		// 非运行状态下的通道实例ID列表,不可开启。
532		InvalidStatusInstanceSet []*string `json:"InvalidStatusInstanceSet,omitempty" name:"InvalidStatusInstanceSet"`
533
534		// 开启操作失败的通道实例ID列表。
535		OperationFailedInstanceSet []*string `json:"OperationFailedInstanceSet,omitempty" name:"OperationFailedInstanceSet"`
536
537		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
538		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
539	} `json:"Response"`
540}
541
542func (r *CloseProxyGroupResponse) ToJsonString() string {
543    b, _ := json.Marshal(r)
544    return string(b)
545}
546
547// FromJsonString It is highly **NOT** recommended to use this function
548// because it has no param check, nor strict type check
549func (r *CloseProxyGroupResponse) FromJsonString(s string) error {
550	return json.Unmarshal([]byte(s), &r)
551}
552
553type CloseSecurityPolicyRequest struct {
554	*tchttp.BaseRequest
555
556	// 通道ID
557	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
558
559	// 安全组策略ID
560	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
561}
562
563func (r *CloseSecurityPolicyRequest) ToJsonString() string {
564    b, _ := json.Marshal(r)
565    return string(b)
566}
567
568// FromJsonString It is highly **NOT** recommended to use this function
569// because it has no param check, nor strict type check
570func (r *CloseSecurityPolicyRequest) FromJsonString(s string) error {
571	f := make(map[string]interface{})
572	if err := json.Unmarshal([]byte(s), &f); err != nil {
573		return err
574	}
575	delete(f, "ProxyId")
576	delete(f, "PolicyId")
577	if len(f) > 0 {
578		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CloseSecurityPolicyRequest has unknown keys!", "")
579	}
580	return json.Unmarshal([]byte(s), &r)
581}
582
583type CloseSecurityPolicyResponse struct {
584	*tchttp.BaseResponse
585	Response *struct {
586
587		// 异步流程ID,可以通过DescribeAsyncTaskStatus 查询流程执行进展和状态
588		TaskId *string `json:"TaskId,omitempty" name:"TaskId"`
589
590		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
591		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
592	} `json:"Response"`
593}
594
595func (r *CloseSecurityPolicyResponse) ToJsonString() string {
596    b, _ := json.Marshal(r)
597    return string(b)
598}
599
600// FromJsonString It is highly **NOT** recommended to use this function
601// because it has no param check, nor strict type check
602func (r *CloseSecurityPolicyResponse) FromJsonString(s string) error {
603	return json.Unmarshal([]byte(s), &r)
604}
605
606type CountryAreaMap struct {
607
608	// 国家名称。
609	NationCountryName *string `json:"NationCountryName,omitempty" name:"NationCountryName"`
610
611	// 国家编码。
612	NationCountryInnerCode *string `json:"NationCountryInnerCode,omitempty" name:"NationCountryInnerCode"`
613
614	// 地区名称。
615	GeographicalZoneName *string `json:"GeographicalZoneName,omitempty" name:"GeographicalZoneName"`
616
617	// 地区编码。
618	GeographicalZoneInnerCode *string `json:"GeographicalZoneInnerCode,omitempty" name:"GeographicalZoneInnerCode"`
619
620	// 大洲名称。
621	ContinentName *string `json:"ContinentName,omitempty" name:"ContinentName"`
622
623	// 大洲编码。
624	ContinentInnerCode *string `json:"ContinentInnerCode,omitempty" name:"ContinentInnerCode"`
625}
626
627type CreateCertificateRequest struct {
628	*tchttp.BaseRequest
629
630	// 证书类型。其中:
631	// 0,表示基础认证配置;
632	// 1,表示客户端CA证书;
633	// 2,服务器SSL证书;
634	// 3,表示源站CA证书;
635	// 4,表示通道SSL证书。
636	CertificateType *int64 `json:"CertificateType,omitempty" name:"CertificateType"`
637
638	// 证书内容。采用url编码。其中:
639	// 当证书类型为基础认证配置时,该参数填写用户名/密码对。格式:“用户名:密码”,例如:root:FSGdT。其中密码使用htpasswd或者openssl,例如:openssl passwd -crypt 123456。
640	// 当证书类型为CA/SSL证书时,该参数填写证书内容,格式为pem。
641	CertificateContent *string `json:"CertificateContent,omitempty" name:"CertificateContent"`
642
643	// 证书名称
644	CertificateAlias *string `json:"CertificateAlias,omitempty" name:"CertificateAlias"`
645
646	// 密钥内容。采用url编码。仅当证书类型为SSL证书时,需要填写该参数。格式为pem。
647	CertificateKey *string `json:"CertificateKey,omitempty" name:"CertificateKey"`
648}
649
650func (r *CreateCertificateRequest) ToJsonString() string {
651    b, _ := json.Marshal(r)
652    return string(b)
653}
654
655// FromJsonString It is highly **NOT** recommended to use this function
656// because it has no param check, nor strict type check
657func (r *CreateCertificateRequest) FromJsonString(s string) error {
658	f := make(map[string]interface{})
659	if err := json.Unmarshal([]byte(s), &f); err != nil {
660		return err
661	}
662	delete(f, "CertificateType")
663	delete(f, "CertificateContent")
664	delete(f, "CertificateAlias")
665	delete(f, "CertificateKey")
666	if len(f) > 0 {
667		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateCertificateRequest has unknown keys!", "")
668	}
669	return json.Unmarshal([]byte(s), &r)
670}
671
672type CreateCertificateResponse struct {
673	*tchttp.BaseResponse
674	Response *struct {
675
676		// 证书ID
677		CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
678
679		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
680		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
681	} `json:"Response"`
682}
683
684func (r *CreateCertificateResponse) ToJsonString() string {
685    b, _ := json.Marshal(r)
686    return string(b)
687}
688
689// FromJsonString It is highly **NOT** recommended to use this function
690// because it has no param check, nor strict type check
691func (r *CreateCertificateResponse) FromJsonString(s string) error {
692	return json.Unmarshal([]byte(s), &r)
693}
694
695type CreateCustomHeaderRequest struct {
696	*tchttp.BaseRequest
697
698	// 规则id
699	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
700
701	// 新增的header名称和内容列表, ‘’$remote_addr‘’会被解析替换成客户端ip,其他值原样透传到源站。
702	Headers []*HttpHeaderParam `json:"Headers,omitempty" name:"Headers"`
703}
704
705func (r *CreateCustomHeaderRequest) ToJsonString() string {
706    b, _ := json.Marshal(r)
707    return string(b)
708}
709
710// FromJsonString It is highly **NOT** recommended to use this function
711// because it has no param check, nor strict type check
712func (r *CreateCustomHeaderRequest) FromJsonString(s string) error {
713	f := make(map[string]interface{})
714	if err := json.Unmarshal([]byte(s), &f); err != nil {
715		return err
716	}
717	delete(f, "RuleId")
718	delete(f, "Headers")
719	if len(f) > 0 {
720		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateCustomHeaderRequest has unknown keys!", "")
721	}
722	return json.Unmarshal([]byte(s), &r)
723}
724
725type CreateCustomHeaderResponse struct {
726	*tchttp.BaseResponse
727	Response *struct {
728
729		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
730		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
731	} `json:"Response"`
732}
733
734func (r *CreateCustomHeaderResponse) ToJsonString() string {
735    b, _ := json.Marshal(r)
736    return string(b)
737}
738
739// FromJsonString It is highly **NOT** recommended to use this function
740// because it has no param check, nor strict type check
741func (r *CreateCustomHeaderResponse) FromJsonString(s string) error {
742	return json.Unmarshal([]byte(s), &r)
743}
744
745type CreateDomainErrorPageInfoRequest struct {
746	*tchttp.BaseRequest
747
748	// 监听器ID
749	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
750
751	// 域名
752	Domain *string `json:"Domain,omitempty" name:"Domain"`
753
754	// 原始错误码
755	ErrorNos []*int64 `json:"ErrorNos,omitempty" name:"ErrorNos"`
756
757	// 新的响应包体
758	Body *string `json:"Body,omitempty" name:"Body"`
759
760	// 新错误码
761	NewErrorNo *int64 `json:"NewErrorNo,omitempty" name:"NewErrorNo"`
762
763	// 需要删除的响应头
764	ClearHeaders []*string `json:"ClearHeaders,omitempty" name:"ClearHeaders"`
765
766	// 需要设置的响应头
767	SetHeaders []*HttpHeaderParam `json:"SetHeaders,omitempty" name:"SetHeaders"`
768}
769
770func (r *CreateDomainErrorPageInfoRequest) ToJsonString() string {
771    b, _ := json.Marshal(r)
772    return string(b)
773}
774
775// FromJsonString It is highly **NOT** recommended to use this function
776// because it has no param check, nor strict type check
777func (r *CreateDomainErrorPageInfoRequest) FromJsonString(s string) error {
778	f := make(map[string]interface{})
779	if err := json.Unmarshal([]byte(s), &f); err != nil {
780		return err
781	}
782	delete(f, "ListenerId")
783	delete(f, "Domain")
784	delete(f, "ErrorNos")
785	delete(f, "Body")
786	delete(f, "NewErrorNo")
787	delete(f, "ClearHeaders")
788	delete(f, "SetHeaders")
789	if len(f) > 0 {
790		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDomainErrorPageInfoRequest has unknown keys!", "")
791	}
792	return json.Unmarshal([]byte(s), &r)
793}
794
795type CreateDomainErrorPageInfoResponse struct {
796	*tchttp.BaseResponse
797	Response *struct {
798
799		// 错误定制响应的配置ID
800		ErrorPageId *string `json:"ErrorPageId,omitempty" name:"ErrorPageId"`
801
802		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
803		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
804	} `json:"Response"`
805}
806
807func (r *CreateDomainErrorPageInfoResponse) ToJsonString() string {
808    b, _ := json.Marshal(r)
809    return string(b)
810}
811
812// FromJsonString It is highly **NOT** recommended to use this function
813// because it has no param check, nor strict type check
814func (r *CreateDomainErrorPageInfoResponse) FromJsonString(s string) error {
815	return json.Unmarshal([]byte(s), &r)
816}
817
818type CreateDomainRequest struct {
819	*tchttp.BaseRequest
820
821	// 监听器ID。
822	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
823
824	// 需要创建的域名,一个监听器下最大支持100个域名。
825	Domain *string `json:"Domain,omitempty" name:"Domain"`
826
827	// 服务器证书,用于客户端与GAAP的HTTPS的交互。
828	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
829
830	// 客户端CA证书,用于客户端与GAAP的HTTPS的交互。
831	// 仅当采用双向认证的方式时,需要设置该字段或PolyClientCertificateIds字段。
832	ClientCertificateId *string `json:"ClientCertificateId,omitempty" name:"ClientCertificateId"`
833
834	// 客户端CA证书,用于客户端与GAAP的HTTPS的交互。
835	// 仅当采用双向认证的方式时,需要设置该字段或ClientCertificateId字段。
836	PolyClientCertificateIds []*string `json:"PolyClientCertificateIds,omitempty" name:"PolyClientCertificateIds"`
837}
838
839func (r *CreateDomainRequest) ToJsonString() string {
840    b, _ := json.Marshal(r)
841    return string(b)
842}
843
844// FromJsonString It is highly **NOT** recommended to use this function
845// because it has no param check, nor strict type check
846func (r *CreateDomainRequest) FromJsonString(s string) error {
847	f := make(map[string]interface{})
848	if err := json.Unmarshal([]byte(s), &f); err != nil {
849		return err
850	}
851	delete(f, "ListenerId")
852	delete(f, "Domain")
853	delete(f, "CertificateId")
854	delete(f, "ClientCertificateId")
855	delete(f, "PolyClientCertificateIds")
856	if len(f) > 0 {
857		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDomainRequest has unknown keys!", "")
858	}
859	return json.Unmarshal([]byte(s), &r)
860}
861
862type CreateDomainResponse struct {
863	*tchttp.BaseResponse
864	Response *struct {
865
866		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
867		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
868	} `json:"Response"`
869}
870
871func (r *CreateDomainResponse) ToJsonString() string {
872    b, _ := json.Marshal(r)
873    return string(b)
874}
875
876// FromJsonString It is highly **NOT** recommended to use this function
877// because it has no param check, nor strict type check
878func (r *CreateDomainResponse) FromJsonString(s string) error {
879	return json.Unmarshal([]byte(s), &r)
880}
881
882type CreateHTTPListenerRequest struct {
883	*tchttp.BaseRequest
884
885	// 监听器名称
886	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
887
888	// 监听器端口,基于同种传输层协议(TCP 或 UDP)的监听器,端口不可重复
889	Port *uint64 `json:"Port,omitempty" name:"Port"`
890
891	// 通道ID,与GroupId不能同时设置,对应为通道创建监听器
892	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
893
894	// 通道组ID,与ProxyId不能同时设置,对应为通道组创建监听器
895	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
896}
897
898func (r *CreateHTTPListenerRequest) ToJsonString() string {
899    b, _ := json.Marshal(r)
900    return string(b)
901}
902
903// FromJsonString It is highly **NOT** recommended to use this function
904// because it has no param check, nor strict type check
905func (r *CreateHTTPListenerRequest) FromJsonString(s string) error {
906	f := make(map[string]interface{})
907	if err := json.Unmarshal([]byte(s), &f); err != nil {
908		return err
909	}
910	delete(f, "ListenerName")
911	delete(f, "Port")
912	delete(f, "ProxyId")
913	delete(f, "GroupId")
914	if len(f) > 0 {
915		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateHTTPListenerRequest has unknown keys!", "")
916	}
917	return json.Unmarshal([]byte(s), &r)
918}
919
920type CreateHTTPListenerResponse struct {
921	*tchttp.BaseResponse
922	Response *struct {
923
924		// 创建的监听器ID
925		ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
926
927		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
928		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
929	} `json:"Response"`
930}
931
932func (r *CreateHTTPListenerResponse) ToJsonString() string {
933    b, _ := json.Marshal(r)
934    return string(b)
935}
936
937// FromJsonString It is highly **NOT** recommended to use this function
938// because it has no param check, nor strict type check
939func (r *CreateHTTPListenerResponse) FromJsonString(s string) error {
940	return json.Unmarshal([]byte(s), &r)
941}
942
943type CreateHTTPSListenerRequest struct {
944	*tchttp.BaseRequest
945
946	// 监听器名称
947	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
948
949	// 监听器端口,基于同种传输层协议(TCP 或 UDP)的监听器,端口不可重复
950	Port *uint64 `json:"Port,omitempty" name:"Port"`
951
952	// 服务器证书ID
953	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
954
955	// 加速通道转发到源站的协议类型:HTTP | HTTPS
956	ForwardProtocol *string `json:"ForwardProtocol,omitempty" name:"ForwardProtocol"`
957
958	// 通道ID,与GroupId之间只能设置一个。表示创建通道的监听器。
959	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
960
961	// 认证类型,其中:
962	// 0,单向认证;
963	// 1,双向认证。
964	// 默认使用单向认证。
965	AuthType *uint64 `json:"AuthType,omitempty" name:"AuthType"`
966
967	// 客户端CA单证书ID,仅当双向认证时设置该参数或PolyClientCertificateIds参数
968	ClientCertificateId *string `json:"ClientCertificateId,omitempty" name:"ClientCertificateId"`
969
970	// 新的客户端多CA证书ID,仅当双向认证时设置该参数或设置ClientCertificateId参数
971	PolyClientCertificateIds []*string `json:"PolyClientCertificateIds,omitempty" name:"PolyClientCertificateIds"`
972
973	// 通道组ID,与ProxyId之间只能设置一个。表示创建通道组的监听器。
974	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
975}
976
977func (r *CreateHTTPSListenerRequest) ToJsonString() string {
978    b, _ := json.Marshal(r)
979    return string(b)
980}
981
982// FromJsonString It is highly **NOT** recommended to use this function
983// because it has no param check, nor strict type check
984func (r *CreateHTTPSListenerRequest) FromJsonString(s string) error {
985	f := make(map[string]interface{})
986	if err := json.Unmarshal([]byte(s), &f); err != nil {
987		return err
988	}
989	delete(f, "ListenerName")
990	delete(f, "Port")
991	delete(f, "CertificateId")
992	delete(f, "ForwardProtocol")
993	delete(f, "ProxyId")
994	delete(f, "AuthType")
995	delete(f, "ClientCertificateId")
996	delete(f, "PolyClientCertificateIds")
997	delete(f, "GroupId")
998	if len(f) > 0 {
999		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateHTTPSListenerRequest has unknown keys!", "")
1000	}
1001	return json.Unmarshal([]byte(s), &r)
1002}
1003
1004type CreateHTTPSListenerResponse struct {
1005	*tchttp.BaseResponse
1006	Response *struct {
1007
1008		// 创建的监听器ID
1009		ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
1010
1011		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1012		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1013	} `json:"Response"`
1014}
1015
1016func (r *CreateHTTPSListenerResponse) ToJsonString() string {
1017    b, _ := json.Marshal(r)
1018    return string(b)
1019}
1020
1021// FromJsonString It is highly **NOT** recommended to use this function
1022// because it has no param check, nor strict type check
1023func (r *CreateHTTPSListenerResponse) FromJsonString(s string) error {
1024	return json.Unmarshal([]byte(s), &r)
1025}
1026
1027type CreateProxyGroupDomainRequest struct {
1028	*tchttp.BaseRequest
1029
1030	// 需要开启域名的通道组ID。
1031	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1032}
1033
1034func (r *CreateProxyGroupDomainRequest) ToJsonString() string {
1035    b, _ := json.Marshal(r)
1036    return string(b)
1037}
1038
1039// FromJsonString It is highly **NOT** recommended to use this function
1040// because it has no param check, nor strict type check
1041func (r *CreateProxyGroupDomainRequest) FromJsonString(s string) error {
1042	f := make(map[string]interface{})
1043	if err := json.Unmarshal([]byte(s), &f); err != nil {
1044		return err
1045	}
1046	delete(f, "GroupId")
1047	if len(f) > 0 {
1048		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateProxyGroupDomainRequest has unknown keys!", "")
1049	}
1050	return json.Unmarshal([]byte(s), &r)
1051}
1052
1053type CreateProxyGroupDomainResponse struct {
1054	*tchttp.BaseResponse
1055	Response *struct {
1056
1057		// 通道组ID。
1058		GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1059
1060		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1061		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1062	} `json:"Response"`
1063}
1064
1065func (r *CreateProxyGroupDomainResponse) ToJsonString() string {
1066    b, _ := json.Marshal(r)
1067    return string(b)
1068}
1069
1070// FromJsonString It is highly **NOT** recommended to use this function
1071// because it has no param check, nor strict type check
1072func (r *CreateProxyGroupDomainResponse) FromJsonString(s string) error {
1073	return json.Unmarshal([]byte(s), &r)
1074}
1075
1076type CreateProxyGroupRequest struct {
1077	*tchttp.BaseRequest
1078
1079	// 通道组所属项目ID
1080	ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
1081
1082	// 通道组别名
1083	GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
1084
1085	// 源站地域,参考接口DescribeDestRegions 返回参数RegionDetail中的RegionId
1086	RealServerRegion *string `json:"RealServerRegion,omitempty" name:"RealServerRegion"`
1087
1088	// 标签列表
1089	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
1090
1091	// 加速地域列表,包括加速地域名,及该地域对应的带宽和并发配置。
1092	AccessRegionSet []*AccessConfiguration `json:"AccessRegionSet,omitempty" name:"AccessRegionSet"`
1093
1094	// IP版本,可取值:IPv4、IPv6,默认值IPv4
1095	IPAddressVersion *string `json:"IPAddressVersion,omitempty" name:"IPAddressVersion"`
1096}
1097
1098func (r *CreateProxyGroupRequest) ToJsonString() string {
1099    b, _ := json.Marshal(r)
1100    return string(b)
1101}
1102
1103// FromJsonString It is highly **NOT** recommended to use this function
1104// because it has no param check, nor strict type check
1105func (r *CreateProxyGroupRequest) FromJsonString(s string) error {
1106	f := make(map[string]interface{})
1107	if err := json.Unmarshal([]byte(s), &f); err != nil {
1108		return err
1109	}
1110	delete(f, "ProjectId")
1111	delete(f, "GroupName")
1112	delete(f, "RealServerRegion")
1113	delete(f, "TagSet")
1114	delete(f, "AccessRegionSet")
1115	delete(f, "IPAddressVersion")
1116	if len(f) > 0 {
1117		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateProxyGroupRequest has unknown keys!", "")
1118	}
1119	return json.Unmarshal([]byte(s), &r)
1120}
1121
1122type CreateProxyGroupResponse struct {
1123	*tchttp.BaseResponse
1124	Response *struct {
1125
1126		// 通道组ID
1127		GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1128
1129		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1130		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1131	} `json:"Response"`
1132}
1133
1134func (r *CreateProxyGroupResponse) ToJsonString() string {
1135    b, _ := json.Marshal(r)
1136    return string(b)
1137}
1138
1139// FromJsonString It is highly **NOT** recommended to use this function
1140// because it has no param check, nor strict type check
1141func (r *CreateProxyGroupResponse) FromJsonString(s string) error {
1142	return json.Unmarshal([]byte(s), &r)
1143}
1144
1145type CreateProxyRequest struct {
1146	*tchttp.BaseRequest
1147
1148	// 通道的项目ID。
1149	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
1150
1151	// 通道名称。
1152	ProxyName *string `json:"ProxyName,omitempty" name:"ProxyName"`
1153
1154	// 接入地域。
1155	AccessRegion *string `json:"AccessRegion,omitempty" name:"AccessRegion"`
1156
1157	// 通道带宽上限,单位:Mbps。
1158	Bandwidth *uint64 `json:"Bandwidth,omitempty" name:"Bandwidth"`
1159
1160	// 通道并发量上限,表示同时在线的连接数,单位:万。
1161	Concurrent *uint64 `json:"Concurrent,omitempty" name:"Concurrent"`
1162
1163	// 源站地域。当GroupId存在时,源站地域为通道组的源站地域,此时可不填该字段。当GroupId不存在时,需要填写该字段
1164	RealServerRegion *string `json:"RealServerRegion,omitempty" name:"RealServerRegion"`
1165
1166	// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
1167	// 更多详细信息请参阅:如何保证幂等性。
1168	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
1169
1170	// 通道所在的通道组ID,当在通道组中创建通道时必带,否则忽略该字段。
1171	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1172
1173	// 通道需要添加的标签列表。
1174	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
1175
1176	// 被复制的通道ID。只有处于运行中状态的通道可以被复制。
1177	// 当设置该参数时,表示复制该通道。
1178	ClonedProxyId *string `json:"ClonedProxyId,omitempty" name:"ClonedProxyId"`
1179
1180	// 计费方式 (0:按带宽计费,1:按流量计费 默认按带宽计费)
1181	BillingType *int64 `json:"BillingType,omitempty" name:"BillingType"`
1182
1183	// IP版本,可取值:IPv4、IPv6,默认值IPv4
1184	IPAddressVersion *string `json:"IPAddressVersion,omitempty" name:"IPAddressVersion"`
1185
1186	// 网络类型,可取值:normal、cn2,默认值normal
1187	NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"`
1188}
1189
1190func (r *CreateProxyRequest) ToJsonString() string {
1191    b, _ := json.Marshal(r)
1192    return string(b)
1193}
1194
1195// FromJsonString It is highly **NOT** recommended to use this function
1196// because it has no param check, nor strict type check
1197func (r *CreateProxyRequest) FromJsonString(s string) error {
1198	f := make(map[string]interface{})
1199	if err := json.Unmarshal([]byte(s), &f); err != nil {
1200		return err
1201	}
1202	delete(f, "ProjectId")
1203	delete(f, "ProxyName")
1204	delete(f, "AccessRegion")
1205	delete(f, "Bandwidth")
1206	delete(f, "Concurrent")
1207	delete(f, "RealServerRegion")
1208	delete(f, "ClientToken")
1209	delete(f, "GroupId")
1210	delete(f, "TagSet")
1211	delete(f, "ClonedProxyId")
1212	delete(f, "BillingType")
1213	delete(f, "IPAddressVersion")
1214	delete(f, "NetworkType")
1215	if len(f) > 0 {
1216		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateProxyRequest has unknown keys!", "")
1217	}
1218	return json.Unmarshal([]byte(s), &r)
1219}
1220
1221type CreateProxyResponse struct {
1222	*tchttp.BaseResponse
1223	Response *struct {
1224
1225		// 通道的实例ID。
1226		InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
1227
1228		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1229		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1230	} `json:"Response"`
1231}
1232
1233func (r *CreateProxyResponse) ToJsonString() string {
1234    b, _ := json.Marshal(r)
1235    return string(b)
1236}
1237
1238// FromJsonString It is highly **NOT** recommended to use this function
1239// because it has no param check, nor strict type check
1240func (r *CreateProxyResponse) FromJsonString(s string) error {
1241	return json.Unmarshal([]byte(s), &r)
1242}
1243
1244type CreateRuleRequest struct {
1245	*tchttp.BaseRequest
1246
1247	// 7层监听器ID
1248	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
1249
1250	// 转发规则的域名
1251	Domain *string `json:"Domain,omitempty" name:"Domain"`
1252
1253	// 转发规则的路径
1254	Path *string `json:"Path,omitempty" name:"Path"`
1255
1256	// 转发规则对应源站的类型,支持IP和DOMAIN类型。
1257	RealServerType *string `json:"RealServerType,omitempty" name:"RealServerType"`
1258
1259	// 规则转发源站调度策略,支持轮询(rr),加权轮询(wrr),最小连接数(lc)。
1260	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
1261
1262	// 规则是否开启健康检查,1开启,0关闭。
1263	HealthCheck *uint64 `json:"HealthCheck,omitempty" name:"HealthCheck"`
1264
1265	// 源站健康检查相关参数
1266	CheckParams *RuleCheckParams `json:"CheckParams,omitempty" name:"CheckParams"`
1267
1268	// 加速通道转发到源站的协议类型:支持HTTP或HTTPS。
1269	// 不传递该字段时表示使用对应监听器的ForwardProtocol。
1270	ForwardProtocol *string `json:"ForwardProtocol,omitempty" name:"ForwardProtocol"`
1271
1272	// 加速通道转发到远照的host,不设置该参数时,使用默认的host设置,即客户端发起的http请求的host。
1273	ForwardHost *string `json:"ForwardHost,omitempty" name:"ForwardHost"`
1274}
1275
1276func (r *CreateRuleRequest) ToJsonString() string {
1277    b, _ := json.Marshal(r)
1278    return string(b)
1279}
1280
1281// FromJsonString It is highly **NOT** recommended to use this function
1282// because it has no param check, nor strict type check
1283func (r *CreateRuleRequest) FromJsonString(s string) error {
1284	f := make(map[string]interface{})
1285	if err := json.Unmarshal([]byte(s), &f); err != nil {
1286		return err
1287	}
1288	delete(f, "ListenerId")
1289	delete(f, "Domain")
1290	delete(f, "Path")
1291	delete(f, "RealServerType")
1292	delete(f, "Scheduler")
1293	delete(f, "HealthCheck")
1294	delete(f, "CheckParams")
1295	delete(f, "ForwardProtocol")
1296	delete(f, "ForwardHost")
1297	if len(f) > 0 {
1298		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateRuleRequest has unknown keys!", "")
1299	}
1300	return json.Unmarshal([]byte(s), &r)
1301}
1302
1303type CreateRuleResponse struct {
1304	*tchttp.BaseResponse
1305	Response *struct {
1306
1307		// 创建转发规则成功返回规则ID
1308		RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
1309
1310		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1311		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1312	} `json:"Response"`
1313}
1314
1315func (r *CreateRuleResponse) ToJsonString() string {
1316    b, _ := json.Marshal(r)
1317    return string(b)
1318}
1319
1320// FromJsonString It is highly **NOT** recommended to use this function
1321// because it has no param check, nor strict type check
1322func (r *CreateRuleResponse) FromJsonString(s string) error {
1323	return json.Unmarshal([]byte(s), &r)
1324}
1325
1326type CreateSecurityPolicyRequest struct {
1327	*tchttp.BaseRequest
1328
1329	// 默认策略:ACCEPT或DROP
1330	DefaultAction *string `json:"DefaultAction,omitempty" name:"DefaultAction"`
1331
1332	// 加速通道ID
1333	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
1334
1335	// 通道组ID
1336	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1337}
1338
1339func (r *CreateSecurityPolicyRequest) ToJsonString() string {
1340    b, _ := json.Marshal(r)
1341    return string(b)
1342}
1343
1344// FromJsonString It is highly **NOT** recommended to use this function
1345// because it has no param check, nor strict type check
1346func (r *CreateSecurityPolicyRequest) FromJsonString(s string) error {
1347	f := make(map[string]interface{})
1348	if err := json.Unmarshal([]byte(s), &f); err != nil {
1349		return err
1350	}
1351	delete(f, "DefaultAction")
1352	delete(f, "ProxyId")
1353	delete(f, "GroupId")
1354	if len(f) > 0 {
1355		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSecurityPolicyRequest has unknown keys!", "")
1356	}
1357	return json.Unmarshal([]byte(s), &r)
1358}
1359
1360type CreateSecurityPolicyResponse struct {
1361	*tchttp.BaseResponse
1362	Response *struct {
1363
1364		// 安全策略ID
1365		PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
1366
1367		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1368		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1369	} `json:"Response"`
1370}
1371
1372func (r *CreateSecurityPolicyResponse) ToJsonString() string {
1373    b, _ := json.Marshal(r)
1374    return string(b)
1375}
1376
1377// FromJsonString It is highly **NOT** recommended to use this function
1378// because it has no param check, nor strict type check
1379func (r *CreateSecurityPolicyResponse) FromJsonString(s string) error {
1380	return json.Unmarshal([]byte(s), &r)
1381}
1382
1383type CreateSecurityRulesRequest struct {
1384	*tchttp.BaseRequest
1385
1386	// 安全策略ID
1387	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
1388
1389	// 访问规则列表
1390	RuleList []*SecurityPolicyRuleIn `json:"RuleList,omitempty" name:"RuleList"`
1391}
1392
1393func (r *CreateSecurityRulesRequest) ToJsonString() string {
1394    b, _ := json.Marshal(r)
1395    return string(b)
1396}
1397
1398// FromJsonString It is highly **NOT** recommended to use this function
1399// because it has no param check, nor strict type check
1400func (r *CreateSecurityRulesRequest) FromJsonString(s string) error {
1401	f := make(map[string]interface{})
1402	if err := json.Unmarshal([]byte(s), &f); err != nil {
1403		return err
1404	}
1405	delete(f, "PolicyId")
1406	delete(f, "RuleList")
1407	if len(f) > 0 {
1408		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSecurityRulesRequest has unknown keys!", "")
1409	}
1410	return json.Unmarshal([]byte(s), &r)
1411}
1412
1413type CreateSecurityRulesResponse struct {
1414	*tchttp.BaseResponse
1415	Response *struct {
1416
1417		// 规则ID列表
1418		RuleIdList []*string `json:"RuleIdList,omitempty" name:"RuleIdList"`
1419
1420		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1421		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1422	} `json:"Response"`
1423}
1424
1425func (r *CreateSecurityRulesResponse) ToJsonString() string {
1426    b, _ := json.Marshal(r)
1427    return string(b)
1428}
1429
1430// FromJsonString It is highly **NOT** recommended to use this function
1431// because it has no param check, nor strict type check
1432func (r *CreateSecurityRulesResponse) FromJsonString(s string) error {
1433	return json.Unmarshal([]byte(s), &r)
1434}
1435
1436type CreateTCPListenersRequest struct {
1437	*tchttp.BaseRequest
1438
1439	// 监听器名称。
1440	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
1441
1442	// 监听器端口列表。
1443	Ports []*uint64 `json:"Ports,omitempty" name:"Ports"`
1444
1445	// 监听器源站调度策略,支持轮询(rr),加权轮询(wrr),最小连接数(lc)。
1446	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
1447
1448	// 源站是否开启健康检查:1开启,0关闭,UDP监听器不支持健康检查
1449	HealthCheck *uint64 `json:"HealthCheck,omitempty" name:"HealthCheck"`
1450
1451	// 监听器对应源站类型,支持IP或者DOMAIN类型。DOMAIN源站类型不支持wrr的源站调度策略。
1452	RealServerType *string `json:"RealServerType,omitempty" name:"RealServerType"`
1453
1454	// 通道ID,ProxyId和GroupId必须设置一个,但不能同时设置。
1455	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
1456
1457	// 通道组ID,ProxyId和GroupId必须设置一个,但不能同时设置。
1458	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1459
1460	// 源站健康检查时间间隔,单位:秒。时间间隔取值在[5,300]之间。
1461	DelayLoop *uint64 `json:"DelayLoop,omitempty" name:"DelayLoop"`
1462
1463	// 源站健康检查响应超时时间,单位:秒。超时时间取值在[2,60]之间。超时时间应小于健康检查时间间隔DelayLoop。
1464	ConnectTimeout *uint64 `json:"ConnectTimeout,omitempty" name:"ConnectTimeout"`
1465
1466	// 源站端口列表,该参数仅支持v1版本监听器和通道组监听器。
1467	RealServerPorts []*uint64 `json:"RealServerPorts,omitempty" name:"RealServerPorts"`
1468
1469	// 监听器获取客户端 IP 的方式,0表示 TOA, 1表示Proxy Protocol
1470	ClientIPMethod *int64 `json:"ClientIPMethod,omitempty" name:"ClientIPMethod"`
1471
1472	// 源站是否开启主备模式:1开启,0关闭,DOMAIN类型源站不支持开启
1473	FailoverSwitch *int64 `json:"FailoverSwitch,omitempty" name:"FailoverSwitch"`
1474
1475	// 健康阈值,表示连续检查成功多少次后认定源站健康。范围为1到10
1476	HealthyThreshold *uint64 `json:"HealthyThreshold,omitempty" name:"HealthyThreshold"`
1477
1478	// 不健康阈值,表示连续检查失败多少次数后认为源站不健康。范围为1到10
1479	UnhealthyThreshold *uint64 `json:"UnhealthyThreshold,omitempty" name:"UnhealthyThreshold"`
1480}
1481
1482func (r *CreateTCPListenersRequest) ToJsonString() string {
1483    b, _ := json.Marshal(r)
1484    return string(b)
1485}
1486
1487// FromJsonString It is highly **NOT** recommended to use this function
1488// because it has no param check, nor strict type check
1489func (r *CreateTCPListenersRequest) FromJsonString(s string) error {
1490	f := make(map[string]interface{})
1491	if err := json.Unmarshal([]byte(s), &f); err != nil {
1492		return err
1493	}
1494	delete(f, "ListenerName")
1495	delete(f, "Ports")
1496	delete(f, "Scheduler")
1497	delete(f, "HealthCheck")
1498	delete(f, "RealServerType")
1499	delete(f, "ProxyId")
1500	delete(f, "GroupId")
1501	delete(f, "DelayLoop")
1502	delete(f, "ConnectTimeout")
1503	delete(f, "RealServerPorts")
1504	delete(f, "ClientIPMethod")
1505	delete(f, "FailoverSwitch")
1506	delete(f, "HealthyThreshold")
1507	delete(f, "UnhealthyThreshold")
1508	if len(f) > 0 {
1509		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateTCPListenersRequest has unknown keys!", "")
1510	}
1511	return json.Unmarshal([]byte(s), &r)
1512}
1513
1514type CreateTCPListenersResponse struct {
1515	*tchttp.BaseResponse
1516	Response *struct {
1517
1518		// 返回监听器ID
1519		ListenerIds []*string `json:"ListenerIds,omitempty" name:"ListenerIds"`
1520
1521		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1522		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1523	} `json:"Response"`
1524}
1525
1526func (r *CreateTCPListenersResponse) ToJsonString() string {
1527    b, _ := json.Marshal(r)
1528    return string(b)
1529}
1530
1531// FromJsonString It is highly **NOT** recommended to use this function
1532// because it has no param check, nor strict type check
1533func (r *CreateTCPListenersResponse) FromJsonString(s string) error {
1534	return json.Unmarshal([]byte(s), &r)
1535}
1536
1537type CreateUDPListenersRequest struct {
1538	*tchttp.BaseRequest
1539
1540	// 监听器名称
1541	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
1542
1543	// 监听器端口列表
1544	Ports []*uint64 `json:"Ports,omitempty" name:"Ports"`
1545
1546	// 监听器源站调度策略,支持轮询(rr),加权轮询(wrr),最小连接数(lc)
1547	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
1548
1549	// 监听器对应源站类型,支持IP或者DOMAIN类型
1550	RealServerType *string `json:"RealServerType,omitempty" name:"RealServerType"`
1551
1552	// 通道ID,ProxyId和GroupId必须设置一个,但不能同时设置。
1553	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
1554
1555	// 通道组ID,ProxyId和GroupId必须设置一个,但不能同时设置。
1556	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1557
1558	// 源站端口列表,该参数仅支持v1版本监听器和通道组监听器
1559	RealServerPorts []*uint64 `json:"RealServerPorts,omitempty" name:"RealServerPorts"`
1560}
1561
1562func (r *CreateUDPListenersRequest) ToJsonString() string {
1563    b, _ := json.Marshal(r)
1564    return string(b)
1565}
1566
1567// FromJsonString It is highly **NOT** recommended to use this function
1568// because it has no param check, nor strict type check
1569func (r *CreateUDPListenersRequest) FromJsonString(s string) error {
1570	f := make(map[string]interface{})
1571	if err := json.Unmarshal([]byte(s), &f); err != nil {
1572		return err
1573	}
1574	delete(f, "ListenerName")
1575	delete(f, "Ports")
1576	delete(f, "Scheduler")
1577	delete(f, "RealServerType")
1578	delete(f, "ProxyId")
1579	delete(f, "GroupId")
1580	delete(f, "RealServerPorts")
1581	if len(f) > 0 {
1582		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateUDPListenersRequest has unknown keys!", "")
1583	}
1584	return json.Unmarshal([]byte(s), &r)
1585}
1586
1587type CreateUDPListenersResponse struct {
1588	*tchttp.BaseResponse
1589	Response *struct {
1590
1591		// 返回监听器ID
1592		ListenerIds []*string `json:"ListenerIds,omitempty" name:"ListenerIds"`
1593
1594		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1595		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1596	} `json:"Response"`
1597}
1598
1599func (r *CreateUDPListenersResponse) ToJsonString() string {
1600    b, _ := json.Marshal(r)
1601    return string(b)
1602}
1603
1604// FromJsonString It is highly **NOT** recommended to use this function
1605// because it has no param check, nor strict type check
1606func (r *CreateUDPListenersResponse) FromJsonString(s string) error {
1607	return json.Unmarshal([]byte(s), &r)
1608}
1609
1610type DeleteCertificateRequest struct {
1611	*tchttp.BaseRequest
1612
1613	// 需要删除的证书ID。
1614	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
1615}
1616
1617func (r *DeleteCertificateRequest) ToJsonString() string {
1618    b, _ := json.Marshal(r)
1619    return string(b)
1620}
1621
1622// FromJsonString It is highly **NOT** recommended to use this function
1623// because it has no param check, nor strict type check
1624func (r *DeleteCertificateRequest) FromJsonString(s string) error {
1625	f := make(map[string]interface{})
1626	if err := json.Unmarshal([]byte(s), &f); err != nil {
1627		return err
1628	}
1629	delete(f, "CertificateId")
1630	if len(f) > 0 {
1631		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteCertificateRequest has unknown keys!", "")
1632	}
1633	return json.Unmarshal([]byte(s), &r)
1634}
1635
1636type DeleteCertificateResponse struct {
1637	*tchttp.BaseResponse
1638	Response *struct {
1639
1640		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1641		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1642	} `json:"Response"`
1643}
1644
1645func (r *DeleteCertificateResponse) ToJsonString() string {
1646    b, _ := json.Marshal(r)
1647    return string(b)
1648}
1649
1650// FromJsonString It is highly **NOT** recommended to use this function
1651// because it has no param check, nor strict type check
1652func (r *DeleteCertificateResponse) FromJsonString(s string) error {
1653	return json.Unmarshal([]byte(s), &r)
1654}
1655
1656type DeleteDomainErrorPageInfoRequest struct {
1657	*tchttp.BaseRequest
1658
1659	// 定制错误响应页的唯一ID,请参考CreateDomainErrorPageInfo的响应
1660	ErrorPageId *string `json:"ErrorPageId,omitempty" name:"ErrorPageId"`
1661}
1662
1663func (r *DeleteDomainErrorPageInfoRequest) ToJsonString() string {
1664    b, _ := json.Marshal(r)
1665    return string(b)
1666}
1667
1668// FromJsonString It is highly **NOT** recommended to use this function
1669// because it has no param check, nor strict type check
1670func (r *DeleteDomainErrorPageInfoRequest) FromJsonString(s string) error {
1671	f := make(map[string]interface{})
1672	if err := json.Unmarshal([]byte(s), &f); err != nil {
1673		return err
1674	}
1675	delete(f, "ErrorPageId")
1676	if len(f) > 0 {
1677		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteDomainErrorPageInfoRequest has unknown keys!", "")
1678	}
1679	return json.Unmarshal([]byte(s), &r)
1680}
1681
1682type DeleteDomainErrorPageInfoResponse struct {
1683	*tchttp.BaseResponse
1684	Response *struct {
1685
1686		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1687		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1688	} `json:"Response"`
1689}
1690
1691func (r *DeleteDomainErrorPageInfoResponse) ToJsonString() string {
1692    b, _ := json.Marshal(r)
1693    return string(b)
1694}
1695
1696// FromJsonString It is highly **NOT** recommended to use this function
1697// because it has no param check, nor strict type check
1698func (r *DeleteDomainErrorPageInfoResponse) FromJsonString(s string) error {
1699	return json.Unmarshal([]byte(s), &r)
1700}
1701
1702type DeleteDomainRequest struct {
1703	*tchttp.BaseRequest
1704
1705	// 监听器ID
1706	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
1707
1708	// 需要删除的域名
1709	Domain *string `json:"Domain,omitempty" name:"Domain"`
1710
1711	// 是否强制删除已绑定源站的转发规则,0非强制,1强制。
1712	// 当采用非强制删除时,如果域名下已有规则绑定了源站,则无法删除。
1713	Force *uint64 `json:"Force,omitempty" name:"Force"`
1714}
1715
1716func (r *DeleteDomainRequest) ToJsonString() string {
1717    b, _ := json.Marshal(r)
1718    return string(b)
1719}
1720
1721// FromJsonString It is highly **NOT** recommended to use this function
1722// because it has no param check, nor strict type check
1723func (r *DeleteDomainRequest) FromJsonString(s string) error {
1724	f := make(map[string]interface{})
1725	if err := json.Unmarshal([]byte(s), &f); err != nil {
1726		return err
1727	}
1728	delete(f, "ListenerId")
1729	delete(f, "Domain")
1730	delete(f, "Force")
1731	if len(f) > 0 {
1732		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteDomainRequest has unknown keys!", "")
1733	}
1734	return json.Unmarshal([]byte(s), &r)
1735}
1736
1737type DeleteDomainResponse struct {
1738	*tchttp.BaseResponse
1739	Response *struct {
1740
1741		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1742		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1743	} `json:"Response"`
1744}
1745
1746func (r *DeleteDomainResponse) ToJsonString() string {
1747    b, _ := json.Marshal(r)
1748    return string(b)
1749}
1750
1751// FromJsonString It is highly **NOT** recommended to use this function
1752// because it has no param check, nor strict type check
1753func (r *DeleteDomainResponse) FromJsonString(s string) error {
1754	return json.Unmarshal([]byte(s), &r)
1755}
1756
1757type DeleteListenersRequest struct {
1758	*tchttp.BaseRequest
1759
1760	// 待删除的监听器ID列表
1761	ListenerIds []*string `json:"ListenerIds,omitempty" name:"ListenerIds"`
1762
1763	// 已绑定源站的监听器是否允许强制删除,1:允许, 0:不允许
1764	Force *uint64 `json:"Force,omitempty" name:"Force"`
1765
1766	// 通道组ID,该参数和GroupId必须设置一个,但不能同时设置。
1767	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1768
1769	// 通道ID,该参数和GroupId必须设置一个,但不能同时设置。
1770	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
1771}
1772
1773func (r *DeleteListenersRequest) ToJsonString() string {
1774    b, _ := json.Marshal(r)
1775    return string(b)
1776}
1777
1778// FromJsonString It is highly **NOT** recommended to use this function
1779// because it has no param check, nor strict type check
1780func (r *DeleteListenersRequest) FromJsonString(s string) error {
1781	f := make(map[string]interface{})
1782	if err := json.Unmarshal([]byte(s), &f); err != nil {
1783		return err
1784	}
1785	delete(f, "ListenerIds")
1786	delete(f, "Force")
1787	delete(f, "GroupId")
1788	delete(f, "ProxyId")
1789	if len(f) > 0 {
1790		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteListenersRequest has unknown keys!", "")
1791	}
1792	return json.Unmarshal([]byte(s), &r)
1793}
1794
1795type DeleteListenersResponse struct {
1796	*tchttp.BaseResponse
1797	Response *struct {
1798
1799		// 删除操作失败的监听器ID列表
1800		OperationFailedListenerSet []*string `json:"OperationFailedListenerSet,omitempty" name:"OperationFailedListenerSet"`
1801
1802		// 删除操作成功的监听器ID列表
1803		OperationSucceedListenerSet []*string `json:"OperationSucceedListenerSet,omitempty" name:"OperationSucceedListenerSet"`
1804
1805		// 无效的监听器ID列表,如:监听器不存在,监听器对应实例不匹配
1806		InvalidStatusListenerSet []*string `json:"InvalidStatusListenerSet,omitempty" name:"InvalidStatusListenerSet"`
1807
1808		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1809		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1810	} `json:"Response"`
1811}
1812
1813func (r *DeleteListenersResponse) ToJsonString() string {
1814    b, _ := json.Marshal(r)
1815    return string(b)
1816}
1817
1818// FromJsonString It is highly **NOT** recommended to use this function
1819// because it has no param check, nor strict type check
1820func (r *DeleteListenersResponse) FromJsonString(s string) error {
1821	return json.Unmarshal([]byte(s), &r)
1822}
1823
1824type DeleteProxyGroupRequest struct {
1825	*tchttp.BaseRequest
1826
1827	// 需要删除的通道组ID。
1828	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1829
1830	// 强制删除标识。其中:
1831	// 0,不强制删除,
1832	// 1,强制删除。
1833	// 默认为0,当通道组中存在通道或通道组中存在监听器/规则绑定了源站时,且Force为0时,该操作会返回失败。
1834	Force *uint64 `json:"Force,omitempty" name:"Force"`
1835}
1836
1837func (r *DeleteProxyGroupRequest) ToJsonString() string {
1838    b, _ := json.Marshal(r)
1839    return string(b)
1840}
1841
1842// FromJsonString It is highly **NOT** recommended to use this function
1843// because it has no param check, nor strict type check
1844func (r *DeleteProxyGroupRequest) FromJsonString(s string) error {
1845	f := make(map[string]interface{})
1846	if err := json.Unmarshal([]byte(s), &f); err != nil {
1847		return err
1848	}
1849	delete(f, "GroupId")
1850	delete(f, "Force")
1851	if len(f) > 0 {
1852		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteProxyGroupRequest has unknown keys!", "")
1853	}
1854	return json.Unmarshal([]byte(s), &r)
1855}
1856
1857type DeleteProxyGroupResponse struct {
1858	*tchttp.BaseResponse
1859	Response *struct {
1860
1861		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1862		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1863	} `json:"Response"`
1864}
1865
1866func (r *DeleteProxyGroupResponse) ToJsonString() string {
1867    b, _ := json.Marshal(r)
1868    return string(b)
1869}
1870
1871// FromJsonString It is highly **NOT** recommended to use this function
1872// because it has no param check, nor strict type check
1873func (r *DeleteProxyGroupResponse) FromJsonString(s string) error {
1874	return json.Unmarshal([]byte(s), &r)
1875}
1876
1877type DeleteRuleRequest struct {
1878	*tchttp.BaseRequest
1879
1880	// 7层监听器ID
1881	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
1882
1883	// 转发规则ID
1884	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
1885
1886	// 是否可以强制删除已绑定源站的转发规则,0非强制,1强制
1887	Force *uint64 `json:"Force,omitempty" name:"Force"`
1888}
1889
1890func (r *DeleteRuleRequest) ToJsonString() string {
1891    b, _ := json.Marshal(r)
1892    return string(b)
1893}
1894
1895// FromJsonString It is highly **NOT** recommended to use this function
1896// because it has no param check, nor strict type check
1897func (r *DeleteRuleRequest) FromJsonString(s string) error {
1898	f := make(map[string]interface{})
1899	if err := json.Unmarshal([]byte(s), &f); err != nil {
1900		return err
1901	}
1902	delete(f, "ListenerId")
1903	delete(f, "RuleId")
1904	delete(f, "Force")
1905	if len(f) > 0 {
1906		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRuleRequest has unknown keys!", "")
1907	}
1908	return json.Unmarshal([]byte(s), &r)
1909}
1910
1911type DeleteRuleResponse struct {
1912	*tchttp.BaseResponse
1913	Response *struct {
1914
1915		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1916		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1917	} `json:"Response"`
1918}
1919
1920func (r *DeleteRuleResponse) ToJsonString() string {
1921    b, _ := json.Marshal(r)
1922    return string(b)
1923}
1924
1925// FromJsonString It is highly **NOT** recommended to use this function
1926// because it has no param check, nor strict type check
1927func (r *DeleteRuleResponse) FromJsonString(s string) error {
1928	return json.Unmarshal([]byte(s), &r)
1929}
1930
1931type DeleteSecurityPolicyRequest struct {
1932	*tchttp.BaseRequest
1933
1934	// 策略ID
1935	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
1936}
1937
1938func (r *DeleteSecurityPolicyRequest) ToJsonString() string {
1939    b, _ := json.Marshal(r)
1940    return string(b)
1941}
1942
1943// FromJsonString It is highly **NOT** recommended to use this function
1944// because it has no param check, nor strict type check
1945func (r *DeleteSecurityPolicyRequest) FromJsonString(s string) error {
1946	f := make(map[string]interface{})
1947	if err := json.Unmarshal([]byte(s), &f); err != nil {
1948		return err
1949	}
1950	delete(f, "PolicyId")
1951	if len(f) > 0 {
1952		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSecurityPolicyRequest has unknown keys!", "")
1953	}
1954	return json.Unmarshal([]byte(s), &r)
1955}
1956
1957type DeleteSecurityPolicyResponse struct {
1958	*tchttp.BaseResponse
1959	Response *struct {
1960
1961		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1962		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1963	} `json:"Response"`
1964}
1965
1966func (r *DeleteSecurityPolicyResponse) ToJsonString() string {
1967    b, _ := json.Marshal(r)
1968    return string(b)
1969}
1970
1971// FromJsonString It is highly **NOT** recommended to use this function
1972// because it has no param check, nor strict type check
1973func (r *DeleteSecurityPolicyResponse) FromJsonString(s string) error {
1974	return json.Unmarshal([]byte(s), &r)
1975}
1976
1977type DeleteSecurityRulesRequest struct {
1978	*tchttp.BaseRequest
1979
1980	// 安全策略ID
1981	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
1982
1983	// 访问规则ID列表
1984	RuleIdList []*string `json:"RuleIdList,omitempty" name:"RuleIdList"`
1985}
1986
1987func (r *DeleteSecurityRulesRequest) ToJsonString() string {
1988    b, _ := json.Marshal(r)
1989    return string(b)
1990}
1991
1992// FromJsonString It is highly **NOT** recommended to use this function
1993// because it has no param check, nor strict type check
1994func (r *DeleteSecurityRulesRequest) FromJsonString(s string) error {
1995	f := make(map[string]interface{})
1996	if err := json.Unmarshal([]byte(s), &f); err != nil {
1997		return err
1998	}
1999	delete(f, "PolicyId")
2000	delete(f, "RuleIdList")
2001	if len(f) > 0 {
2002		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSecurityRulesRequest has unknown keys!", "")
2003	}
2004	return json.Unmarshal([]byte(s), &r)
2005}
2006
2007type DeleteSecurityRulesResponse struct {
2008	*tchttp.BaseResponse
2009	Response *struct {
2010
2011		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2012		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2013	} `json:"Response"`
2014}
2015
2016func (r *DeleteSecurityRulesResponse) ToJsonString() string {
2017    b, _ := json.Marshal(r)
2018    return string(b)
2019}
2020
2021// FromJsonString It is highly **NOT** recommended to use this function
2022// because it has no param check, nor strict type check
2023func (r *DeleteSecurityRulesResponse) FromJsonString(s string) error {
2024	return json.Unmarshal([]byte(s), &r)
2025}
2026
2027type DescribeAccessRegionsByDestRegionRequest struct {
2028	*tchttp.BaseRequest
2029
2030	// 源站区域:接口DescribeDestRegions返回DestRegionSet中的RegionId字段值
2031	DestRegion *string `json:"DestRegion,omitempty" name:"DestRegion"`
2032
2033	// IP版本,可取值:IPv4、IPv6,默认值IPv4
2034	IPAddressVersion *string `json:"IPAddressVersion,omitempty" name:"IPAddressVersion"`
2035}
2036
2037func (r *DescribeAccessRegionsByDestRegionRequest) ToJsonString() string {
2038    b, _ := json.Marshal(r)
2039    return string(b)
2040}
2041
2042// FromJsonString It is highly **NOT** recommended to use this function
2043// because it has no param check, nor strict type check
2044func (r *DescribeAccessRegionsByDestRegionRequest) FromJsonString(s string) error {
2045	f := make(map[string]interface{})
2046	if err := json.Unmarshal([]byte(s), &f); err != nil {
2047		return err
2048	}
2049	delete(f, "DestRegion")
2050	delete(f, "IPAddressVersion")
2051	if len(f) > 0 {
2052		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAccessRegionsByDestRegionRequest has unknown keys!", "")
2053	}
2054	return json.Unmarshal([]byte(s), &r)
2055}
2056
2057type DescribeAccessRegionsByDestRegionResponse struct {
2058	*tchttp.BaseResponse
2059	Response *struct {
2060
2061		// 可用加速区域数量
2062		TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
2063
2064		// 可用加速区域信息列表
2065		AccessRegionSet []*AccessRegionDetial `json:"AccessRegionSet,omitempty" name:"AccessRegionSet"`
2066
2067		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2068		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2069	} `json:"Response"`
2070}
2071
2072func (r *DescribeAccessRegionsByDestRegionResponse) ToJsonString() string {
2073    b, _ := json.Marshal(r)
2074    return string(b)
2075}
2076
2077// FromJsonString It is highly **NOT** recommended to use this function
2078// because it has no param check, nor strict type check
2079func (r *DescribeAccessRegionsByDestRegionResponse) FromJsonString(s string) error {
2080	return json.Unmarshal([]byte(s), &r)
2081}
2082
2083type DescribeAccessRegionsRequest struct {
2084	*tchttp.BaseRequest
2085}
2086
2087func (r *DescribeAccessRegionsRequest) ToJsonString() string {
2088    b, _ := json.Marshal(r)
2089    return string(b)
2090}
2091
2092// FromJsonString It is highly **NOT** recommended to use this function
2093// because it has no param check, nor strict type check
2094func (r *DescribeAccessRegionsRequest) FromJsonString(s string) error {
2095	f := make(map[string]interface{})
2096	if err := json.Unmarshal([]byte(s), &f); err != nil {
2097		return err
2098	}
2099	if len(f) > 0 {
2100		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAccessRegionsRequest has unknown keys!", "")
2101	}
2102	return json.Unmarshal([]byte(s), &r)
2103}
2104
2105type DescribeAccessRegionsResponse struct {
2106	*tchttp.BaseResponse
2107	Response *struct {
2108
2109		// 加速区域总数
2110		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
2111
2112		// 加速区域详情列表
2113		AccessRegionSet []*RegionDetail `json:"AccessRegionSet,omitempty" name:"AccessRegionSet"`
2114
2115		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2116		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2117	} `json:"Response"`
2118}
2119
2120func (r *DescribeAccessRegionsResponse) ToJsonString() string {
2121    b, _ := json.Marshal(r)
2122    return string(b)
2123}
2124
2125// FromJsonString It is highly **NOT** recommended to use this function
2126// because it has no param check, nor strict type check
2127func (r *DescribeAccessRegionsResponse) FromJsonString(s string) error {
2128	return json.Unmarshal([]byte(s), &r)
2129}
2130
2131type DescribeBlackHeaderRequest struct {
2132	*tchttp.BaseRequest
2133}
2134
2135func (r *DescribeBlackHeaderRequest) ToJsonString() string {
2136    b, _ := json.Marshal(r)
2137    return string(b)
2138}
2139
2140// FromJsonString It is highly **NOT** recommended to use this function
2141// because it has no param check, nor strict type check
2142func (r *DescribeBlackHeaderRequest) FromJsonString(s string) error {
2143	f := make(map[string]interface{})
2144	if err := json.Unmarshal([]byte(s), &f); err != nil {
2145		return err
2146	}
2147	if len(f) > 0 {
2148		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBlackHeaderRequest has unknown keys!", "")
2149	}
2150	return json.Unmarshal([]byte(s), &r)
2151}
2152
2153type DescribeBlackHeaderResponse struct {
2154	*tchttp.BaseResponse
2155	Response *struct {
2156
2157		// 禁用的自定义header列表
2158	// 注意:此字段可能返回 null,表示取不到有效值。
2159		BlackHeaders []*string `json:"BlackHeaders,omitempty" name:"BlackHeaders"`
2160
2161		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2162		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2163	} `json:"Response"`
2164}
2165
2166func (r *DescribeBlackHeaderResponse) ToJsonString() string {
2167    b, _ := json.Marshal(r)
2168    return string(b)
2169}
2170
2171// FromJsonString It is highly **NOT** recommended to use this function
2172// because it has no param check, nor strict type check
2173func (r *DescribeBlackHeaderResponse) FromJsonString(s string) error {
2174	return json.Unmarshal([]byte(s), &r)
2175}
2176
2177type DescribeCertificateDetailRequest struct {
2178	*tchttp.BaseRequest
2179
2180	// 证书ID。
2181	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
2182}
2183
2184func (r *DescribeCertificateDetailRequest) ToJsonString() string {
2185    b, _ := json.Marshal(r)
2186    return string(b)
2187}
2188
2189// FromJsonString It is highly **NOT** recommended to use this function
2190// because it has no param check, nor strict type check
2191func (r *DescribeCertificateDetailRequest) FromJsonString(s string) error {
2192	f := make(map[string]interface{})
2193	if err := json.Unmarshal([]byte(s), &f); err != nil {
2194		return err
2195	}
2196	delete(f, "CertificateId")
2197	if len(f) > 0 {
2198		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCertificateDetailRequest has unknown keys!", "")
2199	}
2200	return json.Unmarshal([]byte(s), &r)
2201}
2202
2203type DescribeCertificateDetailResponse struct {
2204	*tchttp.BaseResponse
2205	Response *struct {
2206
2207		// 证书详情。
2208		CertificateDetail *CertificateDetail `json:"CertificateDetail,omitempty" name:"CertificateDetail"`
2209
2210		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2211		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2212	} `json:"Response"`
2213}
2214
2215func (r *DescribeCertificateDetailResponse) ToJsonString() string {
2216    b, _ := json.Marshal(r)
2217    return string(b)
2218}
2219
2220// FromJsonString It is highly **NOT** recommended to use this function
2221// because it has no param check, nor strict type check
2222func (r *DescribeCertificateDetailResponse) FromJsonString(s string) error {
2223	return json.Unmarshal([]byte(s), &r)
2224}
2225
2226type DescribeCertificatesRequest struct {
2227	*tchttp.BaseRequest
2228
2229	// 证书类型。其中:
2230	// 0,表示基础认证配置;
2231	// 1,表示客户端CA证书;
2232	// 2,表示服务器SSL证书;
2233	// 3,表示源站CA证书;
2234	// 4,表示通道SSL证书。
2235	// -1,所有类型。
2236	// 默认为-1。
2237	CertificateType *int64 `json:"CertificateType,omitempty" name:"CertificateType"`
2238
2239	// 偏移量,默认为0。
2240	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
2241
2242	// 限制数量,默认为20。
2243	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
2244}
2245
2246func (r *DescribeCertificatesRequest) ToJsonString() string {
2247    b, _ := json.Marshal(r)
2248    return string(b)
2249}
2250
2251// FromJsonString It is highly **NOT** recommended to use this function
2252// because it has no param check, nor strict type check
2253func (r *DescribeCertificatesRequest) FromJsonString(s string) error {
2254	f := make(map[string]interface{})
2255	if err := json.Unmarshal([]byte(s), &f); err != nil {
2256		return err
2257	}
2258	delete(f, "CertificateType")
2259	delete(f, "Offset")
2260	delete(f, "Limit")
2261	if len(f) > 0 {
2262		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCertificatesRequest has unknown keys!", "")
2263	}
2264	return json.Unmarshal([]byte(s), &r)
2265}
2266
2267type DescribeCertificatesResponse struct {
2268	*tchttp.BaseResponse
2269	Response *struct {
2270
2271		// 服务器证书列表,包括证书ID 和证书名称。
2272		CertificateSet []*Certificate `json:"CertificateSet,omitempty" name:"CertificateSet"`
2273
2274		// 满足查询条件的服务器证书总数量。
2275		TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
2276
2277		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2278		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2279	} `json:"Response"`
2280}
2281
2282func (r *DescribeCertificatesResponse) ToJsonString() string {
2283    b, _ := json.Marshal(r)
2284    return string(b)
2285}
2286
2287// FromJsonString It is highly **NOT** recommended to use this function
2288// because it has no param check, nor strict type check
2289func (r *DescribeCertificatesResponse) FromJsonString(s string) error {
2290	return json.Unmarshal([]byte(s), &r)
2291}
2292
2293type DescribeCountryAreaMappingRequest struct {
2294	*tchttp.BaseRequest
2295}
2296
2297func (r *DescribeCountryAreaMappingRequest) ToJsonString() string {
2298    b, _ := json.Marshal(r)
2299    return string(b)
2300}
2301
2302// FromJsonString It is highly **NOT** recommended to use this function
2303// because it has no param check, nor strict type check
2304func (r *DescribeCountryAreaMappingRequest) FromJsonString(s string) error {
2305	f := make(map[string]interface{})
2306	if err := json.Unmarshal([]byte(s), &f); err != nil {
2307		return err
2308	}
2309	if len(f) > 0 {
2310		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCountryAreaMappingRequest has unknown keys!", "")
2311	}
2312	return json.Unmarshal([]byte(s), &r)
2313}
2314
2315type DescribeCountryAreaMappingResponse struct {
2316	*tchttp.BaseResponse
2317	Response *struct {
2318
2319		// 国家地区编码映射表。
2320		CountryAreaMappingList []*CountryAreaMap `json:"CountryAreaMappingList,omitempty" name:"CountryAreaMappingList"`
2321
2322		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2323		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2324	} `json:"Response"`
2325}
2326
2327func (r *DescribeCountryAreaMappingResponse) ToJsonString() string {
2328    b, _ := json.Marshal(r)
2329    return string(b)
2330}
2331
2332// FromJsonString It is highly **NOT** recommended to use this function
2333// because it has no param check, nor strict type check
2334func (r *DescribeCountryAreaMappingResponse) FromJsonString(s string) error {
2335	return json.Unmarshal([]byte(s), &r)
2336}
2337
2338type DescribeCustomHeaderRequest struct {
2339	*tchttp.BaseRequest
2340}
2341
2342func (r *DescribeCustomHeaderRequest) ToJsonString() string {
2343    b, _ := json.Marshal(r)
2344    return string(b)
2345}
2346
2347// FromJsonString It is highly **NOT** recommended to use this function
2348// because it has no param check, nor strict type check
2349func (r *DescribeCustomHeaderRequest) FromJsonString(s string) error {
2350	f := make(map[string]interface{})
2351	if err := json.Unmarshal([]byte(s), &f); err != nil {
2352		return err
2353	}
2354	if len(f) > 0 {
2355		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCustomHeaderRequest has unknown keys!", "")
2356	}
2357	return json.Unmarshal([]byte(s), &r)
2358}
2359
2360type DescribeCustomHeaderResponse struct {
2361	*tchttp.BaseResponse
2362	Response *struct {
2363
2364		// 规则id
2365	// 注意:此字段可能返回 null,表示取不到有效值。
2366		RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
2367
2368		// 自定义header列表
2369	// 注意:此字段可能返回 null,表示取不到有效值。
2370		Headers []*HttpHeaderParam `json:"Headers,omitempty" name:"Headers"`
2371
2372		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2373		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2374	} `json:"Response"`
2375}
2376
2377func (r *DescribeCustomHeaderResponse) ToJsonString() string {
2378    b, _ := json.Marshal(r)
2379    return string(b)
2380}
2381
2382// FromJsonString It is highly **NOT** recommended to use this function
2383// because it has no param check, nor strict type check
2384func (r *DescribeCustomHeaderResponse) FromJsonString(s string) error {
2385	return json.Unmarshal([]byte(s), &r)
2386}
2387
2388type DescribeDestRegionsRequest struct {
2389	*tchttp.BaseRequest
2390}
2391
2392func (r *DescribeDestRegionsRequest) ToJsonString() string {
2393    b, _ := json.Marshal(r)
2394    return string(b)
2395}
2396
2397// FromJsonString It is highly **NOT** recommended to use this function
2398// because it has no param check, nor strict type check
2399func (r *DescribeDestRegionsRequest) FromJsonString(s string) error {
2400	f := make(map[string]interface{})
2401	if err := json.Unmarshal([]byte(s), &f); err != nil {
2402		return err
2403	}
2404	if len(f) > 0 {
2405		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDestRegionsRequest has unknown keys!", "")
2406	}
2407	return json.Unmarshal([]byte(s), &r)
2408}
2409
2410type DescribeDestRegionsResponse struct {
2411	*tchttp.BaseResponse
2412	Response *struct {
2413
2414		// 源站区域总数
2415		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
2416
2417		// 源站区域详情列表
2418		DestRegionSet []*RegionDetail `json:"DestRegionSet,omitempty" name:"DestRegionSet"`
2419
2420		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2421		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2422	} `json:"Response"`
2423}
2424
2425func (r *DescribeDestRegionsResponse) ToJsonString() string {
2426    b, _ := json.Marshal(r)
2427    return string(b)
2428}
2429
2430// FromJsonString It is highly **NOT** recommended to use this function
2431// because it has no param check, nor strict type check
2432func (r *DescribeDestRegionsResponse) FromJsonString(s string) error {
2433	return json.Unmarshal([]byte(s), &r)
2434}
2435
2436type DescribeDomainErrorPageInfoByIdsRequest struct {
2437	*tchttp.BaseRequest
2438
2439	// 定制错误ID列表,最多支持10个
2440	ErrorPageIds []*string `json:"ErrorPageIds,omitempty" name:"ErrorPageIds"`
2441}
2442
2443func (r *DescribeDomainErrorPageInfoByIdsRequest) ToJsonString() string {
2444    b, _ := json.Marshal(r)
2445    return string(b)
2446}
2447
2448// FromJsonString It is highly **NOT** recommended to use this function
2449// because it has no param check, nor strict type check
2450func (r *DescribeDomainErrorPageInfoByIdsRequest) FromJsonString(s string) error {
2451	f := make(map[string]interface{})
2452	if err := json.Unmarshal([]byte(s), &f); err != nil {
2453		return err
2454	}
2455	delete(f, "ErrorPageIds")
2456	if len(f) > 0 {
2457		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDomainErrorPageInfoByIdsRequest has unknown keys!", "")
2458	}
2459	return json.Unmarshal([]byte(s), &r)
2460}
2461
2462type DescribeDomainErrorPageInfoByIdsResponse struct {
2463	*tchttp.BaseResponse
2464	Response *struct {
2465
2466		// 定制错误响应配置集
2467	// 注意:此字段可能返回 null,表示取不到有效值。
2468		ErrorPageSet []*DomainErrorPageInfo `json:"ErrorPageSet,omitempty" name:"ErrorPageSet"`
2469
2470		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2471		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2472	} `json:"Response"`
2473}
2474
2475func (r *DescribeDomainErrorPageInfoByIdsResponse) ToJsonString() string {
2476    b, _ := json.Marshal(r)
2477    return string(b)
2478}
2479
2480// FromJsonString It is highly **NOT** recommended to use this function
2481// because it has no param check, nor strict type check
2482func (r *DescribeDomainErrorPageInfoByIdsResponse) FromJsonString(s string) error {
2483	return json.Unmarshal([]byte(s), &r)
2484}
2485
2486type DescribeDomainErrorPageInfoRequest struct {
2487	*tchttp.BaseRequest
2488
2489	// 监听器ID
2490	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
2491
2492	// 域名
2493	Domain *string `json:"Domain,omitempty" name:"Domain"`
2494}
2495
2496func (r *DescribeDomainErrorPageInfoRequest) ToJsonString() string {
2497    b, _ := json.Marshal(r)
2498    return string(b)
2499}
2500
2501// FromJsonString It is highly **NOT** recommended to use this function
2502// because it has no param check, nor strict type check
2503func (r *DescribeDomainErrorPageInfoRequest) FromJsonString(s string) error {
2504	f := make(map[string]interface{})
2505	if err := json.Unmarshal([]byte(s), &f); err != nil {
2506		return err
2507	}
2508	delete(f, "ListenerId")
2509	delete(f, "Domain")
2510	if len(f) > 0 {
2511		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDomainErrorPageInfoRequest has unknown keys!", "")
2512	}
2513	return json.Unmarshal([]byte(s), &r)
2514}
2515
2516type DescribeDomainErrorPageInfoResponse struct {
2517	*tchttp.BaseResponse
2518	Response *struct {
2519
2520		// 定制错误响应配置集
2521	// 注意:此字段可能返回 null,表示取不到有效值。
2522		ErrorPageSet []*DomainErrorPageInfo `json:"ErrorPageSet,omitempty" name:"ErrorPageSet"`
2523
2524		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2525		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2526	} `json:"Response"`
2527}
2528
2529func (r *DescribeDomainErrorPageInfoResponse) ToJsonString() string {
2530    b, _ := json.Marshal(r)
2531    return string(b)
2532}
2533
2534// FromJsonString It is highly **NOT** recommended to use this function
2535// because it has no param check, nor strict type check
2536func (r *DescribeDomainErrorPageInfoResponse) FromJsonString(s string) error {
2537	return json.Unmarshal([]byte(s), &r)
2538}
2539
2540type DescribeGroupAndStatisticsProxyRequest struct {
2541	*tchttp.BaseRequest
2542
2543	// 项目ID
2544	ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
2545}
2546
2547func (r *DescribeGroupAndStatisticsProxyRequest) ToJsonString() string {
2548    b, _ := json.Marshal(r)
2549    return string(b)
2550}
2551
2552// FromJsonString It is highly **NOT** recommended to use this function
2553// because it has no param check, nor strict type check
2554func (r *DescribeGroupAndStatisticsProxyRequest) FromJsonString(s string) error {
2555	f := make(map[string]interface{})
2556	if err := json.Unmarshal([]byte(s), &f); err != nil {
2557		return err
2558	}
2559	delete(f, "ProjectId")
2560	if len(f) > 0 {
2561		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGroupAndStatisticsProxyRequest has unknown keys!", "")
2562	}
2563	return json.Unmarshal([]byte(s), &r)
2564}
2565
2566type DescribeGroupAndStatisticsProxyResponse struct {
2567	*tchttp.BaseResponse
2568	Response *struct {
2569
2570		// 可以统计的通道组信息
2571		GroupSet []*GroupStatisticsInfo `json:"GroupSet,omitempty" name:"GroupSet"`
2572
2573		// 通道组数量
2574		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
2575
2576		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2577		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2578	} `json:"Response"`
2579}
2580
2581func (r *DescribeGroupAndStatisticsProxyResponse) ToJsonString() string {
2582    b, _ := json.Marshal(r)
2583    return string(b)
2584}
2585
2586// FromJsonString It is highly **NOT** recommended to use this function
2587// because it has no param check, nor strict type check
2588func (r *DescribeGroupAndStatisticsProxyResponse) FromJsonString(s string) error {
2589	return json.Unmarshal([]byte(s), &r)
2590}
2591
2592type DescribeGroupDomainConfigRequest struct {
2593	*tchttp.BaseRequest
2594
2595	// 通道组ID。
2596	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2597}
2598
2599func (r *DescribeGroupDomainConfigRequest) ToJsonString() string {
2600    b, _ := json.Marshal(r)
2601    return string(b)
2602}
2603
2604// FromJsonString It is highly **NOT** recommended to use this function
2605// because it has no param check, nor strict type check
2606func (r *DescribeGroupDomainConfigRequest) FromJsonString(s string) error {
2607	f := make(map[string]interface{})
2608	if err := json.Unmarshal([]byte(s), &f); err != nil {
2609		return err
2610	}
2611	delete(f, "GroupId")
2612	if len(f) > 0 {
2613		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGroupDomainConfigRequest has unknown keys!", "")
2614	}
2615	return json.Unmarshal([]byte(s), &r)
2616}
2617
2618type DescribeGroupDomainConfigResponse struct {
2619	*tchttp.BaseResponse
2620	Response *struct {
2621
2622		// 域名解析就近接入配置列表。
2623		AccessRegionList []*DomainAccessRegionDict `json:"AccessRegionList,omitempty" name:"AccessRegionList"`
2624
2625		// 默认访问Ip。
2626		DefaultDnsIp *string `json:"DefaultDnsIp,omitempty" name:"DefaultDnsIp"`
2627
2628		// 通道组ID。
2629		GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2630
2631		// 接入地域的配置的总数。
2632		AccessRegionCount *int64 `json:"AccessRegionCount,omitempty" name:"AccessRegionCount"`
2633
2634		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2635		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2636	} `json:"Response"`
2637}
2638
2639func (r *DescribeGroupDomainConfigResponse) ToJsonString() string {
2640    b, _ := json.Marshal(r)
2641    return string(b)
2642}
2643
2644// FromJsonString It is highly **NOT** recommended to use this function
2645// because it has no param check, nor strict type check
2646func (r *DescribeGroupDomainConfigResponse) FromJsonString(s string) error {
2647	return json.Unmarshal([]byte(s), &r)
2648}
2649
2650type DescribeHTTPListenersRequest struct {
2651	*tchttp.BaseRequest
2652
2653	// 通道ID
2654	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
2655
2656	// 过滤条件,按照监听器ID进行精确查询
2657	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
2658
2659	// 过滤条件,按照监听器名称进行精确查询
2660	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
2661
2662	// 过滤条件,按照监听器端口进行精确查询
2663	Port *uint64 `json:"Port,omitempty" name:"Port"`
2664
2665	// 偏移量,默认为0
2666	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
2667
2668	// 限制数量,默认为20个
2669	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
2670
2671	// 过滤条件,支持按照端口或监听器名称进行模糊查询,该参数不能与ListenerName和Port同时使用
2672	SearchValue *string `json:"SearchValue,omitempty" name:"SearchValue"`
2673
2674	// 通道组ID
2675	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2676}
2677
2678func (r *DescribeHTTPListenersRequest) ToJsonString() string {
2679    b, _ := json.Marshal(r)
2680    return string(b)
2681}
2682
2683// FromJsonString It is highly **NOT** recommended to use this function
2684// because it has no param check, nor strict type check
2685func (r *DescribeHTTPListenersRequest) FromJsonString(s string) error {
2686	f := make(map[string]interface{})
2687	if err := json.Unmarshal([]byte(s), &f); err != nil {
2688		return err
2689	}
2690	delete(f, "ProxyId")
2691	delete(f, "ListenerId")
2692	delete(f, "ListenerName")
2693	delete(f, "Port")
2694	delete(f, "Offset")
2695	delete(f, "Limit")
2696	delete(f, "SearchValue")
2697	delete(f, "GroupId")
2698	if len(f) > 0 {
2699		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeHTTPListenersRequest has unknown keys!", "")
2700	}
2701	return json.Unmarshal([]byte(s), &r)
2702}
2703
2704type DescribeHTTPListenersResponse struct {
2705	*tchttp.BaseResponse
2706	Response *struct {
2707
2708		// 监听器数量
2709		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
2710
2711		// HTTP监听器列表
2712		ListenerSet []*HTTPListener `json:"ListenerSet,omitempty" name:"ListenerSet"`
2713
2714		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2715		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2716	} `json:"Response"`
2717}
2718
2719func (r *DescribeHTTPListenersResponse) ToJsonString() string {
2720    b, _ := json.Marshal(r)
2721    return string(b)
2722}
2723
2724// FromJsonString It is highly **NOT** recommended to use this function
2725// because it has no param check, nor strict type check
2726func (r *DescribeHTTPListenersResponse) FromJsonString(s string) error {
2727	return json.Unmarshal([]byte(s), &r)
2728}
2729
2730type DescribeHTTPSListenersRequest struct {
2731	*tchttp.BaseRequest
2732
2733	// 过滤条件,通道ID
2734	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
2735
2736	// 过滤条件,根据监听器ID进行精确查询。
2737	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
2738
2739	// 过滤条件,根据监听器名称进行精确查询。
2740	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
2741
2742	// 过滤条件,根据监听器端口进行精确查询。
2743	Port *uint64 `json:"Port,omitempty" name:"Port"`
2744
2745	// 偏移量, 默认为0
2746	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
2747
2748	// 限制数量,默认为20
2749	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
2750
2751	// 过滤条件,支持按照端口或监听器名称进行模糊查询
2752	SearchValue *string `json:"SearchValue,omitempty" name:"SearchValue"`
2753
2754	// 过滤条件,通道组ID
2755	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2756}
2757
2758func (r *DescribeHTTPSListenersRequest) ToJsonString() string {
2759    b, _ := json.Marshal(r)
2760    return string(b)
2761}
2762
2763// FromJsonString It is highly **NOT** recommended to use this function
2764// because it has no param check, nor strict type check
2765func (r *DescribeHTTPSListenersRequest) FromJsonString(s string) error {
2766	f := make(map[string]interface{})
2767	if err := json.Unmarshal([]byte(s), &f); err != nil {
2768		return err
2769	}
2770	delete(f, "ProxyId")
2771	delete(f, "ListenerId")
2772	delete(f, "ListenerName")
2773	delete(f, "Port")
2774	delete(f, "Offset")
2775	delete(f, "Limit")
2776	delete(f, "SearchValue")
2777	delete(f, "GroupId")
2778	if len(f) > 0 {
2779		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeHTTPSListenersRequest has unknown keys!", "")
2780	}
2781	return json.Unmarshal([]byte(s), &r)
2782}
2783
2784type DescribeHTTPSListenersResponse struct {
2785	*tchttp.BaseResponse
2786	Response *struct {
2787
2788		// 监听器数量
2789		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
2790
2791		// HTTPS监听器列表
2792		ListenerSet []*HTTPSListener `json:"ListenerSet,omitempty" name:"ListenerSet"`
2793
2794		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2795		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2796	} `json:"Response"`
2797}
2798
2799func (r *DescribeHTTPSListenersResponse) ToJsonString() string {
2800    b, _ := json.Marshal(r)
2801    return string(b)
2802}
2803
2804// FromJsonString It is highly **NOT** recommended to use this function
2805// because it has no param check, nor strict type check
2806func (r *DescribeHTTPSListenersResponse) FromJsonString(s string) error {
2807	return json.Unmarshal([]byte(s), &r)
2808}
2809
2810type DescribeListenerRealServersRequest struct {
2811	*tchttp.BaseRequest
2812
2813	// 监听器ID
2814	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
2815}
2816
2817func (r *DescribeListenerRealServersRequest) ToJsonString() string {
2818    b, _ := json.Marshal(r)
2819    return string(b)
2820}
2821
2822// FromJsonString It is highly **NOT** recommended to use this function
2823// because it has no param check, nor strict type check
2824func (r *DescribeListenerRealServersRequest) FromJsonString(s string) error {
2825	f := make(map[string]interface{})
2826	if err := json.Unmarshal([]byte(s), &f); err != nil {
2827		return err
2828	}
2829	delete(f, "ListenerId")
2830	if len(f) > 0 {
2831		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeListenerRealServersRequest has unknown keys!", "")
2832	}
2833	return json.Unmarshal([]byte(s), &r)
2834}
2835
2836type DescribeListenerRealServersResponse struct {
2837	*tchttp.BaseResponse
2838	Response *struct {
2839
2840		// 可绑定源站的个数
2841		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
2842
2843		// 源站信息列表
2844		RealServerSet []*RealServer `json:"RealServerSet,omitempty" name:"RealServerSet"`
2845
2846		// 已绑定源站的个数
2847		BindRealServerTotalCount *uint64 `json:"BindRealServerTotalCount,omitempty" name:"BindRealServerTotalCount"`
2848
2849		// 已绑定源站信息列表
2850		BindRealServerSet []*BindRealServer `json:"BindRealServerSet,omitempty" name:"BindRealServerSet"`
2851
2852		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2853		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2854	} `json:"Response"`
2855}
2856
2857func (r *DescribeListenerRealServersResponse) ToJsonString() string {
2858    b, _ := json.Marshal(r)
2859    return string(b)
2860}
2861
2862// FromJsonString It is highly **NOT** recommended to use this function
2863// because it has no param check, nor strict type check
2864func (r *DescribeListenerRealServersResponse) FromJsonString(s string) error {
2865	return json.Unmarshal([]byte(s), &r)
2866}
2867
2868type DescribeListenerStatisticsRequest struct {
2869	*tchttp.BaseRequest
2870
2871	// 监听器ID
2872	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
2873
2874	// 起始时间
2875	StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
2876
2877	// 结束时间
2878	EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
2879
2880	// 统计指标名称列表,支持: 入带宽:InBandwidth, 出带宽:OutBandwidth, 并发:Concurrent, 入包量:InPackets, 出包量:OutPackets。
2881	MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames"`
2882
2883	// 监控粒度,目前支持300,3600,86400,单位:秒。
2884	// 查询时间范围不超过1天,支持最小粒度300秒;
2885	// 查询间范围不超过7天,支持最小粒度3600秒;
2886	// 查询间范围超过7天,支持最小粒度86400秒。
2887	Granularity *uint64 `json:"Granularity,omitempty" name:"Granularity"`
2888}
2889
2890func (r *DescribeListenerStatisticsRequest) ToJsonString() string {
2891    b, _ := json.Marshal(r)
2892    return string(b)
2893}
2894
2895// FromJsonString It is highly **NOT** recommended to use this function
2896// because it has no param check, nor strict type check
2897func (r *DescribeListenerStatisticsRequest) FromJsonString(s string) error {
2898	f := make(map[string]interface{})
2899	if err := json.Unmarshal([]byte(s), &f); err != nil {
2900		return err
2901	}
2902	delete(f, "ListenerId")
2903	delete(f, "StartTime")
2904	delete(f, "EndTime")
2905	delete(f, "MetricNames")
2906	delete(f, "Granularity")
2907	if len(f) > 0 {
2908		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeListenerStatisticsRequest has unknown keys!", "")
2909	}
2910	return json.Unmarshal([]byte(s), &r)
2911}
2912
2913type DescribeListenerStatisticsResponse struct {
2914	*tchttp.BaseResponse
2915	Response *struct {
2916
2917		// 通道组统计数据
2918		StatisticsData []*MetricStatisticsInfo `json:"StatisticsData,omitempty" name:"StatisticsData"`
2919
2920		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2921		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2922	} `json:"Response"`
2923}
2924
2925func (r *DescribeListenerStatisticsResponse) ToJsonString() string {
2926    b, _ := json.Marshal(r)
2927    return string(b)
2928}
2929
2930// FromJsonString It is highly **NOT** recommended to use this function
2931// because it has no param check, nor strict type check
2932func (r *DescribeListenerStatisticsResponse) FromJsonString(s string) error {
2933	return json.Unmarshal([]byte(s), &r)
2934}
2935
2936type DescribeProxiesRequest struct {
2937	*tchttp.BaseRequest
2938
2939	// (旧参数,请切换到ProxyIds)按照一个或者多个实例ID查询。每次请求的实例的上限为100。参数不支持同时指定InstanceIds和Filters。
2940	InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
2941
2942	// 偏移量,默认为0。
2943	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
2944
2945	// 返回数量,默认为20,最大值为100。
2946	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
2947
2948	// 过滤条件。
2949	// 每次请求的Filters的上限为10,Filter.Values的上限为5。参数不支持同时指定InstanceIds和Filters。
2950	// ProjectId - String - 是否必填:否 -(过滤条件)按照项目ID过滤。
2951	// AccessRegion - String - 是否必填:否 - (过滤条件)按照接入地域过滤。
2952	// RealServerRegion - String - 是否必填:否 - (过滤条件)按照源站地域过滤。
2953	// GroupId - String - 是否必填:否 - (过滤条件)按照通道组ID过滤。
2954	// IPAddressVersion - String - 是否必填:否 - (过滤条件)按照IP版本过滤。
2955	Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
2956
2957	// (新参数,替代InstanceIds)按照一个或者多个实例ID查询。每次请求的实例的上限为100。参数不支持同时指定InstanceIds和Filters。
2958	ProxyIds []*string `json:"ProxyIds,omitempty" name:"ProxyIds"`
2959
2960	// 标签列表,当存在该字段时,拉取对应标签下的资源列表。
2961	// 最多支持5个标签,当存在两个或两个以上的标签时,满足其中任意一个标签时,通道会被拉取出来。
2962	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
2963
2964	// 当该字段为1时,仅拉取非通道组的通道,
2965	// 当该字段为0时,仅拉取通道组的通道,
2966	// 不存在该字段时,拉取所有通道,包括独立通道和通道组通道。
2967	Independent *int64 `json:"Independent,omitempty" name:"Independent"`
2968}
2969
2970func (r *DescribeProxiesRequest) ToJsonString() string {
2971    b, _ := json.Marshal(r)
2972    return string(b)
2973}
2974
2975// FromJsonString It is highly **NOT** recommended to use this function
2976// because it has no param check, nor strict type check
2977func (r *DescribeProxiesRequest) FromJsonString(s string) error {
2978	f := make(map[string]interface{})
2979	if err := json.Unmarshal([]byte(s), &f); err != nil {
2980		return err
2981	}
2982	delete(f, "InstanceIds")
2983	delete(f, "Offset")
2984	delete(f, "Limit")
2985	delete(f, "Filters")
2986	delete(f, "ProxyIds")
2987	delete(f, "TagSet")
2988	delete(f, "Independent")
2989	if len(f) > 0 {
2990		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProxiesRequest has unknown keys!", "")
2991	}
2992	return json.Unmarshal([]byte(s), &r)
2993}
2994
2995type DescribeProxiesResponse struct {
2996	*tchttp.BaseResponse
2997	Response *struct {
2998
2999		// 通道个数。
3000		TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
3001
3002		// (旧参数,请切换到ProxySet)通道实例信息列表。
3003		InstanceSet []*ProxyInfo `json:"InstanceSet,omitempty" name:"InstanceSet"`
3004
3005		// (新参数)通道实例信息列表。
3006		ProxySet []*ProxyInfo `json:"ProxySet,omitempty" name:"ProxySet"`
3007
3008		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3009		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3010	} `json:"Response"`
3011}
3012
3013func (r *DescribeProxiesResponse) ToJsonString() string {
3014    b, _ := json.Marshal(r)
3015    return string(b)
3016}
3017
3018// FromJsonString It is highly **NOT** recommended to use this function
3019// because it has no param check, nor strict type check
3020func (r *DescribeProxiesResponse) FromJsonString(s string) error {
3021	return json.Unmarshal([]byte(s), &r)
3022}
3023
3024type DescribeProxiesStatusRequest struct {
3025	*tchttp.BaseRequest
3026
3027	// (旧参数,请切换到ProxyIds)通道ID列表。
3028	InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
3029
3030	// (新参数)通道ID列表。
3031	ProxyIds []*string `json:"ProxyIds,omitempty" name:"ProxyIds"`
3032}
3033
3034func (r *DescribeProxiesStatusRequest) ToJsonString() string {
3035    b, _ := json.Marshal(r)
3036    return string(b)
3037}
3038
3039// FromJsonString It is highly **NOT** recommended to use this function
3040// because it has no param check, nor strict type check
3041func (r *DescribeProxiesStatusRequest) FromJsonString(s string) error {
3042	f := make(map[string]interface{})
3043	if err := json.Unmarshal([]byte(s), &f); err != nil {
3044		return err
3045	}
3046	delete(f, "InstanceIds")
3047	delete(f, "ProxyIds")
3048	if len(f) > 0 {
3049		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProxiesStatusRequest has unknown keys!", "")
3050	}
3051	return json.Unmarshal([]byte(s), &r)
3052}
3053
3054type DescribeProxiesStatusResponse struct {
3055	*tchttp.BaseResponse
3056	Response *struct {
3057
3058		// 通道状态列表。
3059		InstanceStatusSet []*ProxyStatus `json:"InstanceStatusSet,omitempty" name:"InstanceStatusSet"`
3060
3061		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3062		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3063	} `json:"Response"`
3064}
3065
3066func (r *DescribeProxiesStatusResponse) ToJsonString() string {
3067    b, _ := json.Marshal(r)
3068    return string(b)
3069}
3070
3071// FromJsonString It is highly **NOT** recommended to use this function
3072// because it has no param check, nor strict type check
3073func (r *DescribeProxiesStatusResponse) FromJsonString(s string) error {
3074	return json.Unmarshal([]byte(s), &r)
3075}
3076
3077type DescribeProxyAndStatisticsListenersRequest struct {
3078	*tchttp.BaseRequest
3079
3080	// 项目ID
3081	ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
3082}
3083
3084func (r *DescribeProxyAndStatisticsListenersRequest) ToJsonString() string {
3085    b, _ := json.Marshal(r)
3086    return string(b)
3087}
3088
3089// FromJsonString It is highly **NOT** recommended to use this function
3090// because it has no param check, nor strict type check
3091func (r *DescribeProxyAndStatisticsListenersRequest) FromJsonString(s string) error {
3092	f := make(map[string]interface{})
3093	if err := json.Unmarshal([]byte(s), &f); err != nil {
3094		return err
3095	}
3096	delete(f, "ProjectId")
3097	if len(f) > 0 {
3098		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProxyAndStatisticsListenersRequest has unknown keys!", "")
3099	}
3100	return json.Unmarshal([]byte(s), &r)
3101}
3102
3103type DescribeProxyAndStatisticsListenersResponse struct {
3104	*tchttp.BaseResponse
3105	Response *struct {
3106
3107		// 可以统计的通道信息
3108		ProxySet []*ProxySimpleInfo `json:"ProxySet,omitempty" name:"ProxySet"`
3109
3110		// 通道数量
3111		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
3112
3113		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3114		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3115	} `json:"Response"`
3116}
3117
3118func (r *DescribeProxyAndStatisticsListenersResponse) ToJsonString() string {
3119    b, _ := json.Marshal(r)
3120    return string(b)
3121}
3122
3123// FromJsonString It is highly **NOT** recommended to use this function
3124// because it has no param check, nor strict type check
3125func (r *DescribeProxyAndStatisticsListenersResponse) FromJsonString(s string) error {
3126	return json.Unmarshal([]byte(s), &r)
3127}
3128
3129type DescribeProxyDetailRequest struct {
3130	*tchttp.BaseRequest
3131
3132	// 需查询的通道ID。
3133	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
3134}
3135
3136func (r *DescribeProxyDetailRequest) ToJsonString() string {
3137    b, _ := json.Marshal(r)
3138    return string(b)
3139}
3140
3141// FromJsonString It is highly **NOT** recommended to use this function
3142// because it has no param check, nor strict type check
3143func (r *DescribeProxyDetailRequest) FromJsonString(s string) error {
3144	f := make(map[string]interface{})
3145	if err := json.Unmarshal([]byte(s), &f); err != nil {
3146		return err
3147	}
3148	delete(f, "ProxyId")
3149	if len(f) > 0 {
3150		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProxyDetailRequest has unknown keys!", "")
3151	}
3152	return json.Unmarshal([]byte(s), &r)
3153}
3154
3155type DescribeProxyDetailResponse struct {
3156	*tchttp.BaseResponse
3157	Response *struct {
3158
3159		// 通道详情信息。
3160		ProxyDetail *ProxyInfo `json:"ProxyDetail,omitempty" name:"ProxyDetail"`
3161
3162		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3163		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3164	} `json:"Response"`
3165}
3166
3167func (r *DescribeProxyDetailResponse) ToJsonString() string {
3168    b, _ := json.Marshal(r)
3169    return string(b)
3170}
3171
3172// FromJsonString It is highly **NOT** recommended to use this function
3173// because it has no param check, nor strict type check
3174func (r *DescribeProxyDetailResponse) FromJsonString(s string) error {
3175	return json.Unmarshal([]byte(s), &r)
3176}
3177
3178type DescribeProxyGroupDetailsRequest struct {
3179	*tchttp.BaseRequest
3180
3181	// 通道组ID。
3182	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
3183}
3184
3185func (r *DescribeProxyGroupDetailsRequest) ToJsonString() string {
3186    b, _ := json.Marshal(r)
3187    return string(b)
3188}
3189
3190// FromJsonString It is highly **NOT** recommended to use this function
3191// because it has no param check, nor strict type check
3192func (r *DescribeProxyGroupDetailsRequest) FromJsonString(s string) error {
3193	f := make(map[string]interface{})
3194	if err := json.Unmarshal([]byte(s), &f); err != nil {
3195		return err
3196	}
3197	delete(f, "GroupId")
3198	if len(f) > 0 {
3199		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProxyGroupDetailsRequest has unknown keys!", "")
3200	}
3201	return json.Unmarshal([]byte(s), &r)
3202}
3203
3204type DescribeProxyGroupDetailsResponse struct {
3205	*tchttp.BaseResponse
3206	Response *struct {
3207
3208		// 通道组详细信息。
3209		ProxyGroupDetail *ProxyGroupDetail `json:"ProxyGroupDetail,omitempty" name:"ProxyGroupDetail"`
3210
3211		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3212		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3213	} `json:"Response"`
3214}
3215
3216func (r *DescribeProxyGroupDetailsResponse) ToJsonString() string {
3217    b, _ := json.Marshal(r)
3218    return string(b)
3219}
3220
3221// FromJsonString It is highly **NOT** recommended to use this function
3222// because it has no param check, nor strict type check
3223func (r *DescribeProxyGroupDetailsResponse) FromJsonString(s string) error {
3224	return json.Unmarshal([]byte(s), &r)
3225}
3226
3227type DescribeProxyGroupListRequest struct {
3228	*tchttp.BaseRequest
3229
3230	// 偏移量,默认值为0。
3231	Offset *int64 `json:"Offset,omitempty" name:"Offset"`
3232
3233	// 返回数量,默认值为20,最大值为100。
3234	Limit *int64 `json:"Limit,omitempty" name:"Limit"`
3235
3236	// 项目ID。取值范围:
3237	// -1,该用户下所有项目
3238	// 0,默认项目
3239	// 其他值,指定的项目
3240	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
3241
3242	// 标签列表,当存在该字段时,拉取对应标签下的资源列表。
3243	// 最多支持5个标签,当存在两个或两个以上的标签时,满足其中任意一个标签时,该通道组会被拉取出来。
3244	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
3245
3246	// 过滤条件。
3247	// 每次请求的Filter.Values的上限为5。
3248	// RealServerRegion - String - 是否必填:否 -(过滤条件)按照源站地域过滤,可参考DescribeDestRegions接口返回结果中的RegionId。
3249	Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
3250}
3251
3252func (r *DescribeProxyGroupListRequest) ToJsonString() string {
3253    b, _ := json.Marshal(r)
3254    return string(b)
3255}
3256
3257// FromJsonString It is highly **NOT** recommended to use this function
3258// because it has no param check, nor strict type check
3259func (r *DescribeProxyGroupListRequest) FromJsonString(s string) error {
3260	f := make(map[string]interface{})
3261	if err := json.Unmarshal([]byte(s), &f); err != nil {
3262		return err
3263	}
3264	delete(f, "Offset")
3265	delete(f, "Limit")
3266	delete(f, "ProjectId")
3267	delete(f, "TagSet")
3268	delete(f, "Filters")
3269	if len(f) > 0 {
3270		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProxyGroupListRequest has unknown keys!", "")
3271	}
3272	return json.Unmarshal([]byte(s), &r)
3273}
3274
3275type DescribeProxyGroupListResponse struct {
3276	*tchttp.BaseResponse
3277	Response *struct {
3278
3279		// 通道组总数。
3280		TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
3281
3282		// 通道组列表。
3283	// 注意:此字段可能返回 null,表示取不到有效值。
3284		ProxyGroupList []*ProxyGroupInfo `json:"ProxyGroupList,omitempty" name:"ProxyGroupList"`
3285
3286		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3287		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3288	} `json:"Response"`
3289}
3290
3291func (r *DescribeProxyGroupListResponse) ToJsonString() string {
3292    b, _ := json.Marshal(r)
3293    return string(b)
3294}
3295
3296// FromJsonString It is highly **NOT** recommended to use this function
3297// because it has no param check, nor strict type check
3298func (r *DescribeProxyGroupListResponse) FromJsonString(s string) error {
3299	return json.Unmarshal([]byte(s), &r)
3300}
3301
3302type DescribeProxyGroupStatisticsRequest struct {
3303	*tchttp.BaseRequest
3304
3305	// 通道组ID
3306	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
3307
3308	// 起始时间
3309	StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
3310
3311	// 结束时间
3312	EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
3313
3314	// 统计指标名称列表,支持: 入带宽:InBandwidth, 出带宽:OutBandwidth, 并发:Concurrent, 入包量:InPackets, 出包量:OutPackets
3315	MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames"`
3316
3317	// 监控粒度,目前支持60,300,3600,86400,单位:秒。
3318	// 当时间范围不超过1天,支持最小粒度60秒;
3319	// 当时间范围不超过7天,支持最小粒度3600秒;
3320	// 当时间范围不超过30天,支持最小粒度86400秒。
3321	Granularity *uint64 `json:"Granularity,omitempty" name:"Granularity"`
3322}
3323
3324func (r *DescribeProxyGroupStatisticsRequest) ToJsonString() string {
3325    b, _ := json.Marshal(r)
3326    return string(b)
3327}
3328
3329// FromJsonString It is highly **NOT** recommended to use this function
3330// because it has no param check, nor strict type check
3331func (r *DescribeProxyGroupStatisticsRequest) FromJsonString(s string) error {
3332	f := make(map[string]interface{})
3333	if err := json.Unmarshal([]byte(s), &f); err != nil {
3334		return err
3335	}
3336	delete(f, "GroupId")
3337	delete(f, "StartTime")
3338	delete(f, "EndTime")
3339	delete(f, "MetricNames")
3340	delete(f, "Granularity")
3341	if len(f) > 0 {
3342		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProxyGroupStatisticsRequest has unknown keys!", "")
3343	}
3344	return json.Unmarshal([]byte(s), &r)
3345}
3346
3347type DescribeProxyGroupStatisticsResponse struct {
3348	*tchttp.BaseResponse
3349	Response *struct {
3350
3351		// 通道组统计数据
3352		StatisticsData []*MetricStatisticsInfo `json:"StatisticsData,omitempty" name:"StatisticsData"`
3353
3354		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3355		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3356	} `json:"Response"`
3357}
3358
3359func (r *DescribeProxyGroupStatisticsResponse) ToJsonString() string {
3360    b, _ := json.Marshal(r)
3361    return string(b)
3362}
3363
3364// FromJsonString It is highly **NOT** recommended to use this function
3365// because it has no param check, nor strict type check
3366func (r *DescribeProxyGroupStatisticsResponse) FromJsonString(s string) error {
3367	return json.Unmarshal([]byte(s), &r)
3368}
3369
3370type DescribeProxyStatisticsRequest struct {
3371	*tchttp.BaseRequest
3372
3373	// 通道ID
3374	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
3375
3376	// 起始时间(2019-03-25 12:00:00)
3377	StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
3378
3379	// 结束时间(2019-03-25 12:00:00)
3380	EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
3381
3382	// 统计指标名称列表,支持: 入带宽:InBandwidth, 出带宽:OutBandwidth, 并发:Concurrent, 入包量:InPackets, 出包量:OutPackets, 丢包率:PacketLoss, 延迟:Latency,http请求量:HttpQPS, Https请求量:HttpsQPS
3383	MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames"`
3384
3385	// 监控粒度,目前支持60,300,3600,86400,单位:秒。
3386	// 当时间范围不超过3天,支持最小粒度60秒;
3387	// 当时间范围不超过7天,支持最小粒度300秒;
3388	// 当时间范围不超过30天,支持最小粒度3600秒。
3389	Granularity *uint64 `json:"Granularity,omitempty" name:"Granularity"`
3390}
3391
3392func (r *DescribeProxyStatisticsRequest) ToJsonString() string {
3393    b, _ := json.Marshal(r)
3394    return string(b)
3395}
3396
3397// FromJsonString It is highly **NOT** recommended to use this function
3398// because it has no param check, nor strict type check
3399func (r *DescribeProxyStatisticsRequest) FromJsonString(s string) error {
3400	f := make(map[string]interface{})
3401	if err := json.Unmarshal([]byte(s), &f); err != nil {
3402		return err
3403	}
3404	delete(f, "ProxyId")
3405	delete(f, "StartTime")
3406	delete(f, "EndTime")
3407	delete(f, "MetricNames")
3408	delete(f, "Granularity")
3409	if len(f) > 0 {
3410		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProxyStatisticsRequest has unknown keys!", "")
3411	}
3412	return json.Unmarshal([]byte(s), &r)
3413}
3414
3415type DescribeProxyStatisticsResponse struct {
3416	*tchttp.BaseResponse
3417	Response *struct {
3418
3419		// 通道统计数据
3420		StatisticsData []*MetricStatisticsInfo `json:"StatisticsData,omitempty" name:"StatisticsData"`
3421
3422		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3423		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3424	} `json:"Response"`
3425}
3426
3427func (r *DescribeProxyStatisticsResponse) ToJsonString() string {
3428    b, _ := json.Marshal(r)
3429    return string(b)
3430}
3431
3432// FromJsonString It is highly **NOT** recommended to use this function
3433// because it has no param check, nor strict type check
3434func (r *DescribeProxyStatisticsResponse) FromJsonString(s string) error {
3435	return json.Unmarshal([]byte(s), &r)
3436}
3437
3438type DescribeRealServerStatisticsRequest struct {
3439	*tchttp.BaseRequest
3440
3441	// 源站ID
3442	RealServerId *string `json:"RealServerId,omitempty" name:"RealServerId"`
3443
3444	// 监听器ID
3445	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
3446
3447	// L7层规则ID
3448	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
3449
3450	// 统计时长,单位:小时。仅支持最近1,3,6,12,24小时的统计查询
3451	WithinTime *uint64 `json:"WithinTime,omitempty" name:"WithinTime"`
3452
3453	// 统计开始时间(2020-08-19 00:00:00)
3454	StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
3455
3456	// 统计结束时间(2020-08-19 23:59:59)
3457	EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
3458
3459	// 统计的数据粒度,单位:秒,仅支持1分钟-60和5分钟-300粒度
3460	Granularity *uint64 `json:"Granularity,omitempty" name:"Granularity"`
3461}
3462
3463func (r *DescribeRealServerStatisticsRequest) ToJsonString() string {
3464    b, _ := json.Marshal(r)
3465    return string(b)
3466}
3467
3468// FromJsonString It is highly **NOT** recommended to use this function
3469// because it has no param check, nor strict type check
3470func (r *DescribeRealServerStatisticsRequest) FromJsonString(s string) error {
3471	f := make(map[string]interface{})
3472	if err := json.Unmarshal([]byte(s), &f); err != nil {
3473		return err
3474	}
3475	delete(f, "RealServerId")
3476	delete(f, "ListenerId")
3477	delete(f, "RuleId")
3478	delete(f, "WithinTime")
3479	delete(f, "StartTime")
3480	delete(f, "EndTime")
3481	delete(f, "Granularity")
3482	if len(f) > 0 {
3483		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRealServerStatisticsRequest has unknown keys!", "")
3484	}
3485	return json.Unmarshal([]byte(s), &r)
3486}
3487
3488type DescribeRealServerStatisticsResponse struct {
3489	*tchttp.BaseResponse
3490	Response *struct {
3491
3492		// 指定监听器的源站状态统计数据
3493		StatisticsData []*StatisticsDataInfo `json:"StatisticsData,omitempty" name:"StatisticsData"`
3494
3495		// 多个源站状态统计数据
3496		RsStatisticsData []*MetricStatisticsInfo `json:"RsStatisticsData,omitempty" name:"RsStatisticsData"`
3497
3498		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3499		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3500	} `json:"Response"`
3501}
3502
3503func (r *DescribeRealServerStatisticsResponse) ToJsonString() string {
3504    b, _ := json.Marshal(r)
3505    return string(b)
3506}
3507
3508// FromJsonString It is highly **NOT** recommended to use this function
3509// because it has no param check, nor strict type check
3510func (r *DescribeRealServerStatisticsResponse) FromJsonString(s string) error {
3511	return json.Unmarshal([]byte(s), &r)
3512}
3513
3514type DescribeRealServersRequest struct {
3515	*tchttp.BaseRequest
3516
3517	// 查询源站的所属项目ID,-1表示所有项目
3518	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
3519
3520	// 需要查询的源站IP或域名,支持模糊匹配
3521	SearchValue *string `json:"SearchValue,omitempty" name:"SearchValue"`
3522
3523	// 偏移量,默认值是0
3524	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
3525
3526	// 返回数量,默认为20个,最大值为50个
3527	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
3528
3529	// 标签列表,当存在该字段时,拉取对应标签下的资源列表。
3530	// 最多支持5个标签,当存在两个或两个以上的标签时,满足其中任意一个标签时,源站会被拉取出来。
3531	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
3532
3533	// 过滤条件。filter的name取值(RealServerName,RealServerIP)
3534	Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
3535}
3536
3537func (r *DescribeRealServersRequest) ToJsonString() string {
3538    b, _ := json.Marshal(r)
3539    return string(b)
3540}
3541
3542// FromJsonString It is highly **NOT** recommended to use this function
3543// because it has no param check, nor strict type check
3544func (r *DescribeRealServersRequest) FromJsonString(s string) error {
3545	f := make(map[string]interface{})
3546	if err := json.Unmarshal([]byte(s), &f); err != nil {
3547		return err
3548	}
3549	delete(f, "ProjectId")
3550	delete(f, "SearchValue")
3551	delete(f, "Offset")
3552	delete(f, "Limit")
3553	delete(f, "TagSet")
3554	delete(f, "Filters")
3555	if len(f) > 0 {
3556		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRealServersRequest has unknown keys!", "")
3557	}
3558	return json.Unmarshal([]byte(s), &r)
3559}
3560
3561type DescribeRealServersResponse struct {
3562	*tchttp.BaseResponse
3563	Response *struct {
3564
3565		// 源站信息列表
3566		RealServerSet []*BindRealServerInfo `json:"RealServerSet,omitempty" name:"RealServerSet"`
3567
3568		// 查询得到的源站数量
3569		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
3570
3571		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3572		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3573	} `json:"Response"`
3574}
3575
3576func (r *DescribeRealServersResponse) ToJsonString() string {
3577    b, _ := json.Marshal(r)
3578    return string(b)
3579}
3580
3581// FromJsonString It is highly **NOT** recommended to use this function
3582// because it has no param check, nor strict type check
3583func (r *DescribeRealServersResponse) FromJsonString(s string) error {
3584	return json.Unmarshal([]byte(s), &r)
3585}
3586
3587type DescribeRealServersStatusRequest struct {
3588	*tchttp.BaseRequest
3589
3590	// 源站ID列表
3591	RealServerIds []*string `json:"RealServerIds,omitempty" name:"RealServerIds"`
3592}
3593
3594func (r *DescribeRealServersStatusRequest) ToJsonString() string {
3595    b, _ := json.Marshal(r)
3596    return string(b)
3597}
3598
3599// FromJsonString It is highly **NOT** recommended to use this function
3600// because it has no param check, nor strict type check
3601func (r *DescribeRealServersStatusRequest) FromJsonString(s string) error {
3602	f := make(map[string]interface{})
3603	if err := json.Unmarshal([]byte(s), &f); err != nil {
3604		return err
3605	}
3606	delete(f, "RealServerIds")
3607	if len(f) > 0 {
3608		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRealServersStatusRequest has unknown keys!", "")
3609	}
3610	return json.Unmarshal([]byte(s), &r)
3611}
3612
3613type DescribeRealServersStatusResponse struct {
3614	*tchttp.BaseResponse
3615	Response *struct {
3616
3617		// 返回源站查询结果的个数
3618		TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
3619
3620		// 源站被绑定状态列表
3621		RealServerStatusSet []*RealServerStatus `json:"RealServerStatusSet,omitempty" name:"RealServerStatusSet"`
3622
3623		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3624		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3625	} `json:"Response"`
3626}
3627
3628func (r *DescribeRealServersStatusResponse) ToJsonString() string {
3629    b, _ := json.Marshal(r)
3630    return string(b)
3631}
3632
3633// FromJsonString It is highly **NOT** recommended to use this function
3634// because it has no param check, nor strict type check
3635func (r *DescribeRealServersStatusResponse) FromJsonString(s string) error {
3636	return json.Unmarshal([]byte(s), &r)
3637}
3638
3639type DescribeRegionAndPriceRequest struct {
3640	*tchttp.BaseRequest
3641
3642	// IP版本,可取值:IPv4、IPv6,默认值IPv4
3643	IPAddressVersion *string `json:"IPAddressVersion,omitempty" name:"IPAddressVersion"`
3644}
3645
3646func (r *DescribeRegionAndPriceRequest) ToJsonString() string {
3647    b, _ := json.Marshal(r)
3648    return string(b)
3649}
3650
3651// FromJsonString It is highly **NOT** recommended to use this function
3652// because it has no param check, nor strict type check
3653func (r *DescribeRegionAndPriceRequest) FromJsonString(s string) error {
3654	f := make(map[string]interface{})
3655	if err := json.Unmarshal([]byte(s), &f); err != nil {
3656		return err
3657	}
3658	delete(f, "IPAddressVersion")
3659	if len(f) > 0 {
3660		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRegionAndPriceRequest has unknown keys!", "")
3661	}
3662	return json.Unmarshal([]byte(s), &r)
3663}
3664
3665type DescribeRegionAndPriceResponse struct {
3666	*tchttp.BaseResponse
3667	Response *struct {
3668
3669		// 源站区域总数
3670		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
3671
3672		// 源站区域详情列表
3673		DestRegionSet []*RegionDetail `json:"DestRegionSet,omitempty" name:"DestRegionSet"`
3674
3675		// 通道带宽费用梯度价格
3676		BandwidthUnitPrice []*BandwidthPriceGradient `json:"BandwidthUnitPrice,omitempty" name:"BandwidthUnitPrice"`
3677
3678		// 带宽价格货币类型:
3679	// CNY 人民币
3680	// USD 美元
3681		Currency *string `json:"Currency,omitempty" name:"Currency"`
3682
3683		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3684		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3685	} `json:"Response"`
3686}
3687
3688func (r *DescribeRegionAndPriceResponse) ToJsonString() string {
3689    b, _ := json.Marshal(r)
3690    return string(b)
3691}
3692
3693// FromJsonString It is highly **NOT** recommended to use this function
3694// because it has no param check, nor strict type check
3695func (r *DescribeRegionAndPriceResponse) FromJsonString(s string) error {
3696	return json.Unmarshal([]byte(s), &r)
3697}
3698
3699type DescribeResourcesByTagRequest struct {
3700	*tchttp.BaseRequest
3701
3702	// 标签键。
3703	TagKey *string `json:"TagKey,omitempty" name:"TagKey"`
3704
3705	// 标签值。
3706	TagValue *string `json:"TagValue,omitempty" name:"TagValue"`
3707
3708	// 资源类型,其中:
3709	// Proxy表示通道;
3710	// ProxyGroup表示通道组;
3711	// RealServer表示源站。
3712	// 不指定该字段则查询该标签下所有资源。
3713	ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"`
3714}
3715
3716func (r *DescribeResourcesByTagRequest) ToJsonString() string {
3717    b, _ := json.Marshal(r)
3718    return string(b)
3719}
3720
3721// FromJsonString It is highly **NOT** recommended to use this function
3722// because it has no param check, nor strict type check
3723func (r *DescribeResourcesByTagRequest) FromJsonString(s string) error {
3724	f := make(map[string]interface{})
3725	if err := json.Unmarshal([]byte(s), &f); err != nil {
3726		return err
3727	}
3728	delete(f, "TagKey")
3729	delete(f, "TagValue")
3730	delete(f, "ResourceType")
3731	if len(f) > 0 {
3732		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeResourcesByTagRequest has unknown keys!", "")
3733	}
3734	return json.Unmarshal([]byte(s), &r)
3735}
3736
3737type DescribeResourcesByTagResponse struct {
3738	*tchttp.BaseResponse
3739	Response *struct {
3740
3741		// 资源总数
3742		TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
3743
3744		// 标签对应的资源列表
3745		ResourceSet []*TagResourceInfo `json:"ResourceSet,omitempty" name:"ResourceSet"`
3746
3747		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3748		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3749	} `json:"Response"`
3750}
3751
3752func (r *DescribeResourcesByTagResponse) ToJsonString() string {
3753    b, _ := json.Marshal(r)
3754    return string(b)
3755}
3756
3757// FromJsonString It is highly **NOT** recommended to use this function
3758// because it has no param check, nor strict type check
3759func (r *DescribeResourcesByTagResponse) FromJsonString(s string) error {
3760	return json.Unmarshal([]byte(s), &r)
3761}
3762
3763type DescribeRuleRealServersRequest struct {
3764	*tchttp.BaseRequest
3765
3766	// 转发规则ID
3767	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
3768
3769	// 偏移量,默认为0。
3770	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
3771
3772	// 返回数量,默认为20,最大值为1000。
3773	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
3774}
3775
3776func (r *DescribeRuleRealServersRequest) ToJsonString() string {
3777    b, _ := json.Marshal(r)
3778    return string(b)
3779}
3780
3781// FromJsonString It is highly **NOT** recommended to use this function
3782// because it has no param check, nor strict type check
3783func (r *DescribeRuleRealServersRequest) FromJsonString(s string) error {
3784	f := make(map[string]interface{})
3785	if err := json.Unmarshal([]byte(s), &f); err != nil {
3786		return err
3787	}
3788	delete(f, "RuleId")
3789	delete(f, "Offset")
3790	delete(f, "Limit")
3791	if len(f) > 0 {
3792		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRuleRealServersRequest has unknown keys!", "")
3793	}
3794	return json.Unmarshal([]byte(s), &r)
3795}
3796
3797type DescribeRuleRealServersResponse struct {
3798	*tchttp.BaseResponse
3799	Response *struct {
3800
3801		// 可绑定的源站个数
3802		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
3803
3804		// 可绑定的源站信息列表
3805		RealServerSet []*RealServer `json:"RealServerSet,omitempty" name:"RealServerSet"`
3806
3807		// 已绑定的源站个数
3808		BindRealServerTotalCount *uint64 `json:"BindRealServerTotalCount,omitempty" name:"BindRealServerTotalCount"`
3809
3810		// 已绑定的源站信息列表
3811		BindRealServerSet []*BindRealServer `json:"BindRealServerSet,omitempty" name:"BindRealServerSet"`
3812
3813		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3814		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3815	} `json:"Response"`
3816}
3817
3818func (r *DescribeRuleRealServersResponse) ToJsonString() string {
3819    b, _ := json.Marshal(r)
3820    return string(b)
3821}
3822
3823// FromJsonString It is highly **NOT** recommended to use this function
3824// because it has no param check, nor strict type check
3825func (r *DescribeRuleRealServersResponse) FromJsonString(s string) error {
3826	return json.Unmarshal([]byte(s), &r)
3827}
3828
3829type DescribeRulesByRuleIdsRequest struct {
3830	*tchttp.BaseRequest
3831
3832	// 规则ID列表。最多支持10个规则。
3833	RuleIds []*string `json:"RuleIds,omitempty" name:"RuleIds"`
3834}
3835
3836func (r *DescribeRulesByRuleIdsRequest) ToJsonString() string {
3837    b, _ := json.Marshal(r)
3838    return string(b)
3839}
3840
3841// FromJsonString It is highly **NOT** recommended to use this function
3842// because it has no param check, nor strict type check
3843func (r *DescribeRulesByRuleIdsRequest) FromJsonString(s string) error {
3844	f := make(map[string]interface{})
3845	if err := json.Unmarshal([]byte(s), &f); err != nil {
3846		return err
3847	}
3848	delete(f, "RuleIds")
3849	if len(f) > 0 {
3850		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRulesByRuleIdsRequest has unknown keys!", "")
3851	}
3852	return json.Unmarshal([]byte(s), &r)
3853}
3854
3855type DescribeRulesByRuleIdsResponse struct {
3856	*tchttp.BaseResponse
3857	Response *struct {
3858
3859		// 返回的规则总个数。
3860		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
3861
3862		// 返回的规则列表。
3863		RuleSet []*RuleInfo `json:"RuleSet,omitempty" name:"RuleSet"`
3864
3865		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3866		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3867	} `json:"Response"`
3868}
3869
3870func (r *DescribeRulesByRuleIdsResponse) ToJsonString() string {
3871    b, _ := json.Marshal(r)
3872    return string(b)
3873}
3874
3875// FromJsonString It is highly **NOT** recommended to use this function
3876// because it has no param check, nor strict type check
3877func (r *DescribeRulesByRuleIdsResponse) FromJsonString(s string) error {
3878	return json.Unmarshal([]byte(s), &r)
3879}
3880
3881type DescribeRulesRequest struct {
3882	*tchttp.BaseRequest
3883
3884	// 7层监听器Id。
3885	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
3886}
3887
3888func (r *DescribeRulesRequest) ToJsonString() string {
3889    b, _ := json.Marshal(r)
3890    return string(b)
3891}
3892
3893// FromJsonString It is highly **NOT** recommended to use this function
3894// because it has no param check, nor strict type check
3895func (r *DescribeRulesRequest) FromJsonString(s string) error {
3896	f := make(map[string]interface{})
3897	if err := json.Unmarshal([]byte(s), &f); err != nil {
3898		return err
3899	}
3900	delete(f, "ListenerId")
3901	if len(f) > 0 {
3902		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRulesRequest has unknown keys!", "")
3903	}
3904	return json.Unmarshal([]byte(s), &r)
3905}
3906
3907type DescribeRulesResponse struct {
3908	*tchttp.BaseResponse
3909	Response *struct {
3910
3911		// 按照域名分类的规则信息列表
3912		DomainRuleSet []*DomainRuleSet `json:"DomainRuleSet,omitempty" name:"DomainRuleSet"`
3913
3914		// 该监听器下的域名总数
3915		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
3916
3917		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3918		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3919	} `json:"Response"`
3920}
3921
3922func (r *DescribeRulesResponse) ToJsonString() string {
3923    b, _ := json.Marshal(r)
3924    return string(b)
3925}
3926
3927// FromJsonString It is highly **NOT** recommended to use this function
3928// because it has no param check, nor strict type check
3929func (r *DescribeRulesResponse) FromJsonString(s string) error {
3930	return json.Unmarshal([]byte(s), &r)
3931}
3932
3933type DescribeSecurityPolicyDetailRequest struct {
3934	*tchttp.BaseRequest
3935
3936	// 安全策略ID
3937	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
3938}
3939
3940func (r *DescribeSecurityPolicyDetailRequest) ToJsonString() string {
3941    b, _ := json.Marshal(r)
3942    return string(b)
3943}
3944
3945// FromJsonString It is highly **NOT** recommended to use this function
3946// because it has no param check, nor strict type check
3947func (r *DescribeSecurityPolicyDetailRequest) FromJsonString(s string) error {
3948	f := make(map[string]interface{})
3949	if err := json.Unmarshal([]byte(s), &f); err != nil {
3950		return err
3951	}
3952	delete(f, "PolicyId")
3953	if len(f) > 0 {
3954		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecurityPolicyDetailRequest has unknown keys!", "")
3955	}
3956	return json.Unmarshal([]byte(s), &r)
3957}
3958
3959type DescribeSecurityPolicyDetailResponse struct {
3960	*tchttp.BaseResponse
3961	Response *struct {
3962
3963		// 通道ID
3964	// 注意:此字段可能返回 null,表示取不到有效值。
3965		ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
3966
3967		// 安全策略状态:
3968	// BOUND,已开启安全策略
3969	// UNBIND,已关闭安全策略
3970	// BINDING,安全策略开启中
3971	// UNBINDING,安全策略关闭中。
3972		Status *string `json:"Status,omitempty" name:"Status"`
3973
3974		// 默认策略:ACCEPT或DROP。
3975		DefaultAction *string `json:"DefaultAction,omitempty" name:"DefaultAction"`
3976
3977		// 策略ID
3978		PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
3979
3980		// 规则列表
3981		RuleList []*SecurityPolicyRuleOut `json:"RuleList,omitempty" name:"RuleList"`
3982
3983		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3984		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3985	} `json:"Response"`
3986}
3987
3988func (r *DescribeSecurityPolicyDetailResponse) ToJsonString() string {
3989    b, _ := json.Marshal(r)
3990    return string(b)
3991}
3992
3993// FromJsonString It is highly **NOT** recommended to use this function
3994// because it has no param check, nor strict type check
3995func (r *DescribeSecurityPolicyDetailResponse) FromJsonString(s string) error {
3996	return json.Unmarshal([]byte(s), &r)
3997}
3998
3999type DescribeSecurityRulesRequest struct {
4000	*tchttp.BaseRequest
4001
4002	// 安全规则ID列表。总数不能超过20个。
4003	SecurityRuleIds []*string `json:"SecurityRuleIds,omitempty" name:"SecurityRuleIds"`
4004}
4005
4006func (r *DescribeSecurityRulesRequest) ToJsonString() string {
4007    b, _ := json.Marshal(r)
4008    return string(b)
4009}
4010
4011// FromJsonString It is highly **NOT** recommended to use this function
4012// because it has no param check, nor strict type check
4013func (r *DescribeSecurityRulesRequest) FromJsonString(s string) error {
4014	f := make(map[string]interface{})
4015	if err := json.Unmarshal([]byte(s), &f); err != nil {
4016		return err
4017	}
4018	delete(f, "SecurityRuleIds")
4019	if len(f) > 0 {
4020		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecurityRulesRequest has unknown keys!", "")
4021	}
4022	return json.Unmarshal([]byte(s), &r)
4023}
4024
4025type DescribeSecurityRulesResponse struct {
4026	*tchttp.BaseResponse
4027	Response *struct {
4028
4029		// 返回的安全规则详情总数。
4030		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
4031
4032		// 返回的安全规则详情列表。
4033		SecurityRuleSet []*SecurityPolicyRuleOut `json:"SecurityRuleSet,omitempty" name:"SecurityRuleSet"`
4034
4035		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4036		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4037	} `json:"Response"`
4038}
4039
4040func (r *DescribeSecurityRulesResponse) ToJsonString() string {
4041    b, _ := json.Marshal(r)
4042    return string(b)
4043}
4044
4045// FromJsonString It is highly **NOT** recommended to use this function
4046// because it has no param check, nor strict type check
4047func (r *DescribeSecurityRulesResponse) FromJsonString(s string) error {
4048	return json.Unmarshal([]byte(s), &r)
4049}
4050
4051type DescribeTCPListenersRequest struct {
4052	*tchttp.BaseRequest
4053
4054	// 过滤条件,根据通道ID进行拉取,ProxyId/GroupId/ListenerId必须设置一个,但ProxyId和GroupId不能同时设置。
4055	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
4056
4057	// 过滤条件,根据监听器ID精确查询。
4058	// 当设置了ProxyId时,会检查该监听器是否归属于该通道。
4059	// 当设置了GroupId时,会检查该监听器是否归属于该通道组。
4060	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4061
4062	// 过滤条件,根据监听器名称精确查询
4063	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
4064
4065	// 过滤条件,根据监听器端口精确查询
4066	Port *uint64 `json:"Port,omitempty" name:"Port"`
4067
4068	// 偏移量,默认为0
4069	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
4070
4071	// 限制数量,默认为20
4072	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
4073
4074	// 过滤条件,根据通道组ID进行拉取,ProxyId/GroupId/ListenerId必须设置一个,但ProxyId和GroupId不能同时设置。
4075	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
4076
4077	// 过滤条件,支持按照端口或监听器名称进行模糊查询,该参数不能与ListenerName和Port同时使用
4078	SearchValue *string `json:"SearchValue,omitempty" name:"SearchValue"`
4079}
4080
4081func (r *DescribeTCPListenersRequest) ToJsonString() string {
4082    b, _ := json.Marshal(r)
4083    return string(b)
4084}
4085
4086// FromJsonString It is highly **NOT** recommended to use this function
4087// because it has no param check, nor strict type check
4088func (r *DescribeTCPListenersRequest) FromJsonString(s string) error {
4089	f := make(map[string]interface{})
4090	if err := json.Unmarshal([]byte(s), &f); err != nil {
4091		return err
4092	}
4093	delete(f, "ProxyId")
4094	delete(f, "ListenerId")
4095	delete(f, "ListenerName")
4096	delete(f, "Port")
4097	delete(f, "Offset")
4098	delete(f, "Limit")
4099	delete(f, "GroupId")
4100	delete(f, "SearchValue")
4101	if len(f) > 0 {
4102		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTCPListenersRequest has unknown keys!", "")
4103	}
4104	return json.Unmarshal([]byte(s), &r)
4105}
4106
4107type DescribeTCPListenersResponse struct {
4108	*tchttp.BaseResponse
4109	Response *struct {
4110
4111		// 满足条件的监听器总个数
4112		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
4113
4114		// TCP监听器列表
4115		ListenerSet []*TCPListener `json:"ListenerSet,omitempty" name:"ListenerSet"`
4116
4117		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4118		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4119	} `json:"Response"`
4120}
4121
4122func (r *DescribeTCPListenersResponse) ToJsonString() string {
4123    b, _ := json.Marshal(r)
4124    return string(b)
4125}
4126
4127// FromJsonString It is highly **NOT** recommended to use this function
4128// because it has no param check, nor strict type check
4129func (r *DescribeTCPListenersResponse) FromJsonString(s string) error {
4130	return json.Unmarshal([]byte(s), &r)
4131}
4132
4133type DescribeUDPListenersRequest struct {
4134	*tchttp.BaseRequest
4135
4136	// 过滤条件,根据通道ID进行拉取,ProxyId/GroupId/ListenerId必须设置一个,但ProxyId和GroupId不能同时设置。
4137	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
4138
4139	// 过滤条件,根据监听器ID精确查询。
4140	// 当设置了ProxyId时,会检查该监听器是否归属于该通道。
4141	// 当设置了GroupId时,会检查该监听器是否归属于该通道组。
4142	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4143
4144	// 过滤条件,根据监听器名称精确查询
4145	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
4146
4147	// 过滤条件,根据监听器端口精确查询
4148	Port *uint64 `json:"Port,omitempty" name:"Port"`
4149
4150	// 偏移量,默认为0
4151	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
4152
4153	// 限制数量,默认为20
4154	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
4155
4156	// 过滤条件,根据通道组ID进行拉取,ProxyId/GroupId/ListenerId必须设置一个,但ProxyId和GroupId不能同时设置。
4157	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
4158
4159	// 过滤条件,支持按照端口或监听器名称进行模糊查询,该参数不能与ListenerName和Port同时使用
4160	SearchValue *string `json:"SearchValue,omitempty" name:"SearchValue"`
4161}
4162
4163func (r *DescribeUDPListenersRequest) ToJsonString() string {
4164    b, _ := json.Marshal(r)
4165    return string(b)
4166}
4167
4168// FromJsonString It is highly **NOT** recommended to use this function
4169// because it has no param check, nor strict type check
4170func (r *DescribeUDPListenersRequest) FromJsonString(s string) error {
4171	f := make(map[string]interface{})
4172	if err := json.Unmarshal([]byte(s), &f); err != nil {
4173		return err
4174	}
4175	delete(f, "ProxyId")
4176	delete(f, "ListenerId")
4177	delete(f, "ListenerName")
4178	delete(f, "Port")
4179	delete(f, "Offset")
4180	delete(f, "Limit")
4181	delete(f, "GroupId")
4182	delete(f, "SearchValue")
4183	if len(f) > 0 {
4184		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeUDPListenersRequest has unknown keys!", "")
4185	}
4186	return json.Unmarshal([]byte(s), &r)
4187}
4188
4189type DescribeUDPListenersResponse struct {
4190	*tchttp.BaseResponse
4191	Response *struct {
4192
4193		// 监听器个数
4194		TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
4195
4196		// UDP监听器列表
4197		ListenerSet []*UDPListener `json:"ListenerSet,omitempty" name:"ListenerSet"`
4198
4199		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4200		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4201	} `json:"Response"`
4202}
4203
4204func (r *DescribeUDPListenersResponse) ToJsonString() string {
4205    b, _ := json.Marshal(r)
4206    return string(b)
4207}
4208
4209// FromJsonString It is highly **NOT** recommended to use this function
4210// because it has no param check, nor strict type check
4211func (r *DescribeUDPListenersResponse) FromJsonString(s string) error {
4212	return json.Unmarshal([]byte(s), &r)
4213}
4214
4215type DestroyProxiesRequest struct {
4216	*tchttp.BaseRequest
4217
4218	// 强制删除标识。
4219	// 1,强制删除该通道列表,无论是否已经绑定了源站;
4220	// 0,如果已绑定了源站,则无法删除。
4221	// 删除多通道时,如果该标识为0,只有所有的通道都没有绑定源站,才允许删除。
4222	Force *int64 `json:"Force,omitempty" name:"Force"`
4223
4224	// (旧参数,请切换到ProxyIds)通道实例ID列表。
4225	InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
4226
4227	// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
4228	// 更多详细信息请参阅:如何保证幂等性。
4229	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
4230
4231	// (新参数)通道实例ID列表。
4232	ProxyIds []*string `json:"ProxyIds,omitempty" name:"ProxyIds"`
4233}
4234
4235func (r *DestroyProxiesRequest) ToJsonString() string {
4236    b, _ := json.Marshal(r)
4237    return string(b)
4238}
4239
4240// FromJsonString It is highly **NOT** recommended to use this function
4241// because it has no param check, nor strict type check
4242func (r *DestroyProxiesRequest) FromJsonString(s string) error {
4243	f := make(map[string]interface{})
4244	if err := json.Unmarshal([]byte(s), &f); err != nil {
4245		return err
4246	}
4247	delete(f, "Force")
4248	delete(f, "InstanceIds")
4249	delete(f, "ClientToken")
4250	delete(f, "ProxyIds")
4251	if len(f) > 0 {
4252		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DestroyProxiesRequest has unknown keys!", "")
4253	}
4254	return json.Unmarshal([]byte(s), &r)
4255}
4256
4257type DestroyProxiesResponse struct {
4258	*tchttp.BaseResponse
4259	Response *struct {
4260
4261		// 处于不可销毁状态下的通道实例ID列表。
4262		InvalidStatusInstanceSet []*string `json:"InvalidStatusInstanceSet,omitempty" name:"InvalidStatusInstanceSet"`
4263
4264		// 销毁操作失败的通道实例ID列表。
4265		OperationFailedInstanceSet []*string `json:"OperationFailedInstanceSet,omitempty" name:"OperationFailedInstanceSet"`
4266
4267		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4268		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4269	} `json:"Response"`
4270}
4271
4272func (r *DestroyProxiesResponse) ToJsonString() string {
4273    b, _ := json.Marshal(r)
4274    return string(b)
4275}
4276
4277// FromJsonString It is highly **NOT** recommended to use this function
4278// because it has no param check, nor strict type check
4279func (r *DestroyProxiesResponse) FromJsonString(s string) error {
4280	return json.Unmarshal([]byte(s), &r)
4281}
4282
4283type DomainAccessRegionDict struct {
4284
4285	// 就近接入区域
4286	NationCountryInnerList []*NationCountryInnerInfo `json:"NationCountryInnerList,omitempty" name:"NationCountryInnerList"`
4287
4288	// 加速区域通道列表
4289	ProxyList []*ProxyIdDict `json:"ProxyList,omitempty" name:"ProxyList"`
4290
4291	// 加速区域ID
4292	RegionId *string `json:"RegionId,omitempty" name:"RegionId"`
4293
4294	// 加速区域内部编码
4295	GeographicalZoneInnerCode *string `json:"GeographicalZoneInnerCode,omitempty" name:"GeographicalZoneInnerCode"`
4296
4297	// 加速区域所属大洲内部编码
4298	ContinentInnerCode *string `json:"ContinentInnerCode,omitempty" name:"ContinentInnerCode"`
4299
4300	// 加速区域别名
4301	RegionName *string `json:"RegionName,omitempty" name:"RegionName"`
4302}
4303
4304type DomainErrorPageInfo struct {
4305
4306	// 错误定制响应的配置ID
4307	ErrorPageId *string `json:"ErrorPageId,omitempty" name:"ErrorPageId"`
4308
4309	// 监听器ID
4310	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4311
4312	// 域名
4313	Domain *string `json:"Domain,omitempty" name:"Domain"`
4314
4315	// 原始错误码
4316	ErrorNos []*int64 `json:"ErrorNos,omitempty" name:"ErrorNos"`
4317
4318	// 新的错误码
4319	// 注意:此字段可能返回 null,表示取不到有效值。
4320	NewErrorNo *int64 `json:"NewErrorNo,omitempty" name:"NewErrorNo"`
4321
4322	// 需要清理的响应头
4323	// 注意:此字段可能返回 null,表示取不到有效值。
4324	ClearHeaders []*string `json:"ClearHeaders,omitempty" name:"ClearHeaders"`
4325
4326	// 需要设置的响应头
4327	// 注意:此字段可能返回 null,表示取不到有效值。
4328	SetHeaders []*HttpHeaderParam `json:"SetHeaders,omitempty" name:"SetHeaders"`
4329
4330	// 设置的响应体(不包括 HTTP头)
4331	// 注意:此字段可能返回 null,表示取不到有效值。
4332	Body *string `json:"Body,omitempty" name:"Body"`
4333
4334	// 规则状态,0为成功
4335	// 注意:此字段可能返回 null,表示取不到有效值。
4336	Status *int64 `json:"Status,omitempty" name:"Status"`
4337}
4338
4339type DomainRuleSet struct {
4340
4341	// 转发规则域名。
4342	Domain *string `json:"Domain,omitempty" name:"Domain"`
4343
4344	// 该域名对应的转发规则列表。
4345	RuleSet []*RuleInfo `json:"RuleSet,omitempty" name:"RuleSet"`
4346
4347	// 该域名对应的服务器证书ID,值为default时,表示使用默认证书(监听器配置的证书)。
4348	// 注意:此字段可能返回 null,表示取不到有效值。
4349	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
4350
4351	// 该域名对应服务器证书名称。
4352	// 注意:此字段可能返回 null,表示取不到有效值。
4353	CertificateAlias *string `json:"CertificateAlias,omitempty" name:"CertificateAlias"`
4354
4355	// 该域名对应的客户端证书ID,值为default时,表示使用默认证书(监听器配置的证书)。
4356	// 注意:此字段可能返回 null,表示取不到有效值。
4357	ClientCertificateId *string `json:"ClientCertificateId,omitempty" name:"ClientCertificateId"`
4358
4359	// 该域名对应客户端证书名称。
4360	// 注意:此字段可能返回 null,表示取不到有效值。
4361	ClientCertificateAlias *string `json:"ClientCertificateAlias,omitempty" name:"ClientCertificateAlias"`
4362
4363	// 该域名对应基础认证配置ID。
4364	// 注意:此字段可能返回 null,表示取不到有效值。
4365	BasicAuthConfId *string `json:"BasicAuthConfId,omitempty" name:"BasicAuthConfId"`
4366
4367	// 基础认证开关,其中:
4368	// 0,表示未开启;
4369	// 1,表示已开启。
4370	// 注意:此字段可能返回 null,表示取不到有效值。
4371	BasicAuth *int64 `json:"BasicAuth,omitempty" name:"BasicAuth"`
4372
4373	// 该域名对应基础认证配置名称。
4374	// 注意:此字段可能返回 null,表示取不到有效值。
4375	BasicAuthConfAlias *string `json:"BasicAuthConfAlias,omitempty" name:"BasicAuthConfAlias"`
4376
4377	// 该域名对应源站认证证书ID。
4378	// 注意:此字段可能返回 null,表示取不到有效值。
4379	RealServerCertificateId *string `json:"RealServerCertificateId,omitempty" name:"RealServerCertificateId"`
4380
4381	// 源站认证开关,其中:
4382	// 0,表示未开启;
4383	// 1,表示已开启。
4384	// 注意:此字段可能返回 null,表示取不到有效值。
4385	RealServerAuth *int64 `json:"RealServerAuth,omitempty" name:"RealServerAuth"`
4386
4387	// 该域名对应源站认证证书名称。
4388	// 注意:此字段可能返回 null,表示取不到有效值。
4389	RealServerCertificateAlias *string `json:"RealServerCertificateAlias,omitempty" name:"RealServerCertificateAlias"`
4390
4391	// 该域名对应通道认证证书ID。
4392	// 注意:此字段可能返回 null,表示取不到有效值。
4393	GaapCertificateId *string `json:"GaapCertificateId,omitempty" name:"GaapCertificateId"`
4394
4395	// 通道认证开关,其中:
4396	// 0,表示未开启;
4397	// 1,表示已开启。
4398	// 注意:此字段可能返回 null,表示取不到有效值。
4399	GaapAuth *int64 `json:"GaapAuth,omitempty" name:"GaapAuth"`
4400
4401	// 该域名对应通道认证证书名称。
4402	// 注意:此字段可能返回 null,表示取不到有效值。
4403	GaapCertificateAlias *string `json:"GaapCertificateAlias,omitempty" name:"GaapCertificateAlias"`
4404
4405	// 源站认证域名。
4406	// 注意:此字段可能返回 null,表示取不到有效值。
4407	RealServerCertificateDomain *string `json:"RealServerCertificateDomain,omitempty" name:"RealServerCertificateDomain"`
4408
4409	// 多客户端证书时,返回多个证书的id和别名
4410	// 注意:此字段可能返回 null,表示取不到有效值。
4411	PolyClientCertificateAliasInfo []*CertificateAliasInfo `json:"PolyClientCertificateAliasInfo,omitempty" name:"PolyClientCertificateAliasInfo"`
4412
4413	// 多源站证书时,返回多个证书的id和别名
4414	// 注意:此字段可能返回 null,表示取不到有效值。
4415	PolyRealServerCertificateAliasInfo []*CertificateAliasInfo `json:"PolyRealServerCertificateAliasInfo,omitempty" name:"PolyRealServerCertificateAliasInfo"`
4416
4417	// 域名的状态。
4418	// 0表示运行中,
4419	// 1表示变更中,
4420	// 2表示删除中。
4421	// 注意:此字段可能返回 null,表示取不到有效值。
4422	DomainStatus *uint64 `json:"DomainStatus,omitempty" name:"DomainStatus"`
4423}
4424
4425type Filter struct {
4426
4427	// 过滤条件
4428	Name *string `json:"Name,omitempty" name:"Name"`
4429
4430	// 过滤值
4431	Values []*string `json:"Values,omitempty" name:"Values"`
4432}
4433
4434type GroupStatisticsInfo struct {
4435
4436	// 通道组ID
4437	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
4438
4439	// 通道组名称
4440	GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
4441
4442	// 通道组下通道列表
4443	ProxySet []*ProxySimpleInfo `json:"ProxySet,omitempty" name:"ProxySet"`
4444}
4445
4446type HTTPListener struct {
4447
4448	// 监听器ID
4449	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4450
4451	// 监听器名称
4452	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
4453
4454	// 监听器端口
4455	Port *uint64 `json:"Port,omitempty" name:"Port"`
4456
4457	// 监听器创建时间,Unix时间戳
4458	CreateTime *uint64 `json:"CreateTime,omitempty" name:"CreateTime"`
4459
4460	// 监听器协议, HTTP表示HTTP,HTTPS表示HTTPS,此结构取值HTTP
4461	Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
4462
4463	// 监听器状态,其中:
4464	// 0表示运行中;
4465	// 1表示创建中;
4466	// 2表示销毁中;
4467	// 3表示源站调整中;
4468	// 4表示配置变更中。
4469	ListenerStatus *uint64 `json:"ListenerStatus,omitempty" name:"ListenerStatus"`
4470}
4471
4472type HTTPSListener struct {
4473
4474	// 监听器ID
4475	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4476
4477	// 监听器名称
4478	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
4479
4480	// 监听器端口
4481	Port *uint64 `json:"Port,omitempty" name:"Port"`
4482
4483	// 监听器协议, HTTP表示HTTP,HTTPS表示HTTPS,此结构取值HTTPS
4484	Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
4485
4486	// 监听器状态,其中:
4487	// 0表示运行中;
4488	// 1表示创建中;
4489	// 2表示销毁中;
4490	// 3表示源站调整中;
4491	// 4表示配置变更中。
4492	ListenerStatus *uint64 `json:"ListenerStatus,omitempty" name:"ListenerStatus"`
4493
4494	// 监听器服务器SSL证书ID
4495	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
4496
4497	// 监听器后端转发源站协议
4498	ForwardProtocol *string `json:"ForwardProtocol,omitempty" name:"ForwardProtocol"`
4499
4500	// 监听器创建时间,Unix时间戳
4501	CreateTime *uint64 `json:"CreateTime,omitempty" name:"CreateTime"`
4502
4503	// 服务器SSL证书的别名
4504	// 注意:此字段可能返回 null,表示取不到有效值。
4505	CertificateAlias *string `json:"CertificateAlias,omitempty" name:"CertificateAlias"`
4506
4507	// 监听器客户端CA证书ID
4508	// 注意:此字段可能返回 null,表示取不到有效值。
4509	ClientCertificateId *string `json:"ClientCertificateId,omitempty" name:"ClientCertificateId"`
4510
4511	// 监听器认证方式。其中,
4512	// 0表示单向认证;
4513	// 1表示双向认证。
4514	// 注意:此字段可能返回 null,表示取不到有效值。
4515	AuthType *int64 `json:"AuthType,omitempty" name:"AuthType"`
4516
4517	// 客户端CA证书别名
4518	// 注意:此字段可能返回 null,表示取不到有效值。
4519	ClientCertificateAlias *string `json:"ClientCertificateAlias,omitempty" name:"ClientCertificateAlias"`
4520
4521	// 多客户端CA证书别名信息
4522	// 注意:此字段可能返回 null,表示取不到有效值。
4523	PolyClientCertificateAliasInfo []*CertificateAliasInfo `json:"PolyClientCertificateAliasInfo,omitempty" name:"PolyClientCertificateAliasInfo"`
4524}
4525
4526type HttpHeaderParam struct {
4527
4528	// HTTP头名
4529	HeaderName *string `json:"HeaderName,omitempty" name:"HeaderName"`
4530
4531	// HTTP头值
4532	HeaderValue *string `json:"HeaderValue,omitempty" name:"HeaderValue"`
4533}
4534
4535type InquiryPriceCreateProxyRequest struct {
4536	*tchttp.BaseRequest
4537
4538	// 加速区域名称。
4539	AccessRegion *string `json:"AccessRegion,omitempty" name:"AccessRegion"`
4540
4541	// 通道带宽上限,单位:Mbps。
4542	Bandwidth *int64 `json:"Bandwidth,omitempty" name:"Bandwidth"`
4543
4544	// (旧参数,请切换到RealServerRegion)源站区域名称。
4545	DestRegion *string `json:"DestRegion,omitempty" name:"DestRegion"`
4546
4547	// (旧参数,请切换到Concurrent)通道并发量上限,表示同时在线的连接数,单位:万。
4548	Concurrency *int64 `json:"Concurrency,omitempty" name:"Concurrency"`
4549
4550	// (新参数)源站区域名称。
4551	RealServerRegion *string `json:"RealServerRegion,omitempty" name:"RealServerRegion"`
4552
4553	// (新参数)通道并发量上限,表示同时在线的连接数,单位:万。
4554	Concurrent *int64 `json:"Concurrent,omitempty" name:"Concurrent"`
4555
4556	// 计费方式,0表示按带宽计费,1表示按流量计费。默认按带宽计费
4557	BillingType *int64 `json:"BillingType,omitempty" name:"BillingType"`
4558
4559	// IP版本,可取值:IPv4、IPv6,默认值IPv4
4560	IPAddressVersion *string `json:"IPAddressVersion,omitempty" name:"IPAddressVersion"`
4561
4562	// 网络类型,可取值:normal、cn2,默认值normal
4563	NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"`
4564}
4565
4566func (r *InquiryPriceCreateProxyRequest) ToJsonString() string {
4567    b, _ := json.Marshal(r)
4568    return string(b)
4569}
4570
4571// FromJsonString It is highly **NOT** recommended to use this function
4572// because it has no param check, nor strict type check
4573func (r *InquiryPriceCreateProxyRequest) FromJsonString(s string) error {
4574	f := make(map[string]interface{})
4575	if err := json.Unmarshal([]byte(s), &f); err != nil {
4576		return err
4577	}
4578	delete(f, "AccessRegion")
4579	delete(f, "Bandwidth")
4580	delete(f, "DestRegion")
4581	delete(f, "Concurrency")
4582	delete(f, "RealServerRegion")
4583	delete(f, "Concurrent")
4584	delete(f, "BillingType")
4585	delete(f, "IPAddressVersion")
4586	delete(f, "NetworkType")
4587	if len(f) > 0 {
4588		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceCreateProxyRequest has unknown keys!", "")
4589	}
4590	return json.Unmarshal([]byte(s), &r)
4591}
4592
4593type InquiryPriceCreateProxyResponse struct {
4594	*tchttp.BaseResponse
4595	Response *struct {
4596
4597		// 通道基础费用价格,单位:元/天。
4598		ProxyDailyPrice *float64 `json:"ProxyDailyPrice,omitempty" name:"ProxyDailyPrice"`
4599
4600		// 通道带宽费用梯度价格。
4601	// 注意:此字段可能返回 null,表示取不到有效值。
4602		BandwidthUnitPrice []*BandwidthPriceGradient `json:"BandwidthUnitPrice,omitempty" name:"BandwidthUnitPrice"`
4603
4604		// 通道基础费用折扣价格,单位:元/天。
4605		DiscountProxyDailyPrice *float64 `json:"DiscountProxyDailyPrice,omitempty" name:"DiscountProxyDailyPrice"`
4606
4607		// 价格使用的货币,支持人民币,美元等。
4608		Currency *string `json:"Currency,omitempty" name:"Currency"`
4609
4610		// 通道的流量费用价格,单位: 元/GB
4611	// 注意:此字段可能返回 null,表示取不到有效值。
4612		FlowUnitPrice *float64 `json:"FlowUnitPrice,omitempty" name:"FlowUnitPrice"`
4613
4614		// 通道的流量费用折扣价格,单位:元/GB
4615	// 注意:此字段可能返回 null,表示取不到有效值。
4616		DiscountFlowUnitPrice *float64 `json:"DiscountFlowUnitPrice,omitempty" name:"DiscountFlowUnitPrice"`
4617
4618		// 精品BGP的带宽费用价格,单位: 元/Mbps/天
4619	// 注意:此字段可能返回 null,表示取不到有效值。
4620		Cn2BandwidthPrice *float64 `json:"Cn2BandwidthPrice,omitempty" name:"Cn2BandwidthPrice"`
4621
4622		// 精品BGP的折后带宽费用价格,单位: 元/Mbps/天
4623	// 注意:此字段可能返回 null,表示取不到有效值。
4624		Cn2BandwidthPriceWithDiscount *float64 `json:"Cn2BandwidthPriceWithDiscount,omitempty" name:"Cn2BandwidthPriceWithDiscount"`
4625
4626		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4627		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4628	} `json:"Response"`
4629}
4630
4631func (r *InquiryPriceCreateProxyResponse) ToJsonString() string {
4632    b, _ := json.Marshal(r)
4633    return string(b)
4634}
4635
4636// FromJsonString It is highly **NOT** recommended to use this function
4637// because it has no param check, nor strict type check
4638func (r *InquiryPriceCreateProxyResponse) FromJsonString(s string) error {
4639	return json.Unmarshal([]byte(s), &r)
4640}
4641
4642type ListenerInfo struct {
4643
4644	// 监听器ID
4645	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4646
4647	// 监听器名称
4648	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
4649
4650	// 监听器监听端口
4651	Port *uint64 `json:"Port,omitempty" name:"Port"`
4652
4653	// 监听器协议类型
4654	Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
4655}
4656
4657type MetricStatisticsInfo struct {
4658
4659	// 指标名称
4660	MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
4661
4662	// 指标统计数据
4663	MetricData []*StatisticsDataInfo `json:"MetricData,omitempty" name:"MetricData"`
4664}
4665
4666type ModifyCertificateAttributesRequest struct {
4667	*tchttp.BaseRequest
4668
4669	// 证书ID。
4670	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
4671
4672	// 证书名字。长度不超过50个字符。
4673	CertificateAlias *string `json:"CertificateAlias,omitempty" name:"CertificateAlias"`
4674}
4675
4676func (r *ModifyCertificateAttributesRequest) ToJsonString() string {
4677    b, _ := json.Marshal(r)
4678    return string(b)
4679}
4680
4681// FromJsonString It is highly **NOT** recommended to use this function
4682// because it has no param check, nor strict type check
4683func (r *ModifyCertificateAttributesRequest) FromJsonString(s string) error {
4684	f := make(map[string]interface{})
4685	if err := json.Unmarshal([]byte(s), &f); err != nil {
4686		return err
4687	}
4688	delete(f, "CertificateId")
4689	delete(f, "CertificateAlias")
4690	if len(f) > 0 {
4691		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyCertificateAttributesRequest has unknown keys!", "")
4692	}
4693	return json.Unmarshal([]byte(s), &r)
4694}
4695
4696type ModifyCertificateAttributesResponse struct {
4697	*tchttp.BaseResponse
4698	Response *struct {
4699
4700		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4701		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4702	} `json:"Response"`
4703}
4704
4705func (r *ModifyCertificateAttributesResponse) ToJsonString() string {
4706    b, _ := json.Marshal(r)
4707    return string(b)
4708}
4709
4710// FromJsonString It is highly **NOT** recommended to use this function
4711// because it has no param check, nor strict type check
4712func (r *ModifyCertificateAttributesResponse) FromJsonString(s string) error {
4713	return json.Unmarshal([]byte(s), &r)
4714}
4715
4716type ModifyCertificateRequest struct {
4717	*tchttp.BaseRequest
4718
4719	// 监听器实例ID
4720	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4721
4722	// 需要修改证书的域名
4723	Domain *string `json:"Domain,omitempty" name:"Domain"`
4724
4725	// 新的服务器证书ID。其中:
4726	// 当CertificateId=default时,表示使用监听器的证书。
4727	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
4728
4729	// 新的客户端证书ID。其中:
4730	// 当ClientCertificateId=default时,表示使用监听器的证书。
4731	// 仅当采用双向认证方式时,需要设置该参数或者PolyClientCertificateIds。
4732	ClientCertificateId *string `json:"ClientCertificateId,omitempty" name:"ClientCertificateId"`
4733
4734	// 新的多客户端证书ID列表。其中:
4735	// 仅当采用双向认证方式时,需要设置该参数或ClientCertificateId参数。
4736	PolyClientCertificateIds []*string `json:"PolyClientCertificateIds,omitempty" name:"PolyClientCertificateIds"`
4737}
4738
4739func (r *ModifyCertificateRequest) ToJsonString() string {
4740    b, _ := json.Marshal(r)
4741    return string(b)
4742}
4743
4744// FromJsonString It is highly **NOT** recommended to use this function
4745// because it has no param check, nor strict type check
4746func (r *ModifyCertificateRequest) FromJsonString(s string) error {
4747	f := make(map[string]interface{})
4748	if err := json.Unmarshal([]byte(s), &f); err != nil {
4749		return err
4750	}
4751	delete(f, "ListenerId")
4752	delete(f, "Domain")
4753	delete(f, "CertificateId")
4754	delete(f, "ClientCertificateId")
4755	delete(f, "PolyClientCertificateIds")
4756	if len(f) > 0 {
4757		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyCertificateRequest has unknown keys!", "")
4758	}
4759	return json.Unmarshal([]byte(s), &r)
4760}
4761
4762type ModifyCertificateResponse struct {
4763	*tchttp.BaseResponse
4764	Response *struct {
4765
4766		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4767		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4768	} `json:"Response"`
4769}
4770
4771func (r *ModifyCertificateResponse) ToJsonString() string {
4772    b, _ := json.Marshal(r)
4773    return string(b)
4774}
4775
4776// FromJsonString It is highly **NOT** recommended to use this function
4777// because it has no param check, nor strict type check
4778func (r *ModifyCertificateResponse) FromJsonString(s string) error {
4779	return json.Unmarshal([]byte(s), &r)
4780}
4781
4782type ModifyDomainRequest struct {
4783	*tchttp.BaseRequest
4784
4785	// 7层监听器ID
4786	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4787
4788	// 修改前的域名信息
4789	OldDomain *string `json:"OldDomain,omitempty" name:"OldDomain"`
4790
4791	// 修改后的域名信息
4792	NewDomain *string `json:"NewDomain,omitempty" name:"NewDomain"`
4793
4794	// 服务器SSL证书ID,仅适用于version3.0的通道。其中:
4795	// 不带该字段时,表示使用原证书;
4796	// 携带该字段时并且CertificateId=default,表示使用监听器证书;
4797	// 其他情况,使用该CertificateId指定的证书。
4798	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
4799
4800	// 客户端CA证书ID,仅适用于version3.0的通道。其中:
4801	// 不带该字段和PolyClientCertificateIds时,表示使用原证书;
4802	// 携带该字段时并且ClientCertificateId=default,表示使用监听器证书;
4803	// 其他情况,使用该ClientCertificateId或PolyClientCertificateIds指定的证书。
4804	ClientCertificateId *string `json:"ClientCertificateId,omitempty" name:"ClientCertificateId"`
4805
4806	// 客户端CA证书ID,仅适用于version3.0的通道。其中:
4807	// 不带该字段和ClientCertificateId时,表示使用原证书;
4808	// 携带该字段时并且ClientCertificateId=default,表示使用监听器证书;
4809	// 其他情况,使用该ClientCertificateId或PolyClientCertificateIds指定的证书。
4810	PolyClientCertificateIds []*string `json:"PolyClientCertificateIds,omitempty" name:"PolyClientCertificateIds"`
4811}
4812
4813func (r *ModifyDomainRequest) ToJsonString() string {
4814    b, _ := json.Marshal(r)
4815    return string(b)
4816}
4817
4818// FromJsonString It is highly **NOT** recommended to use this function
4819// because it has no param check, nor strict type check
4820func (r *ModifyDomainRequest) FromJsonString(s string) error {
4821	f := make(map[string]interface{})
4822	if err := json.Unmarshal([]byte(s), &f); err != nil {
4823		return err
4824	}
4825	delete(f, "ListenerId")
4826	delete(f, "OldDomain")
4827	delete(f, "NewDomain")
4828	delete(f, "CertificateId")
4829	delete(f, "ClientCertificateId")
4830	delete(f, "PolyClientCertificateIds")
4831	if len(f) > 0 {
4832		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDomainRequest has unknown keys!", "")
4833	}
4834	return json.Unmarshal([]byte(s), &r)
4835}
4836
4837type ModifyDomainResponse struct {
4838	*tchttp.BaseResponse
4839	Response *struct {
4840
4841		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4842		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4843	} `json:"Response"`
4844}
4845
4846func (r *ModifyDomainResponse) ToJsonString() string {
4847    b, _ := json.Marshal(r)
4848    return string(b)
4849}
4850
4851// FromJsonString It is highly **NOT** recommended to use this function
4852// because it has no param check, nor strict type check
4853func (r *ModifyDomainResponse) FromJsonString(s string) error {
4854	return json.Unmarshal([]byte(s), &r)
4855}
4856
4857type ModifyGroupDomainConfigRequest struct {
4858	*tchttp.BaseRequest
4859
4860	// 通道组ID。
4861	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
4862
4863	// 域名解析默认访问IP或域名。
4864	DefaultDnsIp *string `json:"DefaultDnsIp,omitempty" name:"DefaultDnsIp"`
4865
4866	// 就近接入区域配置。
4867	AccessRegionList []*AccessRegionDomainConf `json:"AccessRegionList,omitempty" name:"AccessRegionList"`
4868}
4869
4870func (r *ModifyGroupDomainConfigRequest) ToJsonString() string {
4871    b, _ := json.Marshal(r)
4872    return string(b)
4873}
4874
4875// FromJsonString It is highly **NOT** recommended to use this function
4876// because it has no param check, nor strict type check
4877func (r *ModifyGroupDomainConfigRequest) FromJsonString(s string) error {
4878	f := make(map[string]interface{})
4879	if err := json.Unmarshal([]byte(s), &f); err != nil {
4880		return err
4881	}
4882	delete(f, "GroupId")
4883	delete(f, "DefaultDnsIp")
4884	delete(f, "AccessRegionList")
4885	if len(f) > 0 {
4886		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyGroupDomainConfigRequest has unknown keys!", "")
4887	}
4888	return json.Unmarshal([]byte(s), &r)
4889}
4890
4891type ModifyGroupDomainConfigResponse struct {
4892	*tchttp.BaseResponse
4893	Response *struct {
4894
4895		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4896		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4897	} `json:"Response"`
4898}
4899
4900func (r *ModifyGroupDomainConfigResponse) ToJsonString() string {
4901    b, _ := json.Marshal(r)
4902    return string(b)
4903}
4904
4905// FromJsonString It is highly **NOT** recommended to use this function
4906// because it has no param check, nor strict type check
4907func (r *ModifyGroupDomainConfigResponse) FromJsonString(s string) error {
4908	return json.Unmarshal([]byte(s), &r)
4909}
4910
4911type ModifyHTTPListenerAttributeRequest struct {
4912	*tchttp.BaseRequest
4913
4914	// 需要修改的监听器ID
4915	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4916
4917	// 新的监听器名称
4918	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
4919
4920	// 通道ID
4921	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
4922}
4923
4924func (r *ModifyHTTPListenerAttributeRequest) ToJsonString() string {
4925    b, _ := json.Marshal(r)
4926    return string(b)
4927}
4928
4929// FromJsonString It is highly **NOT** recommended to use this function
4930// because it has no param check, nor strict type check
4931func (r *ModifyHTTPListenerAttributeRequest) FromJsonString(s string) error {
4932	f := make(map[string]interface{})
4933	if err := json.Unmarshal([]byte(s), &f); err != nil {
4934		return err
4935	}
4936	delete(f, "ListenerId")
4937	delete(f, "ListenerName")
4938	delete(f, "ProxyId")
4939	if len(f) > 0 {
4940		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyHTTPListenerAttributeRequest has unknown keys!", "")
4941	}
4942	return json.Unmarshal([]byte(s), &r)
4943}
4944
4945type ModifyHTTPListenerAttributeResponse struct {
4946	*tchttp.BaseResponse
4947	Response *struct {
4948
4949		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4950		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
4951	} `json:"Response"`
4952}
4953
4954func (r *ModifyHTTPListenerAttributeResponse) ToJsonString() string {
4955    b, _ := json.Marshal(r)
4956    return string(b)
4957}
4958
4959// FromJsonString It is highly **NOT** recommended to use this function
4960// because it has no param check, nor strict type check
4961func (r *ModifyHTTPListenerAttributeResponse) FromJsonString(s string) error {
4962	return json.Unmarshal([]byte(s), &r)
4963}
4964
4965type ModifyHTTPSListenerAttributeRequest struct {
4966	*tchttp.BaseRequest
4967
4968	// 监听器ID
4969	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
4970
4971	// 通道ID, 若为单通道监听器,此项必须填写
4972	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
4973
4974	// 修改后的监听器名称
4975	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
4976
4977	// 监听器后端转发与源站之间的协议类型
4978	ForwardProtocol *string `json:"ForwardProtocol,omitempty" name:"ForwardProtocol"`
4979
4980	// 修改后的监听器服务器证书ID
4981	CertificateId *string `json:"CertificateId,omitempty" name:"CertificateId"`
4982
4983	// 修改后的监听器客户端证书ID,不支持多客户端证书,多客户端证书新采用PolyClientCertificateIds字段
4984	ClientCertificateId *string `json:"ClientCertificateId,omitempty" name:"ClientCertificateId"`
4985
4986	// 新字段,修改后的监听器客户端证书ID
4987	PolyClientCertificateIds []*string `json:"PolyClientCertificateIds,omitempty" name:"PolyClientCertificateIds"`
4988}
4989
4990func (r *ModifyHTTPSListenerAttributeRequest) ToJsonString() string {
4991    b, _ := json.Marshal(r)
4992    return string(b)
4993}
4994
4995// FromJsonString It is highly **NOT** recommended to use this function
4996// because it has no param check, nor strict type check
4997func (r *ModifyHTTPSListenerAttributeRequest) FromJsonString(s string) error {
4998	f := make(map[string]interface{})
4999	if err := json.Unmarshal([]byte(s), &f); err != nil {
5000		return err
5001	}
5002	delete(f, "ListenerId")
5003	delete(f, "ProxyId")
5004	delete(f, "ListenerName")
5005	delete(f, "ForwardProtocol")
5006	delete(f, "CertificateId")
5007	delete(f, "ClientCertificateId")
5008	delete(f, "PolyClientCertificateIds")
5009	if len(f) > 0 {
5010		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyHTTPSListenerAttributeRequest has unknown keys!", "")
5011	}
5012	return json.Unmarshal([]byte(s), &r)
5013}
5014
5015type ModifyHTTPSListenerAttributeResponse struct {
5016	*tchttp.BaseResponse
5017	Response *struct {
5018
5019		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5020		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5021	} `json:"Response"`
5022}
5023
5024func (r *ModifyHTTPSListenerAttributeResponse) ToJsonString() string {
5025    b, _ := json.Marshal(r)
5026    return string(b)
5027}
5028
5029// FromJsonString It is highly **NOT** recommended to use this function
5030// because it has no param check, nor strict type check
5031func (r *ModifyHTTPSListenerAttributeResponse) FromJsonString(s string) error {
5032	return json.Unmarshal([]byte(s), &r)
5033}
5034
5035type ModifyProxiesAttributeRequest struct {
5036	*tchttp.BaseRequest
5037
5038	// (旧参数,请切换到ProxyIds)一个或多个待操作的通道ID。
5039	InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
5040
5041	// 通道名称。可任意命名,但不得超过30个字符。
5042	ProxyName *string `json:"ProxyName,omitempty" name:"ProxyName"`
5043
5044	// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
5045	// 更多详细信息请参阅:如何保证幂等性。
5046	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
5047
5048	// (新参数)一个或多个待操作的通道ID。
5049	ProxyIds []*string `json:"ProxyIds,omitempty" name:"ProxyIds"`
5050}
5051
5052func (r *ModifyProxiesAttributeRequest) ToJsonString() string {
5053    b, _ := json.Marshal(r)
5054    return string(b)
5055}
5056
5057// FromJsonString It is highly **NOT** recommended to use this function
5058// because it has no param check, nor strict type check
5059func (r *ModifyProxiesAttributeRequest) FromJsonString(s string) error {
5060	f := make(map[string]interface{})
5061	if err := json.Unmarshal([]byte(s), &f); err != nil {
5062		return err
5063	}
5064	delete(f, "InstanceIds")
5065	delete(f, "ProxyName")
5066	delete(f, "ClientToken")
5067	delete(f, "ProxyIds")
5068	if len(f) > 0 {
5069		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyProxiesAttributeRequest has unknown keys!", "")
5070	}
5071	return json.Unmarshal([]byte(s), &r)
5072}
5073
5074type ModifyProxiesAttributeResponse struct {
5075	*tchttp.BaseResponse
5076	Response *struct {
5077
5078		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5079		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5080	} `json:"Response"`
5081}
5082
5083func (r *ModifyProxiesAttributeResponse) ToJsonString() string {
5084    b, _ := json.Marshal(r)
5085    return string(b)
5086}
5087
5088// FromJsonString It is highly **NOT** recommended to use this function
5089// because it has no param check, nor strict type check
5090func (r *ModifyProxiesAttributeResponse) FromJsonString(s string) error {
5091	return json.Unmarshal([]byte(s), &r)
5092}
5093
5094type ModifyProxiesProjectRequest struct {
5095	*tchttp.BaseRequest
5096
5097	// 需要修改到的项目ID。
5098	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
5099
5100	// (旧参数,请切换到ProxyIds)一个或多个待操作的通道ID。
5101	InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
5102
5103	// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
5104	// 更多详细信息请参阅:如何保证幂等性。
5105	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
5106
5107	// (新参数)一个或多个待操作的通道ID。
5108	ProxyIds []*string `json:"ProxyIds,omitempty" name:"ProxyIds"`
5109}
5110
5111func (r *ModifyProxiesProjectRequest) ToJsonString() string {
5112    b, _ := json.Marshal(r)
5113    return string(b)
5114}
5115
5116// FromJsonString It is highly **NOT** recommended to use this function
5117// because it has no param check, nor strict type check
5118func (r *ModifyProxiesProjectRequest) FromJsonString(s string) error {
5119	f := make(map[string]interface{})
5120	if err := json.Unmarshal([]byte(s), &f); err != nil {
5121		return err
5122	}
5123	delete(f, "ProjectId")
5124	delete(f, "InstanceIds")
5125	delete(f, "ClientToken")
5126	delete(f, "ProxyIds")
5127	if len(f) > 0 {
5128		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyProxiesProjectRequest has unknown keys!", "")
5129	}
5130	return json.Unmarshal([]byte(s), &r)
5131}
5132
5133type ModifyProxiesProjectResponse struct {
5134	*tchttp.BaseResponse
5135	Response *struct {
5136
5137		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5138		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5139	} `json:"Response"`
5140}
5141
5142func (r *ModifyProxiesProjectResponse) ToJsonString() string {
5143    b, _ := json.Marshal(r)
5144    return string(b)
5145}
5146
5147// FromJsonString It is highly **NOT** recommended to use this function
5148// because it has no param check, nor strict type check
5149func (r *ModifyProxiesProjectResponse) FromJsonString(s string) error {
5150	return json.Unmarshal([]byte(s), &r)
5151}
5152
5153type ModifyProxyConfigurationRequest struct {
5154	*tchttp.BaseRequest
5155
5156	// (旧参数,请切换到ProxyId)通道的实例ID。
5157	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
5158
5159	// 需要调整到的目标带宽,单位:Mbps。
5160	// Bandwidth与Concurrent必须至少设置一个。取值范围根据DescribeAccessRegionsByDestRegion接口获取得到
5161	Bandwidth *uint64 `json:"Bandwidth,omitempty" name:"Bandwidth"`
5162
5163	// 需要调整到的目标并发值,单位:万。
5164	// Bandwidth与Concurrent必须至少设置一个。取值范围根据DescribeAccessRegionsByDestRegion接口获取得到
5165	Concurrent *uint64 `json:"Concurrent,omitempty" name:"Concurrent"`
5166
5167	// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
5168	// 更多详细信息请参阅:如何保证幂等性。
5169	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
5170
5171	// (新参数)通道的实例ID。
5172	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
5173
5174	// 计费方式 (0:按带宽计费,1:按流量计费 默认按带宽计费)
5175	BillingType *int64 `json:"BillingType,omitempty" name:"BillingType"`
5176}
5177
5178func (r *ModifyProxyConfigurationRequest) ToJsonString() string {
5179    b, _ := json.Marshal(r)
5180    return string(b)
5181}
5182
5183// FromJsonString It is highly **NOT** recommended to use this function
5184// because it has no param check, nor strict type check
5185func (r *ModifyProxyConfigurationRequest) FromJsonString(s string) error {
5186	f := make(map[string]interface{})
5187	if err := json.Unmarshal([]byte(s), &f); err != nil {
5188		return err
5189	}
5190	delete(f, "InstanceId")
5191	delete(f, "Bandwidth")
5192	delete(f, "Concurrent")
5193	delete(f, "ClientToken")
5194	delete(f, "ProxyId")
5195	delete(f, "BillingType")
5196	if len(f) > 0 {
5197		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyProxyConfigurationRequest has unknown keys!", "")
5198	}
5199	return json.Unmarshal([]byte(s), &r)
5200}
5201
5202type ModifyProxyConfigurationResponse struct {
5203	*tchttp.BaseResponse
5204	Response *struct {
5205
5206		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5207		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5208	} `json:"Response"`
5209}
5210
5211func (r *ModifyProxyConfigurationResponse) ToJsonString() string {
5212    b, _ := json.Marshal(r)
5213    return string(b)
5214}
5215
5216// FromJsonString It is highly **NOT** recommended to use this function
5217// because it has no param check, nor strict type check
5218func (r *ModifyProxyConfigurationResponse) FromJsonString(s string) error {
5219	return json.Unmarshal([]byte(s), &r)
5220}
5221
5222type ModifyProxyGroupAttributeRequest struct {
5223	*tchttp.BaseRequest
5224
5225	// 需要修改的通道组ID。
5226	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
5227
5228	// 修改后的通道组名称:不超过30个字符,超过部分会被截断。
5229	GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
5230
5231	// 项目ID
5232	ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
5233}
5234
5235func (r *ModifyProxyGroupAttributeRequest) ToJsonString() string {
5236    b, _ := json.Marshal(r)
5237    return string(b)
5238}
5239
5240// FromJsonString It is highly **NOT** recommended to use this function
5241// because it has no param check, nor strict type check
5242func (r *ModifyProxyGroupAttributeRequest) FromJsonString(s string) error {
5243	f := make(map[string]interface{})
5244	if err := json.Unmarshal([]byte(s), &f); err != nil {
5245		return err
5246	}
5247	delete(f, "GroupId")
5248	delete(f, "GroupName")
5249	delete(f, "ProjectId")
5250	if len(f) > 0 {
5251		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyProxyGroupAttributeRequest has unknown keys!", "")
5252	}
5253	return json.Unmarshal([]byte(s), &r)
5254}
5255
5256type ModifyProxyGroupAttributeResponse struct {
5257	*tchttp.BaseResponse
5258	Response *struct {
5259
5260		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5261		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5262	} `json:"Response"`
5263}
5264
5265func (r *ModifyProxyGroupAttributeResponse) ToJsonString() string {
5266    b, _ := json.Marshal(r)
5267    return string(b)
5268}
5269
5270// FromJsonString It is highly **NOT** recommended to use this function
5271// because it has no param check, nor strict type check
5272func (r *ModifyProxyGroupAttributeResponse) FromJsonString(s string) error {
5273	return json.Unmarshal([]byte(s), &r)
5274}
5275
5276type ModifyRealServerNameRequest struct {
5277	*tchttp.BaseRequest
5278
5279	// 源站名称
5280	RealServerName *string `json:"RealServerName,omitempty" name:"RealServerName"`
5281
5282	// 源站ID
5283	RealServerId *string `json:"RealServerId,omitempty" name:"RealServerId"`
5284}
5285
5286func (r *ModifyRealServerNameRequest) ToJsonString() string {
5287    b, _ := json.Marshal(r)
5288    return string(b)
5289}
5290
5291// FromJsonString It is highly **NOT** recommended to use this function
5292// because it has no param check, nor strict type check
5293func (r *ModifyRealServerNameRequest) FromJsonString(s string) error {
5294	f := make(map[string]interface{})
5295	if err := json.Unmarshal([]byte(s), &f); err != nil {
5296		return err
5297	}
5298	delete(f, "RealServerName")
5299	delete(f, "RealServerId")
5300	if len(f) > 0 {
5301		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRealServerNameRequest has unknown keys!", "")
5302	}
5303	return json.Unmarshal([]byte(s), &r)
5304}
5305
5306type ModifyRealServerNameResponse struct {
5307	*tchttp.BaseResponse
5308	Response *struct {
5309
5310		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5311		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5312	} `json:"Response"`
5313}
5314
5315func (r *ModifyRealServerNameResponse) ToJsonString() string {
5316    b, _ := json.Marshal(r)
5317    return string(b)
5318}
5319
5320// FromJsonString It is highly **NOT** recommended to use this function
5321// because it has no param check, nor strict type check
5322func (r *ModifyRealServerNameResponse) FromJsonString(s string) error {
5323	return json.Unmarshal([]byte(s), &r)
5324}
5325
5326type ModifyRuleAttributeRequest struct {
5327	*tchttp.BaseRequest
5328
5329	// 监听器ID
5330	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
5331
5332	// 转发规则ID
5333	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
5334
5335	// 调度策略,其中:
5336	// rr,轮询;
5337	// wrr,加权轮询;
5338	// lc,最小连接数。
5339	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
5340
5341	// 源站健康检查开关,其中:
5342	// 1,开启;
5343	// 0,关闭。
5344	HealthCheck *uint64 `json:"HealthCheck,omitempty" name:"HealthCheck"`
5345
5346	// 健康检查配置参数
5347	CheckParams *RuleCheckParams `json:"CheckParams,omitempty" name:"CheckParams"`
5348
5349	// 转发规则路径
5350	Path *string `json:"Path,omitempty" name:"Path"`
5351
5352	// 加速通道转发到源站的协议类型,支持:default, HTTP和HTTPS。
5353	// 当ForwardProtocol=default时,表示使用对应监听器的ForwardProtocol。
5354	ForwardProtocol *string `json:"ForwardProtocol,omitempty" name:"ForwardProtocol"`
5355
5356	// 加速通道转发到源站的请求中携带的host。
5357	// 当ForwardHost=default时,使用规则的域名,其他情况为该字段所设置的值。
5358	ForwardHost *string `json:"ForwardHost,omitempty" name:"ForwardHost"`
5359}
5360
5361func (r *ModifyRuleAttributeRequest) ToJsonString() string {
5362    b, _ := json.Marshal(r)
5363    return string(b)
5364}
5365
5366// FromJsonString It is highly **NOT** recommended to use this function
5367// because it has no param check, nor strict type check
5368func (r *ModifyRuleAttributeRequest) FromJsonString(s string) error {
5369	f := make(map[string]interface{})
5370	if err := json.Unmarshal([]byte(s), &f); err != nil {
5371		return err
5372	}
5373	delete(f, "ListenerId")
5374	delete(f, "RuleId")
5375	delete(f, "Scheduler")
5376	delete(f, "HealthCheck")
5377	delete(f, "CheckParams")
5378	delete(f, "Path")
5379	delete(f, "ForwardProtocol")
5380	delete(f, "ForwardHost")
5381	if len(f) > 0 {
5382		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRuleAttributeRequest has unknown keys!", "")
5383	}
5384	return json.Unmarshal([]byte(s), &r)
5385}
5386
5387type ModifyRuleAttributeResponse struct {
5388	*tchttp.BaseResponse
5389	Response *struct {
5390
5391		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5392		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5393	} `json:"Response"`
5394}
5395
5396func (r *ModifyRuleAttributeResponse) ToJsonString() string {
5397    b, _ := json.Marshal(r)
5398    return string(b)
5399}
5400
5401// FromJsonString It is highly **NOT** recommended to use this function
5402// because it has no param check, nor strict type check
5403func (r *ModifyRuleAttributeResponse) FromJsonString(s string) error {
5404	return json.Unmarshal([]byte(s), &r)
5405}
5406
5407type ModifySecurityRuleRequest struct {
5408	*tchttp.BaseRequest
5409
5410	// 规则ID
5411	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
5412
5413	// 规则名:不得超过30个字符,超过部分会被截断。
5414	AliasName *string `json:"AliasName,omitempty" name:"AliasName"`
5415
5416	// 安全策略ID
5417	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
5418
5419	// 安全规则动作
5420	RuleAction *string `json:"RuleAction,omitempty" name:"RuleAction"`
5421
5422	// 规则关联地址,格式需要满足CIDR网络地址规范
5423	SourceCidr *string `json:"SourceCidr,omitempty" name:"SourceCidr"`
5424
5425	// 协议类型
5426	Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
5427
5428	// 端口范围,支持以下格式
5429	// 单个端口: 80
5430	// 多个端口: 80,443
5431	// 连续端口: 3306-20000
5432	// 所有端口: ALL
5433	DestPortRange *string `json:"DestPortRange,omitempty" name:"DestPortRange"`
5434}
5435
5436func (r *ModifySecurityRuleRequest) ToJsonString() string {
5437    b, _ := json.Marshal(r)
5438    return string(b)
5439}
5440
5441// FromJsonString It is highly **NOT** recommended to use this function
5442// because it has no param check, nor strict type check
5443func (r *ModifySecurityRuleRequest) FromJsonString(s string) error {
5444	f := make(map[string]interface{})
5445	if err := json.Unmarshal([]byte(s), &f); err != nil {
5446		return err
5447	}
5448	delete(f, "RuleId")
5449	delete(f, "AliasName")
5450	delete(f, "PolicyId")
5451	delete(f, "RuleAction")
5452	delete(f, "SourceCidr")
5453	delete(f, "Protocol")
5454	delete(f, "DestPortRange")
5455	if len(f) > 0 {
5456		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySecurityRuleRequest has unknown keys!", "")
5457	}
5458	return json.Unmarshal([]byte(s), &r)
5459}
5460
5461type ModifySecurityRuleResponse struct {
5462	*tchttp.BaseResponse
5463	Response *struct {
5464
5465		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5466		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5467	} `json:"Response"`
5468}
5469
5470func (r *ModifySecurityRuleResponse) ToJsonString() string {
5471    b, _ := json.Marshal(r)
5472    return string(b)
5473}
5474
5475// FromJsonString It is highly **NOT** recommended to use this function
5476// because it has no param check, nor strict type check
5477func (r *ModifySecurityRuleResponse) FromJsonString(s string) error {
5478	return json.Unmarshal([]byte(s), &r)
5479}
5480
5481type ModifyTCPListenerAttributeRequest struct {
5482	*tchttp.BaseRequest
5483
5484	// 监听器ID
5485	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
5486
5487	// 通道组ID,ProxyId和GroupId必须设置一个,但不能同时设置。
5488	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
5489
5490	// 通道ID,ProxyId和GroupId必须设置一个,但不能同时设置。
5491	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
5492
5493	// 监听器名称
5494	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
5495
5496	// 监听器源站调度策略,支持轮询(rr),加权轮询(wrr),最小连接数(lc)。
5497	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
5498
5499	// 源站健康检查时间间隔,单位:秒。时间间隔取值在[5,300]之间。
5500	DelayLoop *uint64 `json:"DelayLoop,omitempty" name:"DelayLoop"`
5501
5502	// 源站健康检查响应超时时间,单位:秒。超时时间取值在[2,60]之间。超时时间应小于健康检查时间间隔DelayLoop。
5503	ConnectTimeout *uint64 `json:"ConnectTimeout,omitempty" name:"ConnectTimeout"`
5504
5505	// 是否开启健康检查,1开启,0关闭。
5506	HealthCheck *uint64 `json:"HealthCheck,omitempty" name:"HealthCheck"`
5507
5508	// 源站是否开启主备模式:1开启,0关闭,DOMAIN类型源站不支持开启
5509	FailoverSwitch *uint64 `json:"FailoverSwitch,omitempty" name:"FailoverSwitch"`
5510
5511	// 健康阈值,表示连续检查成功多少次数后认定源站健康。范围为1到10
5512	HealthyThreshold *uint64 `json:"HealthyThreshold,omitempty" name:"HealthyThreshold"`
5513
5514	// 不健康阈值,表示连续检查失败次数后认定源站不健康。范围为1到10
5515	UnhealthyThreshold *uint64 `json:"UnhealthyThreshold,omitempty" name:"UnhealthyThreshold"`
5516}
5517
5518func (r *ModifyTCPListenerAttributeRequest) ToJsonString() string {
5519    b, _ := json.Marshal(r)
5520    return string(b)
5521}
5522
5523// FromJsonString It is highly **NOT** recommended to use this function
5524// because it has no param check, nor strict type check
5525func (r *ModifyTCPListenerAttributeRequest) FromJsonString(s string) error {
5526	f := make(map[string]interface{})
5527	if err := json.Unmarshal([]byte(s), &f); err != nil {
5528		return err
5529	}
5530	delete(f, "ListenerId")
5531	delete(f, "GroupId")
5532	delete(f, "ProxyId")
5533	delete(f, "ListenerName")
5534	delete(f, "Scheduler")
5535	delete(f, "DelayLoop")
5536	delete(f, "ConnectTimeout")
5537	delete(f, "HealthCheck")
5538	delete(f, "FailoverSwitch")
5539	delete(f, "HealthyThreshold")
5540	delete(f, "UnhealthyThreshold")
5541	if len(f) > 0 {
5542		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyTCPListenerAttributeRequest has unknown keys!", "")
5543	}
5544	return json.Unmarshal([]byte(s), &r)
5545}
5546
5547type ModifyTCPListenerAttributeResponse struct {
5548	*tchttp.BaseResponse
5549	Response *struct {
5550
5551		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5552		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5553	} `json:"Response"`
5554}
5555
5556func (r *ModifyTCPListenerAttributeResponse) ToJsonString() string {
5557    b, _ := json.Marshal(r)
5558    return string(b)
5559}
5560
5561// FromJsonString It is highly **NOT** recommended to use this function
5562// because it has no param check, nor strict type check
5563func (r *ModifyTCPListenerAttributeResponse) FromJsonString(s string) error {
5564	return json.Unmarshal([]byte(s), &r)
5565}
5566
5567type ModifyUDPListenerAttributeRequest struct {
5568	*tchttp.BaseRequest
5569
5570	// 监听器ID
5571	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
5572
5573	// 通道组ID,ProxyId和GroupId必须设置一个,但不能同时设置。
5574	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
5575
5576	// 通道ID,ProxyId和GroupId必须设置一个,但不能同时设置。
5577	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
5578
5579	// 监听器名称
5580	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
5581
5582	// 监听器源站调度策略
5583	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
5584}
5585
5586func (r *ModifyUDPListenerAttributeRequest) ToJsonString() string {
5587    b, _ := json.Marshal(r)
5588    return string(b)
5589}
5590
5591// FromJsonString It is highly **NOT** recommended to use this function
5592// because it has no param check, nor strict type check
5593func (r *ModifyUDPListenerAttributeRequest) FromJsonString(s string) error {
5594	f := make(map[string]interface{})
5595	if err := json.Unmarshal([]byte(s), &f); err != nil {
5596		return err
5597	}
5598	delete(f, "ListenerId")
5599	delete(f, "GroupId")
5600	delete(f, "ProxyId")
5601	delete(f, "ListenerName")
5602	delete(f, "Scheduler")
5603	if len(f) > 0 {
5604		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyUDPListenerAttributeRequest has unknown keys!", "")
5605	}
5606	return json.Unmarshal([]byte(s), &r)
5607}
5608
5609type ModifyUDPListenerAttributeResponse struct {
5610	*tchttp.BaseResponse
5611	Response *struct {
5612
5613		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5614		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5615	} `json:"Response"`
5616}
5617
5618func (r *ModifyUDPListenerAttributeResponse) ToJsonString() string {
5619    b, _ := json.Marshal(r)
5620    return string(b)
5621}
5622
5623// FromJsonString It is highly **NOT** recommended to use this function
5624// because it has no param check, nor strict type check
5625func (r *ModifyUDPListenerAttributeResponse) FromJsonString(s string) error {
5626	return json.Unmarshal([]byte(s), &r)
5627}
5628
5629type NationCountryInnerInfo struct {
5630
5631	// 国家名
5632	NationCountryName *string `json:"NationCountryName,omitempty" name:"NationCountryName"`
5633
5634	// 国家内部编码
5635	NationCountryInnerCode *string `json:"NationCountryInnerCode,omitempty" name:"NationCountryInnerCode"`
5636}
5637
5638type NewRealServer struct {
5639
5640	// 源站ID
5641	RealServerId *string `json:"RealServerId,omitempty" name:"RealServerId"`
5642
5643	// 源站ip或域名
5644	RealServerIP *string `json:"RealServerIP,omitempty" name:"RealServerIP"`
5645}
5646
5647type OpenProxiesRequest struct {
5648	*tchttp.BaseRequest
5649
5650	// (旧参数,请切换到ProxyIds)通道的实例ID列表。
5651	InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
5652
5653	// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
5654	// 更多详细信息请参阅:如何保证幂等性。
5655	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
5656
5657	// (新参数)通道的实例ID列表。
5658	ProxyIds []*string `json:"ProxyIds,omitempty" name:"ProxyIds"`
5659}
5660
5661func (r *OpenProxiesRequest) ToJsonString() string {
5662    b, _ := json.Marshal(r)
5663    return string(b)
5664}
5665
5666// FromJsonString It is highly **NOT** recommended to use this function
5667// because it has no param check, nor strict type check
5668func (r *OpenProxiesRequest) FromJsonString(s string) error {
5669	f := make(map[string]interface{})
5670	if err := json.Unmarshal([]byte(s), &f); err != nil {
5671		return err
5672	}
5673	delete(f, "InstanceIds")
5674	delete(f, "ClientToken")
5675	delete(f, "ProxyIds")
5676	if len(f) > 0 {
5677		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "OpenProxiesRequest has unknown keys!", "")
5678	}
5679	return json.Unmarshal([]byte(s), &r)
5680}
5681
5682type OpenProxiesResponse struct {
5683	*tchttp.BaseResponse
5684	Response *struct {
5685
5686		// 非关闭状态下的通道实例ID列表,不可开启。
5687		InvalidStatusInstanceSet []*string `json:"InvalidStatusInstanceSet,omitempty" name:"InvalidStatusInstanceSet"`
5688
5689		// 开启操作失败的通道实例ID列表。
5690		OperationFailedInstanceSet []*string `json:"OperationFailedInstanceSet,omitempty" name:"OperationFailedInstanceSet"`
5691
5692		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5693		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5694	} `json:"Response"`
5695}
5696
5697func (r *OpenProxiesResponse) ToJsonString() string {
5698    b, _ := json.Marshal(r)
5699    return string(b)
5700}
5701
5702// FromJsonString It is highly **NOT** recommended to use this function
5703// because it has no param check, nor strict type check
5704func (r *OpenProxiesResponse) FromJsonString(s string) error {
5705	return json.Unmarshal([]byte(s), &r)
5706}
5707
5708type OpenProxyGroupRequest struct {
5709	*tchttp.BaseRequest
5710
5711	// 通道组实例 ID
5712	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
5713}
5714
5715func (r *OpenProxyGroupRequest) ToJsonString() string {
5716    b, _ := json.Marshal(r)
5717    return string(b)
5718}
5719
5720// FromJsonString It is highly **NOT** recommended to use this function
5721// because it has no param check, nor strict type check
5722func (r *OpenProxyGroupRequest) FromJsonString(s string) error {
5723	f := make(map[string]interface{})
5724	if err := json.Unmarshal([]byte(s), &f); err != nil {
5725		return err
5726	}
5727	delete(f, "GroupId")
5728	if len(f) > 0 {
5729		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "OpenProxyGroupRequest has unknown keys!", "")
5730	}
5731	return json.Unmarshal([]byte(s), &r)
5732}
5733
5734type OpenProxyGroupResponse struct {
5735	*tchttp.BaseResponse
5736	Response *struct {
5737
5738		// 非关闭状态下的通道实例ID列表,不可开启。
5739		InvalidStatusInstanceSet []*string `json:"InvalidStatusInstanceSet,omitempty" name:"InvalidStatusInstanceSet"`
5740
5741		// 开启操作失败的通道实例ID列表。
5742		OperationFailedInstanceSet []*string `json:"OperationFailedInstanceSet,omitempty" name:"OperationFailedInstanceSet"`
5743
5744		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5745		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5746	} `json:"Response"`
5747}
5748
5749func (r *OpenProxyGroupResponse) ToJsonString() string {
5750    b, _ := json.Marshal(r)
5751    return string(b)
5752}
5753
5754// FromJsonString It is highly **NOT** recommended to use this function
5755// because it has no param check, nor strict type check
5756func (r *OpenProxyGroupResponse) FromJsonString(s string) error {
5757	return json.Unmarshal([]byte(s), &r)
5758}
5759
5760type OpenSecurityPolicyRequest struct {
5761	*tchttp.BaseRequest
5762
5763	// 需开启安全策略的通道ID
5764	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
5765
5766	// 安全策略ID
5767	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
5768}
5769
5770func (r *OpenSecurityPolicyRequest) ToJsonString() string {
5771    b, _ := json.Marshal(r)
5772    return string(b)
5773}
5774
5775// FromJsonString It is highly **NOT** recommended to use this function
5776// because it has no param check, nor strict type check
5777func (r *OpenSecurityPolicyRequest) FromJsonString(s string) error {
5778	f := make(map[string]interface{})
5779	if err := json.Unmarshal([]byte(s), &f); err != nil {
5780		return err
5781	}
5782	delete(f, "ProxyId")
5783	delete(f, "PolicyId")
5784	if len(f) > 0 {
5785		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "OpenSecurityPolicyRequest has unknown keys!", "")
5786	}
5787	return json.Unmarshal([]byte(s), &r)
5788}
5789
5790type OpenSecurityPolicyResponse struct {
5791	*tchttp.BaseResponse
5792	Response *struct {
5793
5794		// 异步流程ID,可以通过DescribeAsyncTaskStatus接口查询流程运行状态
5795		TaskId *string `json:"TaskId,omitempty" name:"TaskId"`
5796
5797		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
5798		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
5799	} `json:"Response"`
5800}
5801
5802func (r *OpenSecurityPolicyResponse) ToJsonString() string {
5803    b, _ := json.Marshal(r)
5804    return string(b)
5805}
5806
5807// FromJsonString It is highly **NOT** recommended to use this function
5808// because it has no param check, nor strict type check
5809func (r *OpenSecurityPolicyResponse) FromJsonString(s string) error {
5810	return json.Unmarshal([]byte(s), &r)
5811}
5812
5813type ProxyGroupDetail struct {
5814
5815	// 创建时间
5816	CreateTime *int64 `json:"CreateTime,omitempty" name:"CreateTime"`
5817
5818	// 项目ID
5819	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
5820
5821	// 通道组中通道数量
5822	ProxyNum *int64 `json:"ProxyNum,omitempty" name:"ProxyNum"`
5823
5824	// 通道组状态:
5825	// 0表示正常运行;
5826	// 1表示创建中;
5827	// 4表示销毁中;
5828	// 11表示迁移中;
5829	Status *int64 `json:"Status,omitempty" name:"Status"`
5830
5831	// 归属Uin
5832	OwnerUin *string `json:"OwnerUin,omitempty" name:"OwnerUin"`
5833
5834	// 创建Uin
5835	CreateUin *string `json:"CreateUin,omitempty" name:"CreateUin"`
5836
5837	// 通道名称
5838	GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
5839
5840	// 通道组域名解析默认IP
5841	DnsDefaultIp *string `json:"DnsDefaultIp,omitempty" name:"DnsDefaultIp"`
5842
5843	// 通道组域名
5844	// 注意:此字段可能返回 null,表示取不到有效值。
5845	Domain *string `json:"Domain,omitempty" name:"Domain"`
5846
5847	// 目标地域
5848	RealServerRegionInfo *RegionDetail `json:"RealServerRegionInfo,omitempty" name:"RealServerRegionInfo"`
5849
5850	// 是否老通道组,2018-08-03之前创建的通道组为老通道组
5851	IsOldGroup *bool `json:"IsOldGroup,omitempty" name:"IsOldGroup"`
5852
5853	// 通道组ID
5854	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
5855
5856	// 标签列表
5857	// 注意:此字段可能返回 null,表示取不到有效值。
5858	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
5859
5860	// 安全策略ID,当设置了安全策略时,存在该字段。
5861	// 注意:此字段可能返回 null,表示取不到有效值。
5862	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
5863
5864	// 通道组版本
5865	// 注意:此字段可能返回 null,表示取不到有效值。
5866	Version *string `json:"Version,omitempty" name:"Version"`
5867
5868	// 通道获取客户端IP的方式,0表示TOA,1表示Proxy Protocol
5869	// 注意:此字段可能返回 null,表示取不到有效值。
5870	ClientIPMethod []*int64 `json:"ClientIPMethod,omitempty" name:"ClientIPMethod"`
5871
5872	// IP版本,可取值:IPv4、IPv6,默认值IPv4
5873	// 注意:此字段可能返回 null,表示取不到有效值。
5874	IPAddressVersion *string `json:"IPAddressVersion,omitempty" name:"IPAddressVersion"`
5875}
5876
5877type ProxyGroupInfo struct {
5878
5879	// 通道组id
5880	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
5881
5882	// 通道组域名
5883	// 注意:此字段可能返回 null,表示取不到有效值。
5884	Domain *string `json:"Domain,omitempty" name:"Domain"`
5885
5886	// 通道组名称
5887	// 注意:此字段可能返回 null,表示取不到有效值。
5888	GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
5889
5890	// 项目ID
5891	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
5892
5893	// 目标地域
5894	RealServerRegionInfo *RegionDetail `json:"RealServerRegionInfo,omitempty" name:"RealServerRegionInfo"`
5895
5896	// 通道组状态。
5897	// 其中,
5898	// RUNNING表示运行中;
5899	// CREATING表示创建中;
5900	// DESTROYING表示销毁中;
5901	// MOVING表示通道迁移中。
5902	Status *string `json:"Status,omitempty" name:"Status"`
5903
5904	// 标签列表。
5905	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
5906
5907	// 通道组版本
5908	// 注意:此字段可能返回 null,表示取不到有效值。
5909	Version *string `json:"Version,omitempty" name:"Version"`
5910
5911	// 创建时间
5912	// 注意:此字段可能返回 null,表示取不到有效值。
5913	CreateTime *uint64 `json:"CreateTime,omitempty" name:"CreateTime"`
5914
5915	// 通道组是否包含微软通道
5916	// 注意:此字段可能返回 null,表示取不到有效值。
5917	ProxyType *uint64 `json:"ProxyType,omitempty" name:"ProxyType"`
5918}
5919
5920type ProxyIdDict struct {
5921
5922	// 通道ID
5923	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
5924}
5925
5926type ProxyInfo struct {
5927
5928	// (旧参数,请使用ProxyId)通道实例ID。
5929	// 注意:此字段可能返回 null,表示取不到有效值。
5930	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
5931
5932	// 创建时间,采用Unix时间戳的方式,表示从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
5933	CreateTime *uint64 `json:"CreateTime,omitempty" name:"CreateTime"`
5934
5935	// 项目ID。
5936	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
5937
5938	// 通道名称。
5939	ProxyName *string `json:"ProxyName,omitempty" name:"ProxyName"`
5940
5941	// 接入地域。
5942	AccessRegion *string `json:"AccessRegion,omitempty" name:"AccessRegion"`
5943
5944	// 源站地域。
5945	RealServerRegion *string `json:"RealServerRegion,omitempty" name:"RealServerRegion"`
5946
5947	// 带宽,单位:Mbps。
5948	Bandwidth *int64 `json:"Bandwidth,omitempty" name:"Bandwidth"`
5949
5950	// 并发,单位:个/秒。
5951	Concurrent *int64 `json:"Concurrent,omitempty" name:"Concurrent"`
5952
5953	// 通道状态。其中:
5954	// RUNNING表示运行中;
5955	// CREATING表示创建中;
5956	// DESTROYING表示销毁中;
5957	// OPENING表示开启中;
5958	// CLOSING表示关闭中;
5959	// CLOSED表示已关闭;
5960	// ADJUSTING表示配置变更中;
5961	// ISOLATING表示隔离中;
5962	// ISOLATED表示已隔离;
5963	// CLONING表示复制中;
5964	// UNKNOWN表示未知状态。
5965	Status *string `json:"Status,omitempty" name:"Status"`
5966
5967	// 接入域名。
5968	Domain *string `json:"Domain,omitempty" name:"Domain"`
5969
5970	// 接入IP。
5971	IP *string `json:"IP,omitempty" name:"IP"`
5972
5973	// 通道版本号:1.0,2.0,3.0。
5974	Version *string `json:"Version,omitempty" name:"Version"`
5975
5976	// (新参数)通道实例ID。
5977	// 注意:此字段可能返回 null,表示取不到有效值。
5978	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
5979
5980	// 1,该通道可缩扩容;0,该通道无法缩扩容。
5981	Scalarable *int64 `json:"Scalarable,omitempty" name:"Scalarable"`
5982
5983	// 支持的协议类型。
5984	SupportProtocols []*string `json:"SupportProtocols,omitempty" name:"SupportProtocols"`
5985
5986	// 通道组ID,当通道归属于某一通道组时,存在该字段。
5987	// 注意:此字段可能返回 null,表示取不到有效值。
5988	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
5989
5990	// 安全策略ID,当设置了安全策略时,存在该字段。
5991	// 注意:此字段可能返回 null,表示取不到有效值。
5992	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
5993
5994	// 接入地域详细信息,包括地域ID和地域名。
5995	// 注意:此字段可能返回 null,表示取不到有效值。
5996	AccessRegionInfo *RegionDetail `json:"AccessRegionInfo,omitempty" name:"AccessRegionInfo"`
5997
5998	// 源站地域详细信息,包括地域ID和地域名。
5999	// 注意:此字段可能返回 null,表示取不到有效值。
6000	RealServerRegionInfo *RegionDetail `json:"RealServerRegionInfo,omitempty" name:"RealServerRegionInfo"`
6001
6002	// 通道转发IP
6003	ForwardIP *string `json:"ForwardIP,omitempty" name:"ForwardIP"`
6004
6005	// 标签列表,不存在标签时,该字段为空列表。
6006	// 注意:此字段可能返回 null,表示取不到有效值。
6007	TagSet []*TagPair `json:"TagSet,omitempty" name:"TagSet"`
6008
6009	// 是否支持安全组配置
6010	// 注意:此字段可能返回 null,表示取不到有效值。
6011	SupportSecurity *int64 `json:"SupportSecurity,omitempty" name:"SupportSecurity"`
6012
6013	// 计费类型: 0表示按带宽计费  1表示按流量计费。
6014	// 注意:此字段可能返回 null,表示取不到有效值。
6015	BillingType *int64 `json:"BillingType,omitempty" name:"BillingType"`
6016
6017	// 关联了解析的域名列表
6018	// 注意:此字段可能返回 null,表示取不到有效值。
6019	RelatedGlobalDomains []*string `json:"RelatedGlobalDomains,omitempty" name:"RelatedGlobalDomains"`
6020
6021	// 配置变更时间
6022	// 注意:此字段可能返回 null,表示取不到有效值。
6023	ModifyConfigTime *uint64 `json:"ModifyConfigTime,omitempty" name:"ModifyConfigTime"`
6024
6025	// 通道类型
6026	// 注意:此字段可能返回 null,表示取不到有效值。
6027	ProxyType *uint64 `json:"ProxyType,omitempty" name:"ProxyType"`
6028
6029	// 通道获取客户端IP的方式,0表示TOA,1表示Proxy Protocol
6030	// 注意:此字段可能返回 null,表示取不到有效值。
6031	ClientIPMethod []*int64 `json:"ClientIPMethod,omitempty" name:"ClientIPMethod"`
6032
6033	// IP版本:IPv4、IPv6
6034	// 注意:此字段可能返回 null,表示取不到有效值。
6035	IPAddressVersion *string `json:"IPAddressVersion,omitempty" name:"IPAddressVersion"`
6036
6037	// 网络类型:normal、cn2
6038	// 注意:此字段可能返回 null,表示取不到有效值。
6039	NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"`
6040}
6041
6042type ProxySimpleInfo struct {
6043
6044	// 通道ID
6045	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
6046
6047	// 通道名称
6048	ProxyName *string `json:"ProxyName,omitempty" name:"ProxyName"`
6049
6050	// 监听器列表
6051	ListenerList []*ListenerInfo `json:"ListenerList,omitempty" name:"ListenerList"`
6052}
6053
6054type ProxyStatus struct {
6055
6056	// 通道实例ID。
6057	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
6058
6059	// 通道状态。
6060	// 其中:
6061	// RUNNING表示运行中;
6062	// CREATING表示创建中;
6063	// DESTROYING表示销毁中;
6064	// OPENING表示开启中;
6065	// CLOSING表示关闭中;
6066	// CLOSED表示已关闭;
6067	// ADJUSTING表示配置变更中;
6068	// ISOLATING表示隔离中;
6069	// ISOLATED表示已隔离;
6070	// UNKNOWN表示未知状态。
6071	Status *string `json:"Status,omitempty" name:"Status"`
6072}
6073
6074type RealServer struct {
6075
6076	// 源站的IP或域名
6077	RealServerIP *string `json:"RealServerIP,omitempty" name:"RealServerIP"`
6078
6079	// 源站ID
6080	RealServerId *string `json:"RealServerId,omitempty" name:"RealServerId"`
6081
6082	// 源站名称
6083	RealServerName *string `json:"RealServerName,omitempty" name:"RealServerName"`
6084
6085	// 项目ID
6086	ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
6087}
6088
6089type RealServerBindSetReq struct {
6090
6091	// 源站id
6092	RealServerId *string `json:"RealServerId,omitempty" name:"RealServerId"`
6093
6094	// 源站端口
6095	RealServerPort *uint64 `json:"RealServerPort,omitempty" name:"RealServerPort"`
6096
6097	// 源站IP
6098	RealServerIP *string `json:"RealServerIP,omitempty" name:"RealServerIP"`
6099
6100	// 源站权重
6101	RealServerWeight *uint64 `json:"RealServerWeight,omitempty" name:"RealServerWeight"`
6102
6103	// 源站主备角色:master主,slave备,该参数必须在监听器打开了源站主备模式,且监听器类型为TCP监听器
6104	RealServerFailoverRole *string `json:"RealServerFailoverRole,omitempty" name:"RealServerFailoverRole"`
6105}
6106
6107type RealServerStatus struct {
6108
6109	// 源站ID。
6110	RealServerId *string `json:"RealServerId,omitempty" name:"RealServerId"`
6111
6112	// 0表示未被绑定 1表示被规则或者监听器绑定。
6113	BindStatus *int64 `json:"BindStatus,omitempty" name:"BindStatus"`
6114
6115	// 绑定此源站的通道ID,没有绑定时为空字符串。
6116	ProxyId *string `json:"ProxyId,omitempty" name:"ProxyId"`
6117}
6118
6119type RegionDetail struct {
6120
6121	// 区域ID
6122	RegionId *string `json:"RegionId,omitempty" name:"RegionId"`
6123
6124	// 区域英文名或中文名
6125	RegionName *string `json:"RegionName,omitempty" name:"RegionName"`
6126}
6127
6128type RemoveRealServersRequest struct {
6129	*tchttp.BaseRequest
6130
6131	// 源站Id列表
6132	RealServerIds []*string `json:"RealServerIds,omitempty" name:"RealServerIds"`
6133}
6134
6135func (r *RemoveRealServersRequest) ToJsonString() string {
6136    b, _ := json.Marshal(r)
6137    return string(b)
6138}
6139
6140// FromJsonString It is highly **NOT** recommended to use this function
6141// because it has no param check, nor strict type check
6142func (r *RemoveRealServersRequest) FromJsonString(s string) error {
6143	f := make(map[string]interface{})
6144	if err := json.Unmarshal([]byte(s), &f); err != nil {
6145		return err
6146	}
6147	delete(f, "RealServerIds")
6148	if len(f) > 0 {
6149		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RemoveRealServersRequest has unknown keys!", "")
6150	}
6151	return json.Unmarshal([]byte(s), &r)
6152}
6153
6154type RemoveRealServersResponse struct {
6155	*tchttp.BaseResponse
6156	Response *struct {
6157
6158		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
6159		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
6160	} `json:"Response"`
6161}
6162
6163func (r *RemoveRealServersResponse) ToJsonString() string {
6164    b, _ := json.Marshal(r)
6165    return string(b)
6166}
6167
6168// FromJsonString It is highly **NOT** recommended to use this function
6169// because it has no param check, nor strict type check
6170func (r *RemoveRealServersResponse) FromJsonString(s string) error {
6171	return json.Unmarshal([]byte(s), &r)
6172}
6173
6174type RuleCheckParams struct {
6175
6176	// 健康检查的时间间隔
6177	DelayLoop *uint64 `json:"DelayLoop,omitempty" name:"DelayLoop"`
6178
6179	// 健康检查的响应超时时间
6180	ConnectTimeout *uint64 `json:"ConnectTimeout,omitempty" name:"ConnectTimeout"`
6181
6182	// 健康检查的检查路径
6183	Path *string `json:"Path,omitempty" name:"Path"`
6184
6185	// 健康检查的方法,GET/HEAD
6186	Method *string `json:"Method,omitempty" name:"Method"`
6187
6188	// 确认源站正常的返回码,可选范围[100, 200, 300, 400, 500]
6189	StatusCode []*uint64 `json:"StatusCode,omitempty" name:"StatusCode"`
6190
6191	// 健康检查的检查域名。
6192	// 当调用ModifyRuleAttribute时,不支持修改该参数。
6193	Domain *string `json:"Domain,omitempty" name:"Domain"`
6194
6195	// 源站服务失败统计频率
6196	// 注意:此字段可能返回 null,表示取不到有效值。
6197	FailedCountInter *uint64 `json:"FailedCountInter,omitempty" name:"FailedCountInter"`
6198
6199	// 源站健康性检查阀值,超过该阀值会屏蔽服务
6200	// 注意:此字段可能返回 null,表示取不到有效值。
6201	FailedThreshold *uint64 `json:"FailedThreshold,omitempty" name:"FailedThreshold"`
6202
6203	// 源站健康性检测超出阀值后,屏蔽的时间
6204	// 注意:此字段可能返回 null,表示取不到有效值。
6205	BlockInter *uint64 `json:"BlockInter,omitempty" name:"BlockInter"`
6206}
6207
6208type RuleInfo struct {
6209
6210	// 规则信息
6211	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
6212
6213	// 监听器信息
6214	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
6215
6216	// 规则域名
6217	Domain *string `json:"Domain,omitempty" name:"Domain"`
6218
6219	// 规则路径
6220	Path *string `json:"Path,omitempty" name:"Path"`
6221
6222	// 源站类型
6223	RealServerType *string `json:"RealServerType,omitempty" name:"RealServerType"`
6224
6225	// 转发源站策略
6226	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
6227
6228	// 是否开启健康检查标志,1表示开启,0表示关闭
6229	HealthCheck *uint64 `json:"HealthCheck,omitempty" name:"HealthCheck"`
6230
6231	// 规则状态,0表示运行中,1表示创建中,2表示销毁中,3表示绑定解绑源站中,4表示配置更新中
6232	RuleStatus *uint64 `json:"RuleStatus,omitempty" name:"RuleStatus"`
6233
6234	// 健康检查相关参数
6235	CheckParams *RuleCheckParams `json:"CheckParams,omitempty" name:"CheckParams"`
6236
6237	// 已绑定的源站相关信息
6238	RealServerSet []*BindRealServer `json:"RealServerSet,omitempty" name:"RealServerSet"`
6239
6240	// 源站的服务状态,0表示异常,1表示正常。
6241	// 未开启健康检查时,该状态始终未正常。
6242	// 只要有一个源站健康状态为异常时,该状态为异常,具体源站的状态请查看RealServerSet。
6243	BindStatus *uint64 `json:"BindStatus,omitempty" name:"BindStatus"`
6244
6245	// 通道转发到源站的请求所携带的host,其中default表示直接转发接收到的host。
6246	// 注意:此字段可能返回 null,表示取不到有效值。
6247	ForwardHost *string `json:"ForwardHost,omitempty" name:"ForwardHost"`
6248}
6249
6250type SecurityPolicyRuleIn struct {
6251
6252	// 请求来源IP或IP段。
6253	SourceCidr *string `json:"SourceCidr,omitempty" name:"SourceCidr"`
6254
6255	// 策略:允许(ACCEPT)或拒绝(DROP)
6256	Action *string `json:"Action,omitempty" name:"Action"`
6257
6258	// 规则别名
6259	AliasName *string `json:"AliasName,omitempty" name:"AliasName"`
6260
6261	// 协议:TCP或UDP,ALL表示所有协议
6262	Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
6263
6264	// 目标端口,填写格式举例:
6265	// 单个端口: 80
6266	// 多个端口: 80,443
6267	// 连续端口: 3306-20000
6268	// 所有端口: ALL
6269	DestPortRange *string `json:"DestPortRange,omitempty" name:"DestPortRange"`
6270}
6271
6272type SecurityPolicyRuleOut struct {
6273
6274	// 策略:允许(ACCEPT)或拒绝(DROP)
6275	Action *string `json:"Action,omitempty" name:"Action"`
6276
6277	// 请求来源Ip或Ip段
6278	SourceCidr *string `json:"SourceCidr,omitempty" name:"SourceCidr"`
6279
6280	// 规则别名
6281	AliasName *string `json:"AliasName,omitempty" name:"AliasName"`
6282
6283	// 目标端口范围
6284	// 注意:此字段可能返回 null,表示取不到有效值。
6285	DestPortRange *string `json:"DestPortRange,omitempty" name:"DestPortRange"`
6286
6287	// 规则ID
6288	RuleId *string `json:"RuleId,omitempty" name:"RuleId"`
6289
6290	// 要匹配的协议类型(TCP/UDP
6291	// 注意:此字段可能返回 null,表示取不到有效值。
6292	Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
6293
6294	// 安全策略ID
6295	// 注意:此字段可能返回 null,表示取不到有效值。
6296	PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
6297}
6298
6299type SetAuthenticationRequest struct {
6300	*tchttp.BaseRequest
6301
6302	// 监听器ID。
6303	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
6304
6305	// 需要进行高级配置的域名,该域名为监听器下的转发规则的域名。
6306	Domain *string `json:"Domain,omitempty" name:"Domain"`
6307
6308	// 基础认证开关,其中:
6309	// 0,关闭基础认证;
6310	// 1,开启基础认证。
6311	// 默认为0。
6312	BasicAuth *int64 `json:"BasicAuth,omitempty" name:"BasicAuth"`
6313
6314	// 通道认证开关,用于源站对Gaap的认证,其中:
6315	// 0,关闭通道认证;
6316	// 1,开启通道认证。
6317	// 默认为0。
6318	GaapAuth *int64 `json:"GaapAuth,omitempty" name:"GaapAuth"`
6319
6320	// 源站认证开关,用于Gaap对服务器的认证,其中:
6321	// 0,关闭源站认证;
6322	// 1,开启源站认证。
6323	// 默认为0。
6324	RealServerAuth *int64 `json:"RealServerAuth,omitempty" name:"RealServerAuth"`
6325
6326	// 基础认证配置ID,从证书管理页获取。
6327	BasicAuthConfId *string `json:"BasicAuthConfId,omitempty" name:"BasicAuthConfId"`
6328
6329	// 通道SSL证书ID,从证书管理页获取。
6330	GaapCertificateId *string `json:"GaapCertificateId,omitempty" name:"GaapCertificateId"`
6331
6332	// 源站CA证书ID,从证书管理页获取。源站认证时,填写该参数或RealServerCertificateId参数
6333	RealServerCertificateId *string `json:"RealServerCertificateId,omitempty" name:"RealServerCertificateId"`
6334
6335	// 源站证书域名。
6336	RealServerCertificateDomain *string `json:"RealServerCertificateDomain,omitempty" name:"RealServerCertificateDomain"`
6337
6338	// 多源站CA证书ID,从证书管理页获取。源站认证时,填写该参数或RealServerCertificateId参数
6339	PolyRealServerCertificateIds []*string `json:"PolyRealServerCertificateIds,omitempty" name:"PolyRealServerCertificateIds"`
6340}
6341
6342func (r *SetAuthenticationRequest) ToJsonString() string {
6343    b, _ := json.Marshal(r)
6344    return string(b)
6345}
6346
6347// FromJsonString It is highly **NOT** recommended to use this function
6348// because it has no param check, nor strict type check
6349func (r *SetAuthenticationRequest) FromJsonString(s string) error {
6350	f := make(map[string]interface{})
6351	if err := json.Unmarshal([]byte(s), &f); err != nil {
6352		return err
6353	}
6354	delete(f, "ListenerId")
6355	delete(f, "Domain")
6356	delete(f, "BasicAuth")
6357	delete(f, "GaapAuth")
6358	delete(f, "RealServerAuth")
6359	delete(f, "BasicAuthConfId")
6360	delete(f, "GaapCertificateId")
6361	delete(f, "RealServerCertificateId")
6362	delete(f, "RealServerCertificateDomain")
6363	delete(f, "PolyRealServerCertificateIds")
6364	if len(f) > 0 {
6365		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetAuthenticationRequest has unknown keys!", "")
6366	}
6367	return json.Unmarshal([]byte(s), &r)
6368}
6369
6370type SetAuthenticationResponse struct {
6371	*tchttp.BaseResponse
6372	Response *struct {
6373
6374		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
6375		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
6376	} `json:"Response"`
6377}
6378
6379func (r *SetAuthenticationResponse) ToJsonString() string {
6380    b, _ := json.Marshal(r)
6381    return string(b)
6382}
6383
6384// FromJsonString It is highly **NOT** recommended to use this function
6385// because it has no param check, nor strict type check
6386func (r *SetAuthenticationResponse) FromJsonString(s string) error {
6387	return json.Unmarshal([]byte(s), &r)
6388}
6389
6390type StatisticsDataInfo struct {
6391
6392	// 对应的时间点
6393	Time *uint64 `json:"Time,omitempty" name:"Time"`
6394
6395	// 统计数据值
6396	// 注意:此字段可能返回 null,表示取不到有效值。
6397	Data *float64 `json:"Data,omitempty" name:"Data"`
6398}
6399
6400type TCPListener struct {
6401
6402	// 监听器ID
6403	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
6404
6405	// 监听器名称
6406	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
6407
6408	// 监听器端口
6409	Port *uint64 `json:"Port,omitempty" name:"Port"`
6410
6411	// 监听器转发源站端口,仅对版本为1.0的通道有效
6412	// 注意:此字段可能返回 null,表示取不到有效值。
6413	RealServerPort *uint64 `json:"RealServerPort,omitempty" name:"RealServerPort"`
6414
6415	// 监听器绑定源站类型
6416	RealServerType *string `json:"RealServerType,omitempty" name:"RealServerType"`
6417
6418	// 监听器协议, TCP
6419	Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
6420
6421	// 监听器状态,其中:
6422	// 0表示运行中;
6423	// 1表示创建中;
6424	// 2表示销毁中;
6425	// 3表示源站调整中;
6426	// 4表示配置变更中。
6427	ListenerStatus *uint64 `json:"ListenerStatus,omitempty" name:"ListenerStatus"`
6428
6429	// 监听器源站访问策略,其中:
6430	// rr表示轮询;
6431	// wrr表示加权轮询;
6432	// lc表示最小连接数。
6433	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
6434
6435	// 源站健康检查响应超时时间,单位:秒
6436	ConnectTimeout *uint64 `json:"ConnectTimeout,omitempty" name:"ConnectTimeout"`
6437
6438	// 源站健康检查时间间隔,单位:秒
6439	DelayLoop *uint64 `json:"DelayLoop,omitempty" name:"DelayLoop"`
6440
6441	// 监听器是否开启健康检查,其中:
6442	// 0表示关闭;
6443	// 1表示开启
6444	HealthCheck *uint64 `json:"HealthCheck,omitempty" name:"HealthCheck"`
6445
6446	// 监听器绑定的源站状态, 其中:
6447	// 0表示异常;
6448	// 1表示正常。
6449	BindStatus *uint64 `json:"BindStatus,omitempty" name:"BindStatus"`
6450
6451	// 监听器绑定的源站信息
6452	// 注意:此字段可能返回 null,表示取不到有效值。
6453	RealServerSet []*BindRealServer `json:"RealServerSet,omitempty" name:"RealServerSet"`
6454
6455	// 监听器创建时间,Unix时间戳
6456	CreateTime *uint64 `json:"CreateTime,omitempty" name:"CreateTime"`
6457
6458	// 监听器获取客户端 IP 的方式,0表示TOA, 1表示Proxy Protocol
6459	// 注意:此字段可能返回 null,表示取不到有效值。
6460	ClientIPMethod *uint64 `json:"ClientIPMethod,omitempty" name:"ClientIPMethod"`
6461
6462	// 健康阈值,表示连续检查成功多少次后认定源站健康。范围为1到10
6463	// 注意:此字段可能返回 null,表示取不到有效值。
6464	HealthyThreshold *uint64 `json:"HealthyThreshold,omitempty" name:"HealthyThreshold"`
6465
6466	// 不健康阈值,表示连续检查失败多少次数后认为源站不健康。范围为1到10
6467	// 注意:此字段可能返回 null,表示取不到有效值。
6468	UnhealthyThreshold *uint64 `json:"UnhealthyThreshold,omitempty" name:"UnhealthyThreshold"`
6469}
6470
6471type TagPair struct {
6472
6473	// 标签键
6474	TagKey *string `json:"TagKey,omitempty" name:"TagKey"`
6475
6476	// 标签值
6477	TagValue *string `json:"TagValue,omitempty" name:"TagValue"`
6478}
6479
6480type TagResourceInfo struct {
6481
6482	// 资源类型,其中:
6483	// Proxy表示通道,
6484	// ProxyGroup表示通道组,
6485	// RealServer表示源站
6486	ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"`
6487
6488	// 资源ID
6489	ResourceId *string `json:"ResourceId,omitempty" name:"ResourceId"`
6490}
6491
6492type UDPListener struct {
6493
6494	// 监听器ID
6495	ListenerId *string `json:"ListenerId,omitempty" name:"ListenerId"`
6496
6497	// 监听器名称
6498	ListenerName *string `json:"ListenerName,omitempty" name:"ListenerName"`
6499
6500	// 监听器端口
6501	Port *uint64 `json:"Port,omitempty" name:"Port"`
6502
6503	// 监听器转发源站端口,仅V1版本通道或通道组监听器有效
6504	// 注意:此字段可能返回 null,表示取不到有效值。
6505	RealServerPort *uint64 `json:"RealServerPort,omitempty" name:"RealServerPort"`
6506
6507	// 监听器绑定源站类型
6508	RealServerType *string `json:"RealServerType,omitempty" name:"RealServerType"`
6509
6510	// 监听器协议, UDP
6511	Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
6512
6513	// 监听器状态,其中:
6514	// 0表示运行中;
6515	// 1表示创建中;
6516	// 2表示销毁中;
6517	// 3表示源站调整中;
6518	// 4表示配置变更中。
6519	ListenerStatus *uint64 `json:"ListenerStatus,omitempty" name:"ListenerStatus"`
6520
6521	// 监听器源站访问策略
6522	Scheduler *string `json:"Scheduler,omitempty" name:"Scheduler"`
6523
6524	// 监听器绑定源站状态, 0表示正常,1表示IP异常,2表示域名解析异常
6525	BindStatus *uint64 `json:"BindStatus,omitempty" name:"BindStatus"`
6526
6527	// 监听器绑定的源站信息
6528	RealServerSet []*BindRealServer `json:"RealServerSet,omitempty" name:"RealServerSet"`
6529
6530	// 监听器创建时间,Unix时间戳
6531	CreateTime *uint64 `json:"CreateTime,omitempty" name:"CreateTime"`
6532}
6533