tencentcloud-sdk-gwlb 3.0.925

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1390 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module TencentCloud
18
+ module Gwlb
19
+ module V20240906
20
+ # AssociateTargetGroups请求参数结构体
21
+ class AssociateTargetGroupsRequest < TencentCloud::Common::AbstractModel
22
+ # @param Associations: 绑定的关系数组。一次请求最多支持20个。
23
+ # @type Associations: Array
24
+
25
+ attr_accessor :Associations
26
+
27
+ def initialize(associations=nil)
28
+ @Associations = associations
29
+ end
30
+
31
+ def deserialize(params)
32
+ unless params['Associations'].nil?
33
+ @Associations = []
34
+ params['Associations'].each do |i|
35
+ targetgroupassociation_tmp = TargetGroupAssociation.new
36
+ targetgroupassociation_tmp.deserialize(i)
37
+ @Associations << targetgroupassociation_tmp
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ # AssociateTargetGroups返回参数结构体
44
+ class AssociateTargetGroupsResponse < TencentCloud::Common::AbstractModel
45
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
46
+ # @type RequestId: String
47
+
48
+ attr_accessor :RequestId
49
+
50
+ def initialize(requestid=nil)
51
+ @RequestId = requestid
52
+ end
53
+
54
+ def deserialize(params)
55
+ @RequestId = params['RequestId']
56
+ end
57
+ end
58
+
59
+ # 目标组关联到的规则
60
+ class AssociationItem < TencentCloud::Common::AbstractModel
61
+ # @param LoadBalancerId: 关联到的负载均衡ID
62
+ # @type LoadBalancerId: String
63
+ # @param LoadBalancerName: 负载均衡名称
64
+ # @type LoadBalancerName: String
65
+
66
+ attr_accessor :LoadBalancerId, :LoadBalancerName
67
+
68
+ def initialize(loadbalancerid=nil, loadbalancername=nil)
69
+ @LoadBalancerId = loadbalancerid
70
+ @LoadBalancerName = loadbalancername
71
+ end
72
+
73
+ def deserialize(params)
74
+ @LoadBalancerId = params['LoadBalancerId']
75
+ @LoadBalancerName = params['LoadBalancerName']
76
+ end
77
+ end
78
+
79
+ # CreateGatewayLoadBalancer请求参数结构体
80
+ class CreateGatewayLoadBalancerRequest < TencentCloud::Common::AbstractModel
81
+ # @param VpcId: 网关负载均衡后端目标设备所属的私有网络 ID,如vpc-12345678,可以通过 DescribeVpcEx 接口获取。 不填此参数则默认为DefaultVPC。创建内网负载均衡实例时,此参数必填。
82
+ # @type VpcId: String
83
+ # @param SubnetId: 网关负载均衡后端目标设备所属的私有网络的子网ID。
84
+ # @type SubnetId: String
85
+ # @param LoadBalancerName: 网关负载均衡实例名称。可支持输入1-60个字符,允许英文字母、数字、中文字符、“-”、“_”、“.”。不填写时默认自动生成。
86
+ # @type LoadBalancerName: String
87
+ # @param Number: 创建网关负载均衡的个数,默认值为 1。批量创建数量最大支持10个。
88
+ # @type Number: Integer
89
+ # @param Tags: 购买网关负载均衡的同时,给负载均衡打上标签,最大支持20个标签键值对。
90
+ # @type Tags: Array
91
+ # @param LBChargeType: 网关负载均衡实例计费类型,当前只支持传POSTPAID_BY_HOUR,默认是POSTPAID_BY_HOUR。
92
+ # @type LBChargeType: String
93
+
94
+ attr_accessor :VpcId, :SubnetId, :LoadBalancerName, :Number, :Tags, :LBChargeType
95
+
96
+ def initialize(vpcid=nil, subnetid=nil, loadbalancername=nil, number=nil, tags=nil, lbchargetype=nil)
97
+ @VpcId = vpcid
98
+ @SubnetId = subnetid
99
+ @LoadBalancerName = loadbalancername
100
+ @Number = number
101
+ @Tags = tags
102
+ @LBChargeType = lbchargetype
103
+ end
104
+
105
+ def deserialize(params)
106
+ @VpcId = params['VpcId']
107
+ @SubnetId = params['SubnetId']
108
+ @LoadBalancerName = params['LoadBalancerName']
109
+ @Number = params['Number']
110
+ unless params['Tags'].nil?
111
+ @Tags = []
112
+ params['Tags'].each do |i|
113
+ taginfo_tmp = TagInfo.new
114
+ taginfo_tmp.deserialize(i)
115
+ @Tags << taginfo_tmp
116
+ end
117
+ end
118
+ @LBChargeType = params['LBChargeType']
119
+ end
120
+ end
121
+
122
+ # CreateGatewayLoadBalancer返回参数结构体
123
+ class CreateGatewayLoadBalancerResponse < TencentCloud::Common::AbstractModel
124
+ # @param LoadBalancerIds: 由网关负载均衡实例唯一 ID 组成的数组。
125
+ # 存在某些场景,如创建出现延迟时,此字段可能返回为空;此时可以根据接口返回的RequestId或DealName参数,通过DescribeTaskStatus接口查询创建的资源ID。
126
+ # 注意:此字段可能返回 null,表示取不到有效值。
127
+ # @type LoadBalancerIds: Array
128
+ # @param DealName: 订单号。
129
+ # 注意:此字段可能返回 null,表示取不到有效值。
130
+ # @type DealName: String
131
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
132
+ # @type RequestId: String
133
+
134
+ attr_accessor :LoadBalancerIds, :DealName, :RequestId
135
+
136
+ def initialize(loadbalancerids=nil, dealname=nil, requestid=nil)
137
+ @LoadBalancerIds = loadbalancerids
138
+ @DealName = dealname
139
+ @RequestId = requestid
140
+ end
141
+
142
+ def deserialize(params)
143
+ @LoadBalancerIds = params['LoadBalancerIds']
144
+ @DealName = params['DealName']
145
+ @RequestId = params['RequestId']
146
+ end
147
+ end
148
+
149
+ # CreateTargetGroup请求参数结构体
150
+ class CreateTargetGroupRequest < TencentCloud::Common::AbstractModel
151
+ # @param TargetGroupName: 目标组名称,限定50个字符
152
+ # @type TargetGroupName: String
153
+ # @param VpcId: 目标组的vpcid属性,不填则使用默认vpc
154
+ # @type VpcId: String
155
+ # @param Port: 目标组的默认端口, 后续添加服务器时可使用该默认端口。Port和TargetGroupInstances.N中的port二者必填其一。
156
+ # @type Port: Integer
157
+ # @param TargetGroupInstances: 目标组绑定的后端服务器
158
+ # @type TargetGroupInstances: Array
159
+ # @param Protocol: 网关负载均衡目标组协议。
160
+ # - AWS_GENEVE:GENEVE 兼容协议
161
+ # - TENCENT_GENEVE :GENEVE 标准协议
162
+ # @type Protocol: String
163
+ # @param HealthCheck: 健康检查。
164
+ # @type HealthCheck: :class:`Tencentcloud::Gwlb.v20240906.models.TargetGroupHealthCheck`
165
+ # @param ScheduleAlgorithm: RS调度算法。
166
+ # - IP_HASH_3_ELASTIC:弹性哈希
167
+ # @type ScheduleAlgorithm: String
168
+ # @param AllDeadToAlive: 是否支持全死全活。默认支持。
169
+ # @type AllDeadToAlive: Boolean
170
+
171
+ attr_accessor :TargetGroupName, :VpcId, :Port, :TargetGroupInstances, :Protocol, :HealthCheck, :ScheduleAlgorithm, :AllDeadToAlive
172
+
173
+ def initialize(targetgroupname=nil, vpcid=nil, port=nil, targetgroupinstances=nil, protocol=nil, healthcheck=nil, schedulealgorithm=nil, alldeadtoalive=nil)
174
+ @TargetGroupName = targetgroupname
175
+ @VpcId = vpcid
176
+ @Port = port
177
+ @TargetGroupInstances = targetgroupinstances
178
+ @Protocol = protocol
179
+ @HealthCheck = healthcheck
180
+ @ScheduleAlgorithm = schedulealgorithm
181
+ @AllDeadToAlive = alldeadtoalive
182
+ end
183
+
184
+ def deserialize(params)
185
+ @TargetGroupName = params['TargetGroupName']
186
+ @VpcId = params['VpcId']
187
+ @Port = params['Port']
188
+ unless params['TargetGroupInstances'].nil?
189
+ @TargetGroupInstances = []
190
+ params['TargetGroupInstances'].each do |i|
191
+ targetgroupinstance_tmp = TargetGroupInstance.new
192
+ targetgroupinstance_tmp.deserialize(i)
193
+ @TargetGroupInstances << targetgroupinstance_tmp
194
+ end
195
+ end
196
+ @Protocol = params['Protocol']
197
+ unless params['HealthCheck'].nil?
198
+ @HealthCheck = TargetGroupHealthCheck.new
199
+ @HealthCheck.deserialize(params['HealthCheck'])
200
+ end
201
+ @ScheduleAlgorithm = params['ScheduleAlgorithm']
202
+ @AllDeadToAlive = params['AllDeadToAlive']
203
+ end
204
+ end
205
+
206
+ # CreateTargetGroup返回参数结构体
207
+ class CreateTargetGroupResponse < TencentCloud::Common::AbstractModel
208
+ # @param TargetGroupId: 创建目标组后生成的id
209
+ # @type TargetGroupId: String
210
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
211
+ # @type RequestId: String
212
+
213
+ attr_accessor :TargetGroupId, :RequestId
214
+
215
+ def initialize(targetgroupid=nil, requestid=nil)
216
+ @TargetGroupId = targetgroupid
217
+ @RequestId = requestid
218
+ end
219
+
220
+ def deserialize(params)
221
+ @TargetGroupId = params['TargetGroupId']
222
+ @RequestId = params['RequestId']
223
+ end
224
+ end
225
+
226
+ # DeleteGatewayLoadBalancer请求参数结构体
227
+ class DeleteGatewayLoadBalancerRequest < TencentCloud::Common::AbstractModel
228
+ # @param LoadBalancerIds: 要删除的网关负载均衡实例 ID数组,数组大小最大支持20。
229
+ # @type LoadBalancerIds: Array
230
+
231
+ attr_accessor :LoadBalancerIds
232
+
233
+ def initialize(loadbalancerids=nil)
234
+ @LoadBalancerIds = loadbalancerids
235
+ end
236
+
237
+ def deserialize(params)
238
+ @LoadBalancerIds = params['LoadBalancerIds']
239
+ end
240
+ end
241
+
242
+ # DeleteGatewayLoadBalancer返回参数结构体
243
+ class DeleteGatewayLoadBalancerResponse < TencentCloud::Common::AbstractModel
244
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
245
+ # @type RequestId: String
246
+
247
+ attr_accessor :RequestId
248
+
249
+ def initialize(requestid=nil)
250
+ @RequestId = requestid
251
+ end
252
+
253
+ def deserialize(params)
254
+ @RequestId = params['RequestId']
255
+ end
256
+ end
257
+
258
+ # DeleteTargetGroups请求参数结构体
259
+ class DeleteTargetGroupsRequest < TencentCloud::Common::AbstractModel
260
+ # @param TargetGroupIds: 目标组列表。
261
+ # @type TargetGroupIds: Array
262
+
263
+ attr_accessor :TargetGroupIds
264
+
265
+ def initialize(targetgroupids=nil)
266
+ @TargetGroupIds = targetgroupids
267
+ end
268
+
269
+ def deserialize(params)
270
+ @TargetGroupIds = params['TargetGroupIds']
271
+ end
272
+ end
273
+
274
+ # DeleteTargetGroups返回参数结构体
275
+ class DeleteTargetGroupsResponse < TencentCloud::Common::AbstractModel
276
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
277
+ # @type RequestId: String
278
+
279
+ attr_accessor :RequestId
280
+
281
+ def initialize(requestid=nil)
282
+ @RequestId = requestid
283
+ end
284
+
285
+ def deserialize(params)
286
+ @RequestId = params['RequestId']
287
+ end
288
+ end
289
+
290
+ # DeregisterTargetGroupInstances请求参数结构体
291
+ class DeregisterTargetGroupInstancesRequest < TencentCloud::Common::AbstractModel
292
+ # @param TargetGroupId: 目标组ID。
293
+ # @type TargetGroupId: String
294
+ # @param TargetGroupInstances: 待解绑的服务器信息。
295
+ # @type TargetGroupInstances: Array
296
+
297
+ attr_accessor :TargetGroupId, :TargetGroupInstances
298
+
299
+ def initialize(targetgroupid=nil, targetgroupinstances=nil)
300
+ @TargetGroupId = targetgroupid
301
+ @TargetGroupInstances = targetgroupinstances
302
+ end
303
+
304
+ def deserialize(params)
305
+ @TargetGroupId = params['TargetGroupId']
306
+ unless params['TargetGroupInstances'].nil?
307
+ @TargetGroupInstances = []
308
+ params['TargetGroupInstances'].each do |i|
309
+ targetgroupinstance_tmp = TargetGroupInstance.new
310
+ targetgroupinstance_tmp.deserialize(i)
311
+ @TargetGroupInstances << targetgroupinstance_tmp
312
+ end
313
+ end
314
+ end
315
+ end
316
+
317
+ # DeregisterTargetGroupInstances返回参数结构体
318
+ class DeregisterTargetGroupInstancesResponse < TencentCloud::Common::AbstractModel
319
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
320
+ # @type RequestId: String
321
+
322
+ attr_accessor :RequestId
323
+
324
+ def initialize(requestid=nil)
325
+ @RequestId = requestid
326
+ end
327
+
328
+ def deserialize(params)
329
+ @RequestId = params['RequestId']
330
+ end
331
+ end
332
+
333
+ # DescribeGatewayLoadBalancers请求参数结构体
334
+ class DescribeGatewayLoadBalancersRequest < TencentCloud::Common::AbstractModel
335
+ # @param LoadBalancerIds: 网关负载均衡实例ID。支持批量筛选的实例ID数量上限为20个。
336
+ # @type LoadBalancerIds: Array
337
+ # @param Limit: 一次批量返回网关负载均衡实例的数量,默认为20,最大值为100。
338
+ # @type Limit: Integer
339
+ # @param Offset: 返回网关负载均衡实例列表的起始偏移量,默认0。
340
+ # @type Offset: Integer
341
+ # @param Filters: 查询负载均衡详细信息列表的过滤条件,每次请求的Filters的上限为10,Filter.Values的上限为100。
342
+ # Filter.Name和Filter.Values皆为必填项。详细的过滤条件如下:
343
+ # - name - String - 是否必填:否 - (过滤条件)按照网关负载均衡实例名称过滤,如“gwlb-xxxx”。
344
+ # - VpcId - String - 是否必填:否 - (过滤条件)按照网关负载均衡实例所属的私有网络过滤,如“vpc-bhqk****”。
345
+ # @type Filters: Array
346
+ # @param SearchKey: 搜索字段,模糊匹配名称、VIP。
347
+ # @type SearchKey: String
348
+
349
+ attr_accessor :LoadBalancerIds, :Limit, :Offset, :Filters, :SearchKey
350
+
351
+ def initialize(loadbalancerids=nil, limit=nil, offset=nil, filters=nil, searchkey=nil)
352
+ @LoadBalancerIds = loadbalancerids
353
+ @Limit = limit
354
+ @Offset = offset
355
+ @Filters = filters
356
+ @SearchKey = searchkey
357
+ end
358
+
359
+ def deserialize(params)
360
+ @LoadBalancerIds = params['LoadBalancerIds']
361
+ @Limit = params['Limit']
362
+ @Offset = params['Offset']
363
+ unless params['Filters'].nil?
364
+ @Filters = []
365
+ params['Filters'].each do |i|
366
+ filter_tmp = Filter.new
367
+ filter_tmp.deserialize(i)
368
+ @Filters << filter_tmp
369
+ end
370
+ end
371
+ @SearchKey = params['SearchKey']
372
+ end
373
+ end
374
+
375
+ # DescribeGatewayLoadBalancers返回参数结构体
376
+ class DescribeGatewayLoadBalancersResponse < TencentCloud::Common::AbstractModel
377
+ # @param TotalCount: 满足过滤条件的负载均衡实例总数。此数值与入参中的Limit无关。
378
+ # @type TotalCount: Integer
379
+ # @param LoadBalancerSet: 返回的网关负载均衡实例数组。
380
+ # @type LoadBalancerSet: Array
381
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
382
+ # @type RequestId: String
383
+
384
+ attr_accessor :TotalCount, :LoadBalancerSet, :RequestId
385
+
386
+ def initialize(totalcount=nil, loadbalancerset=nil, requestid=nil)
387
+ @TotalCount = totalcount
388
+ @LoadBalancerSet = loadbalancerset
389
+ @RequestId = requestid
390
+ end
391
+
392
+ def deserialize(params)
393
+ @TotalCount = params['TotalCount']
394
+ unless params['LoadBalancerSet'].nil?
395
+ @LoadBalancerSet = []
396
+ params['LoadBalancerSet'].each do |i|
397
+ gatewayloadbalancer_tmp = GatewayLoadBalancer.new
398
+ gatewayloadbalancer_tmp.deserialize(i)
399
+ @LoadBalancerSet << gatewayloadbalancer_tmp
400
+ end
401
+ end
402
+ @RequestId = params['RequestId']
403
+ end
404
+ end
405
+
406
+ # DescribeTargetGroupInstanceStatus请求参数结构体
407
+ class DescribeTargetGroupInstanceStatusRequest < TencentCloud::Common::AbstractModel
408
+ # @param TargetGroupId: 目标组唯一id
409
+ # @type TargetGroupId: String
410
+ # @param TargetGroupInstanceIps: 目标组绑定的后端服务ip列表
411
+ # @type TargetGroupInstanceIps: Array
412
+
413
+ attr_accessor :TargetGroupId, :TargetGroupInstanceIps
414
+
415
+ def initialize(targetgroupid=nil, targetgroupinstanceips=nil)
416
+ @TargetGroupId = targetgroupid
417
+ @TargetGroupInstanceIps = targetgroupinstanceips
418
+ end
419
+
420
+ def deserialize(params)
421
+ @TargetGroupId = params['TargetGroupId']
422
+ @TargetGroupInstanceIps = params['TargetGroupInstanceIps']
423
+ end
424
+ end
425
+
426
+ # DescribeTargetGroupInstanceStatus返回参数结构体
427
+ class DescribeTargetGroupInstanceStatusResponse < TencentCloud::Common::AbstractModel
428
+ # @param TargetGroupInstanceSet: 健康检查后端rs状态列表
429
+ # @type TargetGroupInstanceSet: Array
430
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
431
+ # @type RequestId: String
432
+
433
+ attr_accessor :TargetGroupInstanceSet, :RequestId
434
+
435
+ def initialize(targetgroupinstanceset=nil, requestid=nil)
436
+ @TargetGroupInstanceSet = targetgroupinstanceset
437
+ @RequestId = requestid
438
+ end
439
+
440
+ def deserialize(params)
441
+ unless params['TargetGroupInstanceSet'].nil?
442
+ @TargetGroupInstanceSet = []
443
+ params['TargetGroupInstanceSet'].each do |i|
444
+ targetgroupinstancestatus_tmp = TargetGroupInstanceStatus.new
445
+ targetgroupinstancestatus_tmp.deserialize(i)
446
+ @TargetGroupInstanceSet << targetgroupinstancestatus_tmp
447
+ end
448
+ end
449
+ @RequestId = params['RequestId']
450
+ end
451
+ end
452
+
453
+ # DescribeTargetGroupInstances请求参数结构体
454
+ class DescribeTargetGroupInstancesRequest < TencentCloud::Common::AbstractModel
455
+ # @param Filters: 过滤条件,当前仅支持TargetGroupId,BindIP,InstanceId过滤。
456
+ # @type Filters: Array
457
+ # @param Limit: 显示数量限制,默认20。
458
+ # @type Limit: Integer
459
+ # @param Offset: 显示的偏移量,默认为0。
460
+ # @type Offset: Integer
461
+
462
+ attr_accessor :Filters, :Limit, :Offset
463
+
464
+ def initialize(filters=nil, limit=nil, offset=nil)
465
+ @Filters = filters
466
+ @Limit = limit
467
+ @Offset = offset
468
+ end
469
+
470
+ def deserialize(params)
471
+ unless params['Filters'].nil?
472
+ @Filters = []
473
+ params['Filters'].each do |i|
474
+ filter_tmp = Filter.new
475
+ filter_tmp.deserialize(i)
476
+ @Filters << filter_tmp
477
+ end
478
+ end
479
+ @Limit = params['Limit']
480
+ @Offset = params['Offset']
481
+ end
482
+ end
483
+
484
+ # DescribeTargetGroupInstances返回参数结构体
485
+ class DescribeTargetGroupInstancesResponse < TencentCloud::Common::AbstractModel
486
+ # @param TotalCount: 本次查询的结果数量。
487
+ # @type TotalCount: Integer
488
+ # @param TargetGroupInstanceSet: 绑定的服务器信息。
489
+ # @type TargetGroupInstanceSet: Array
490
+ # @param RealCount: 实际统计数量,不受Limit、Offset、CAM的影响。
491
+ # @type RealCount: Integer
492
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
493
+ # @type RequestId: String
494
+
495
+ attr_accessor :TotalCount, :TargetGroupInstanceSet, :RealCount, :RequestId
496
+
497
+ def initialize(totalcount=nil, targetgroupinstanceset=nil, realcount=nil, requestid=nil)
498
+ @TotalCount = totalcount
499
+ @TargetGroupInstanceSet = targetgroupinstanceset
500
+ @RealCount = realcount
501
+ @RequestId = requestid
502
+ end
503
+
504
+ def deserialize(params)
505
+ @TotalCount = params['TotalCount']
506
+ unless params['TargetGroupInstanceSet'].nil?
507
+ @TargetGroupInstanceSet = []
508
+ params['TargetGroupInstanceSet'].each do |i|
509
+ targetgroupbackend_tmp = TargetGroupBackend.new
510
+ targetgroupbackend_tmp.deserialize(i)
511
+ @TargetGroupInstanceSet << targetgroupbackend_tmp
512
+ end
513
+ end
514
+ @RealCount = params['RealCount']
515
+ @RequestId = params['RequestId']
516
+ end
517
+ end
518
+
519
+ # DescribeTargetGroupList请求参数结构体
520
+ class DescribeTargetGroupListRequest < TencentCloud::Common::AbstractModel
521
+ # @param TargetGroupIds: 目标组ID数组。
522
+ # @type TargetGroupIds: Array
523
+ # @param Filters: 过滤条件数组,支持TargetGroupVpcId和TargetGroupName。
524
+ # @type Filters: Array
525
+ # @param Offset: 显示的偏移起始量。
526
+ # @type Offset: Integer
527
+ # @param Limit: 显示条数限制,默认为20。
528
+ # @type Limit: Integer
529
+
530
+ attr_accessor :TargetGroupIds, :Filters, :Offset, :Limit
531
+
532
+ def initialize(targetgroupids=nil, filters=nil, offset=nil, limit=nil)
533
+ @TargetGroupIds = targetgroupids
534
+ @Filters = filters
535
+ @Offset = offset
536
+ @Limit = limit
537
+ end
538
+
539
+ def deserialize(params)
540
+ @TargetGroupIds = params['TargetGroupIds']
541
+ unless params['Filters'].nil?
542
+ @Filters = []
543
+ params['Filters'].each do |i|
544
+ filter_tmp = Filter.new
545
+ filter_tmp.deserialize(i)
546
+ @Filters << filter_tmp
547
+ end
548
+ end
549
+ @Offset = params['Offset']
550
+ @Limit = params['Limit']
551
+ end
552
+ end
553
+
554
+ # DescribeTargetGroupList返回参数结构体
555
+ class DescribeTargetGroupListResponse < TencentCloud::Common::AbstractModel
556
+ # @param TotalCount: 显示的结果数量。
557
+ # @type TotalCount: Integer
558
+ # @param TargetGroupSet: 显示的目标组信息集合。
559
+ # @type TargetGroupSet: Array
560
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
561
+ # @type RequestId: String
562
+
563
+ attr_accessor :TotalCount, :TargetGroupSet, :RequestId
564
+
565
+ def initialize(totalcount=nil, targetgroupset=nil, requestid=nil)
566
+ @TotalCount = totalcount
567
+ @TargetGroupSet = targetgroupset
568
+ @RequestId = requestid
569
+ end
570
+
571
+ def deserialize(params)
572
+ @TotalCount = params['TotalCount']
573
+ unless params['TargetGroupSet'].nil?
574
+ @TargetGroupSet = []
575
+ params['TargetGroupSet'].each do |i|
576
+ targetgroupinfo_tmp = TargetGroupInfo.new
577
+ targetgroupinfo_tmp.deserialize(i)
578
+ @TargetGroupSet << targetgroupinfo_tmp
579
+ end
580
+ end
581
+ @RequestId = params['RequestId']
582
+ end
583
+ end
584
+
585
+ # DescribeTargetGroups请求参数结构体
586
+ class DescribeTargetGroupsRequest < TencentCloud::Common::AbstractModel
587
+ # @param TargetGroupIds: 目标组ID,与Filters互斥。
588
+ # @type TargetGroupIds: Array
589
+ # @param Limit: 显示条数限制,默认为20。
590
+ # @type Limit: Integer
591
+ # @param Offset: 显示的偏移起始量。
592
+ # @type Offset: Integer
593
+ # @param Filters: 过滤条件数组,支持TargetGroupVpcId和TargetGroupName。
594
+ # @type Filters: Array
595
+
596
+ attr_accessor :TargetGroupIds, :Limit, :Offset, :Filters
597
+
598
+ def initialize(targetgroupids=nil, limit=nil, offset=nil, filters=nil)
599
+ @TargetGroupIds = targetgroupids
600
+ @Limit = limit
601
+ @Offset = offset
602
+ @Filters = filters
603
+ end
604
+
605
+ def deserialize(params)
606
+ @TargetGroupIds = params['TargetGroupIds']
607
+ @Limit = params['Limit']
608
+ @Offset = params['Offset']
609
+ unless params['Filters'].nil?
610
+ @Filters = []
611
+ params['Filters'].each do |i|
612
+ filter_tmp = Filter.new
613
+ filter_tmp.deserialize(i)
614
+ @Filters << filter_tmp
615
+ end
616
+ end
617
+ end
618
+ end
619
+
620
+ # DescribeTargetGroups返回参数结构体
621
+ class DescribeTargetGroupsResponse < TencentCloud::Common::AbstractModel
622
+ # @param TotalCount: 显示的结果数量。
623
+ # @type TotalCount: Integer
624
+ # @param TargetGroupSet: 显示的目标组信息集合。
625
+ # @type TargetGroupSet: Array
626
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
627
+ # @type RequestId: String
628
+
629
+ attr_accessor :TotalCount, :TargetGroupSet, :RequestId
630
+
631
+ def initialize(totalcount=nil, targetgroupset=nil, requestid=nil)
632
+ @TotalCount = totalcount
633
+ @TargetGroupSet = targetgroupset
634
+ @RequestId = requestid
635
+ end
636
+
637
+ def deserialize(params)
638
+ @TotalCount = params['TotalCount']
639
+ unless params['TargetGroupSet'].nil?
640
+ @TargetGroupSet = []
641
+ params['TargetGroupSet'].each do |i|
642
+ targetgroupinfo_tmp = TargetGroupInfo.new
643
+ targetgroupinfo_tmp.deserialize(i)
644
+ @TargetGroupSet << targetgroupinfo_tmp
645
+ end
646
+ end
647
+ @RequestId = params['RequestId']
648
+ end
649
+ end
650
+
651
+ # DescribeTaskStatus请求参数结构体
652
+ class DescribeTaskStatusRequest < TencentCloud::Common::AbstractModel
653
+ # @param TaskId: 请求ID,即接口返回的 RequestId 参数。
654
+ # @type TaskId: String
655
+
656
+ attr_accessor :TaskId
657
+
658
+ def initialize(taskid=nil)
659
+ @TaskId = taskid
660
+ end
661
+
662
+ def deserialize(params)
663
+ @TaskId = params['TaskId']
664
+ end
665
+ end
666
+
667
+ # DescribeTaskStatus返回参数结构体
668
+ class DescribeTaskStatusResponse < TencentCloud::Common::AbstractModel
669
+ # @param Status: 任务的当前状态。 0:成功,1:失败,2:进行中。
670
+ # @type Status: Integer
671
+ # @param LoadBalancerIds: 由负载均衡实例唯一 ID 组成的数组。
672
+ # 注意:此字段可能返回 null,表示取不到有效值。
673
+ # @type LoadBalancerIds: Array
674
+ # @param Message: 辅助描述信息,如失败原因等。
675
+ # 注意:此字段可能返回 null,表示取不到有效值。
676
+ # @type Message: String
677
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
678
+ # @type RequestId: String
679
+
680
+ attr_accessor :Status, :LoadBalancerIds, :Message, :RequestId
681
+
682
+ def initialize(status=nil, loadbalancerids=nil, message=nil, requestid=nil)
683
+ @Status = status
684
+ @LoadBalancerIds = loadbalancerids
685
+ @Message = message
686
+ @RequestId = requestid
687
+ end
688
+
689
+ def deserialize(params)
690
+ @Status = params['Status']
691
+ @LoadBalancerIds = params['LoadBalancerIds']
692
+ @Message = params['Message']
693
+ @RequestId = params['RequestId']
694
+ end
695
+ end
696
+
697
+ # DisassociateTargetGroups请求参数结构体
698
+ class DisassociateTargetGroupsRequest < TencentCloud::Common::AbstractModel
699
+ # @param Associations: 待解绑的目标组列表。
700
+ # @type Associations: Array
701
+
702
+ attr_accessor :Associations
703
+
704
+ def initialize(associations=nil)
705
+ @Associations = associations
706
+ end
707
+
708
+ def deserialize(params)
709
+ unless params['Associations'].nil?
710
+ @Associations = []
711
+ params['Associations'].each do |i|
712
+ targetgroupassociation_tmp = TargetGroupAssociation.new
713
+ targetgroupassociation_tmp.deserialize(i)
714
+ @Associations << targetgroupassociation_tmp
715
+ end
716
+ end
717
+ end
718
+ end
719
+
720
+ # DisassociateTargetGroups返回参数结构体
721
+ class DisassociateTargetGroupsResponse < TencentCloud::Common::AbstractModel
722
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
723
+ # @type RequestId: String
724
+
725
+ attr_accessor :RequestId
726
+
727
+ def initialize(requestid=nil)
728
+ @RequestId = requestid
729
+ end
730
+
731
+ def deserialize(params)
732
+ @RequestId = params['RequestId']
733
+ end
734
+ end
735
+
736
+ # 过滤器条件
737
+ class Filter < TencentCloud::Common::AbstractModel
738
+ # @param Name: 过滤器的名称
739
+ # @type Name: String
740
+ # @param Values: 过滤器的值数组
741
+ # @type Values: Array
742
+
743
+ attr_accessor :Name, :Values
744
+
745
+ def initialize(name=nil, values=nil)
746
+ @Name = name
747
+ @Values = values
748
+ end
749
+
750
+ def deserialize(params)
751
+ @Name = params['Name']
752
+ @Values = params['Values']
753
+ end
754
+ end
755
+
756
+ # 网关负载均衡实例的信息
757
+ class GatewayLoadBalancer < TencentCloud::Common::AbstractModel
758
+ # @param LoadBalancerId: 网关负载均衡实例 ID。
759
+ # @type LoadBalancerId: String
760
+ # @param LoadBalancerName: 网关负载均衡实例的名称。
761
+ # @type LoadBalancerName: String
762
+ # @param VpcId: 网关负载均衡所属私有网络。
763
+ # 注意:此字段可能返回 null,表示取不到有效值。
764
+ # @type VpcId: String
765
+ # @param SubnetId: 网关负载均衡所属子网。
766
+ # @type SubnetId: String
767
+ # @param Vips: 网关负载均衡提供服务的虚拟IP。
768
+ # @type Vips: Array
769
+ # @param Status: 网关负载均衡实例状态。
770
+ # 0:创建中,1:正常运行,3:删除中。
771
+ # @type Status: Integer
772
+ # @param TargetGroupId: 关联的目标组唯一ID。
773
+ # 注意:此字段可能返回 null,表示取不到有效值。
774
+ # @type TargetGroupId: String
775
+ # @param DeleteProtect: 是否开启删除保护功能。
776
+ # 注意:此字段可能返回 null,表示取不到有效值。
777
+ # @type DeleteProtect: Boolean
778
+ # @param Tags: 负载均衡实例的标签信息。
779
+ # 注意:此字段可能返回 null,表示取不到有效值。
780
+ # @type Tags: Array
781
+ # @param CreateTime: 创建时间。
782
+ # @type CreateTime: String
783
+ # @param ChargeType: 网关负载均衡实例的计费类型,POSTPAID_BY_HOUR:按量计费
784
+ # 注意:此字段可能返回 null,表示取不到有效值。
785
+ # @type ChargeType: String
786
+ # @param Isolation: 0:表示未被隔离,1:表示被隔离。
787
+ # 注意:此字段可能返回 null,表示取不到有效值。
788
+ # @type Isolation: Integer
789
+ # @param IsolatedTime: 负载均衡实例被隔离的时间
790
+ # 注意:此字段可能返回 null,表示取不到有效值。
791
+ # @type IsolatedTime: String
792
+
793
+ attr_accessor :LoadBalancerId, :LoadBalancerName, :VpcId, :SubnetId, :Vips, :Status, :TargetGroupId, :DeleteProtect, :Tags, :CreateTime, :ChargeType, :Isolation, :IsolatedTime
794
+
795
+ def initialize(loadbalancerid=nil, loadbalancername=nil, vpcid=nil, subnetid=nil, vips=nil, status=nil, targetgroupid=nil, deleteprotect=nil, tags=nil, createtime=nil, chargetype=nil, isolation=nil, isolatedtime=nil)
796
+ @LoadBalancerId = loadbalancerid
797
+ @LoadBalancerName = loadbalancername
798
+ @VpcId = vpcid
799
+ @SubnetId = subnetid
800
+ @Vips = vips
801
+ @Status = status
802
+ @TargetGroupId = targetgroupid
803
+ @DeleteProtect = deleteprotect
804
+ @Tags = tags
805
+ @CreateTime = createtime
806
+ @ChargeType = chargetype
807
+ @Isolation = isolation
808
+ @IsolatedTime = isolatedtime
809
+ end
810
+
811
+ def deserialize(params)
812
+ @LoadBalancerId = params['LoadBalancerId']
813
+ @LoadBalancerName = params['LoadBalancerName']
814
+ @VpcId = params['VpcId']
815
+ @SubnetId = params['SubnetId']
816
+ @Vips = params['Vips']
817
+ @Status = params['Status']
818
+ @TargetGroupId = params['TargetGroupId']
819
+ @DeleteProtect = params['DeleteProtect']
820
+ unless params['Tags'].nil?
821
+ @Tags = []
822
+ params['Tags'].each do |i|
823
+ taginfo_tmp = TagInfo.new
824
+ taginfo_tmp.deserialize(i)
825
+ @Tags << taginfo_tmp
826
+ end
827
+ end
828
+ @CreateTime = params['CreateTime']
829
+ @ChargeType = params['ChargeType']
830
+ @Isolation = params['Isolation']
831
+ @IsolatedTime = params['IsolatedTime']
832
+ end
833
+ end
834
+
835
+ # InquirePriceCreateGatewayLoadBalancer请求参数结构体
836
+ class InquirePriceCreateGatewayLoadBalancerRequest < TencentCloud::Common::AbstractModel
837
+ # @param GoodsNum: 询价的网关负载均衡实例个数,默认为1
838
+ # @type GoodsNum: Integer
839
+
840
+ attr_accessor :GoodsNum
841
+
842
+ def initialize(goodsnum=nil)
843
+ @GoodsNum = goodsnum
844
+ end
845
+
846
+ def deserialize(params)
847
+ @GoodsNum = params['GoodsNum']
848
+ end
849
+ end
850
+
851
+ # InquirePriceCreateGatewayLoadBalancer返回参数结构体
852
+ class InquirePriceCreateGatewayLoadBalancerResponse < TencentCloud::Common::AbstractModel
853
+ # @param Price: 该参数表示对应的价格。
854
+ # @type Price: :class:`Tencentcloud::Gwlb.v20240906.models.Price`
855
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
856
+ # @type RequestId: String
857
+
858
+ attr_accessor :Price, :RequestId
859
+
860
+ def initialize(price=nil, requestid=nil)
861
+ @Price = price
862
+ @RequestId = requestid
863
+ end
864
+
865
+ def deserialize(params)
866
+ unless params['Price'].nil?
867
+ @Price = Price.new
868
+ @Price.deserialize(params['Price'])
869
+ end
870
+ @RequestId = params['RequestId']
871
+ end
872
+ end
873
+
874
+ # 描述了单项的价格信息
875
+ class ItemPrice < TencentCloud::Common::AbstractModel
876
+ # @param UnitPrice: 后付费单价,单位:元。
877
+ # 注意:此字段可能返回 null,表示取不到有效值。
878
+ # @type UnitPrice: Float
879
+ # @param ChargeUnit: 后付费计价单元,可取值范围: HOUR:表示计价单元是按每小时来计算。当前涉及该计价单元的场景有:实例按小时后付费(POSTPAID_BY_HOUR)。
880
+ # 注意:此字段可能返回 null,表示取不到有效值。
881
+ # @type ChargeUnit: String
882
+ # @param OriginalPrice: 预支费用的原价,单位:元。
883
+ # 注意:此字段可能返回 null,表示取不到有效值。
884
+ # @type OriginalPrice: Float
885
+ # @param DiscountPrice: 预支费用的折扣价,单位:元。
886
+ # 注意:此字段可能返回 null,表示取不到有效值。
887
+ # @type DiscountPrice: Float
888
+ # @param UnitPriceDiscount: 后付费的折扣单价,单位:元。
889
+ # 注意:此字段可能返回 null,表示取不到有效值。
890
+ # @type UnitPriceDiscount: Float
891
+ # @param Discount: 折扣,如20.0代表2折。
892
+ # 注意:此字段可能返回 null,表示取不到有效值。
893
+ # @type Discount: Float
894
+
895
+ attr_accessor :UnitPrice, :ChargeUnit, :OriginalPrice, :DiscountPrice, :UnitPriceDiscount, :Discount
896
+
897
+ def initialize(unitprice=nil, chargeunit=nil, originalprice=nil, discountprice=nil, unitpricediscount=nil, discount=nil)
898
+ @UnitPrice = unitprice
899
+ @ChargeUnit = chargeunit
900
+ @OriginalPrice = originalprice
901
+ @DiscountPrice = discountprice
902
+ @UnitPriceDiscount = unitpricediscount
903
+ @Discount = discount
904
+ end
905
+
906
+ def deserialize(params)
907
+ @UnitPrice = params['UnitPrice']
908
+ @ChargeUnit = params['ChargeUnit']
909
+ @OriginalPrice = params['OriginalPrice']
910
+ @DiscountPrice = params['DiscountPrice']
911
+ @UnitPriceDiscount = params['UnitPriceDiscount']
912
+ @Discount = params['Discount']
913
+ end
914
+ end
915
+
916
+ # ModifyGatewayLoadBalancerAttribute请求参数结构体
917
+ class ModifyGatewayLoadBalancerAttributeRequest < TencentCloud::Common::AbstractModel
918
+ # @param LoadBalancerId: 网关负载均衡的唯一ID。
919
+ # @type LoadBalancerId: String
920
+ # @param LoadBalancerName: 网关负载均衡名称。
921
+ # @type LoadBalancerName: String
922
+
923
+ attr_accessor :LoadBalancerId, :LoadBalancerName
924
+
925
+ def initialize(loadbalancerid=nil, loadbalancername=nil)
926
+ @LoadBalancerId = loadbalancerid
927
+ @LoadBalancerName = loadbalancername
928
+ end
929
+
930
+ def deserialize(params)
931
+ @LoadBalancerId = params['LoadBalancerId']
932
+ @LoadBalancerName = params['LoadBalancerName']
933
+ end
934
+ end
935
+
936
+ # ModifyGatewayLoadBalancerAttribute返回参数结构体
937
+ class ModifyGatewayLoadBalancerAttributeResponse < TencentCloud::Common::AbstractModel
938
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
939
+ # @type RequestId: String
940
+
941
+ attr_accessor :RequestId
942
+
943
+ def initialize(requestid=nil)
944
+ @RequestId = requestid
945
+ end
946
+
947
+ def deserialize(params)
948
+ @RequestId = params['RequestId']
949
+ end
950
+ end
951
+
952
+ # ModifyTargetGroupAttribute请求参数结构体
953
+ class ModifyTargetGroupAttributeRequest < TencentCloud::Common::AbstractModel
954
+ # @param TargetGroupId: 目标组的ID。
955
+ # @type TargetGroupId: String
956
+ # @param TargetGroupName: 目标组的新名称。
957
+ # @type TargetGroupName: String
958
+ # @param HealthCheck: 健康检查详情。
959
+ # @type HealthCheck: :class:`Tencentcloud::Gwlb.v20240906.models.TargetGroupHealthCheck`
960
+ # @param AllDeadToAlive: 是否支持全死全活。
961
+ # @type AllDeadToAlive: Boolean
962
+
963
+ attr_accessor :TargetGroupId, :TargetGroupName, :HealthCheck, :AllDeadToAlive
964
+
965
+ def initialize(targetgroupid=nil, targetgroupname=nil, healthcheck=nil, alldeadtoalive=nil)
966
+ @TargetGroupId = targetgroupid
967
+ @TargetGroupName = targetgroupname
968
+ @HealthCheck = healthcheck
969
+ @AllDeadToAlive = alldeadtoalive
970
+ end
971
+
972
+ def deserialize(params)
973
+ @TargetGroupId = params['TargetGroupId']
974
+ @TargetGroupName = params['TargetGroupName']
975
+ unless params['HealthCheck'].nil?
976
+ @HealthCheck = TargetGroupHealthCheck.new
977
+ @HealthCheck.deserialize(params['HealthCheck'])
978
+ end
979
+ @AllDeadToAlive = params['AllDeadToAlive']
980
+ end
981
+ end
982
+
983
+ # ModifyTargetGroupAttribute返回参数结构体
984
+ class ModifyTargetGroupAttributeResponse < TencentCloud::Common::AbstractModel
985
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
986
+ # @type RequestId: String
987
+
988
+ attr_accessor :RequestId
989
+
990
+ def initialize(requestid=nil)
991
+ @RequestId = requestid
992
+ end
993
+
994
+ def deserialize(params)
995
+ @RequestId = params['RequestId']
996
+ end
997
+ end
998
+
999
+ # ModifyTargetGroupInstancesWeight请求参数结构体
1000
+ class ModifyTargetGroupInstancesWeightRequest < TencentCloud::Common::AbstractModel
1001
+ # @param TargetGroupId: 目标组ID。
1002
+ # @type TargetGroupId: String
1003
+ # @param TargetGroupInstances: 待修改权重的服务器数组。
1004
+ # @type TargetGroupInstances: Array
1005
+
1006
+ attr_accessor :TargetGroupId, :TargetGroupInstances
1007
+
1008
+ def initialize(targetgroupid=nil, targetgroupinstances=nil)
1009
+ @TargetGroupId = targetgroupid
1010
+ @TargetGroupInstances = targetgroupinstances
1011
+ end
1012
+
1013
+ def deserialize(params)
1014
+ @TargetGroupId = params['TargetGroupId']
1015
+ unless params['TargetGroupInstances'].nil?
1016
+ @TargetGroupInstances = []
1017
+ params['TargetGroupInstances'].each do |i|
1018
+ targetgroupinstance_tmp = TargetGroupInstance.new
1019
+ targetgroupinstance_tmp.deserialize(i)
1020
+ @TargetGroupInstances << targetgroupinstance_tmp
1021
+ end
1022
+ end
1023
+ end
1024
+ end
1025
+
1026
+ # ModifyTargetGroupInstancesWeight返回参数结构体
1027
+ class ModifyTargetGroupInstancesWeightResponse < TencentCloud::Common::AbstractModel
1028
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1029
+ # @type RequestId: String
1030
+
1031
+ attr_accessor :RequestId
1032
+
1033
+ def initialize(requestid=nil)
1034
+ @RequestId = requestid
1035
+ end
1036
+
1037
+ def deserialize(params)
1038
+ @RequestId = params['RequestId']
1039
+ end
1040
+ end
1041
+
1042
+ # 表示网关负载均衡的价格
1043
+ class Price < TencentCloud::Common::AbstractModel
1044
+ # @param InstancePrice: 描述了实例价格。
1045
+ # 注意:此字段可能返回 null,表示取不到有效值。
1046
+ # @type InstancePrice: :class:`Tencentcloud::Gwlb.v20240906.models.ItemPrice`
1047
+ # @param LcuPrice: 描述了实例价格。
1048
+ # 注意:此字段可能返回 null,表示取不到有效值。
1049
+ # @type LcuPrice: :class:`Tencentcloud::Gwlb.v20240906.models.ItemPrice`
1050
+
1051
+ attr_accessor :InstancePrice, :LcuPrice
1052
+
1053
+ def initialize(instanceprice=nil, lcuprice=nil)
1054
+ @InstancePrice = instanceprice
1055
+ @LcuPrice = lcuprice
1056
+ end
1057
+
1058
+ def deserialize(params)
1059
+ unless params['InstancePrice'].nil?
1060
+ @InstancePrice = ItemPrice.new
1061
+ @InstancePrice.deserialize(params['InstancePrice'])
1062
+ end
1063
+ unless params['LcuPrice'].nil?
1064
+ @LcuPrice = ItemPrice.new
1065
+ @LcuPrice.deserialize(params['LcuPrice'])
1066
+ end
1067
+ end
1068
+ end
1069
+
1070
+ # RegisterTargetGroupInstances请求参数结构体
1071
+ class RegisterTargetGroupInstancesRequest < TencentCloud::Common::AbstractModel
1072
+ # @param TargetGroupId: 目标组ID
1073
+ # @type TargetGroupId: String
1074
+ # @param TargetGroupInstances: 服务器实例数组
1075
+ # @type TargetGroupInstances: Array
1076
+
1077
+ attr_accessor :TargetGroupId, :TargetGroupInstances
1078
+
1079
+ def initialize(targetgroupid=nil, targetgroupinstances=nil)
1080
+ @TargetGroupId = targetgroupid
1081
+ @TargetGroupInstances = targetgroupinstances
1082
+ end
1083
+
1084
+ def deserialize(params)
1085
+ @TargetGroupId = params['TargetGroupId']
1086
+ unless params['TargetGroupInstances'].nil?
1087
+ @TargetGroupInstances = []
1088
+ params['TargetGroupInstances'].each do |i|
1089
+ targetgroupinstance_tmp = TargetGroupInstance.new
1090
+ targetgroupinstance_tmp.deserialize(i)
1091
+ @TargetGroupInstances << targetgroupinstance_tmp
1092
+ end
1093
+ end
1094
+ end
1095
+ end
1096
+
1097
+ # RegisterTargetGroupInstances返回参数结构体
1098
+ class RegisterTargetGroupInstancesResponse < TencentCloud::Common::AbstractModel
1099
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1100
+ # @type RequestId: String
1101
+
1102
+ attr_accessor :RequestId
1103
+
1104
+ def initialize(requestid=nil)
1105
+ @RequestId = requestid
1106
+ end
1107
+
1108
+ def deserialize(params)
1109
+ @RequestId = params['RequestId']
1110
+ end
1111
+ end
1112
+
1113
+ # 网关负载均衡的标签信息
1114
+ class TagInfo < TencentCloud::Common::AbstractModel
1115
+ # @param TagKey: 标签的键
1116
+ # @type TagKey: String
1117
+ # @param TagValue: 标签的值
1118
+ # @type TagValue: String
1119
+
1120
+ attr_accessor :TagKey, :TagValue
1121
+
1122
+ def initialize(tagkey=nil, tagvalue=nil)
1123
+ @TagKey = tagkey
1124
+ @TagValue = tagvalue
1125
+ end
1126
+
1127
+ def deserialize(params)
1128
+ @TagKey = params['TagKey']
1129
+ @TagValue = params['TagValue']
1130
+ end
1131
+ end
1132
+
1133
+ # 规则与目标组的关联关系。
1134
+ class TargetGroupAssociation < TencentCloud::Common::AbstractModel
1135
+ # @param LoadBalancerId: 负载均衡ID。
1136
+ # @type LoadBalancerId: String
1137
+ # @param TargetGroupId: 目标组ID。
1138
+ # @type TargetGroupId: String
1139
+
1140
+ attr_accessor :LoadBalancerId, :TargetGroupId
1141
+
1142
+ def initialize(loadbalancerid=nil, targetgroupid=nil)
1143
+ @LoadBalancerId = loadbalancerid
1144
+ @TargetGroupId = targetgroupid
1145
+ end
1146
+
1147
+ def deserialize(params)
1148
+ @LoadBalancerId = params['LoadBalancerId']
1149
+ @TargetGroupId = params['TargetGroupId']
1150
+ end
1151
+ end
1152
+
1153
+ # 目标组绑定的后端服务器
1154
+ class TargetGroupBackend < TencentCloud::Common::AbstractModel
1155
+ # @param TargetGroupId: 目标组ID
1156
+ # @type TargetGroupId: String
1157
+ # @param Type: 后端服务的类型,可取:CVM、ENI(即将支持)
1158
+ # @type Type: String
1159
+ # @param InstanceId: 后端服务的唯一 ID
1160
+ # @type InstanceId: String
1161
+ # @param Port: 后端服务的监听端口
1162
+ # @type Port: Integer
1163
+ # @param Weight: 后端服务的转发权重,取值范围:[0, 100],默认为 10。
1164
+ # @type Weight: Integer
1165
+ # @param PublicIpAddresses: 后端服务的外网 IP
1166
+ # 注意:此字段可能返回 null,表示取不到有效值。
1167
+ # @type PublicIpAddresses: Array
1168
+ # @param PrivateIpAddresses: 后端服务的内网 IP
1169
+ # 注意:此字段可能返回 null,表示取不到有效值。
1170
+ # @type PrivateIpAddresses: Array
1171
+ # @param InstanceName: 后端服务的实例名称
1172
+ # 注意:此字段可能返回 null,表示取不到有效值。
1173
+ # @type InstanceName: String
1174
+ # @param RegisteredTime: 后端服务被绑定的时间
1175
+ # 注意:此字段可能返回 null,表示取不到有效值。
1176
+ # @type RegisteredTime: String
1177
+ # @param EniId: 弹性网卡唯一ID
1178
+ # 注意:此字段可能返回 null,表示取不到有效值。
1179
+ # @type EniId: String
1180
+ # @param ZoneId: 后端服务的可用区ID
1181
+ # 注意:此字段可能返回 null,表示取不到有效值。
1182
+ # @type ZoneId: Integer
1183
+
1184
+ attr_accessor :TargetGroupId, :Type, :InstanceId, :Port, :Weight, :PublicIpAddresses, :PrivateIpAddresses, :InstanceName, :RegisteredTime, :EniId, :ZoneId
1185
+
1186
+ def initialize(targetgroupid=nil, type=nil, instanceid=nil, port=nil, weight=nil, publicipaddresses=nil, privateipaddresses=nil, instancename=nil, registeredtime=nil, eniid=nil, zoneid=nil)
1187
+ @TargetGroupId = targetgroupid
1188
+ @Type = type
1189
+ @InstanceId = instanceid
1190
+ @Port = port
1191
+ @Weight = weight
1192
+ @PublicIpAddresses = publicipaddresses
1193
+ @PrivateIpAddresses = privateipaddresses
1194
+ @InstanceName = instancename
1195
+ @RegisteredTime = registeredtime
1196
+ @EniId = eniid
1197
+ @ZoneId = zoneid
1198
+ end
1199
+
1200
+ def deserialize(params)
1201
+ @TargetGroupId = params['TargetGroupId']
1202
+ @Type = params['Type']
1203
+ @InstanceId = params['InstanceId']
1204
+ @Port = params['Port']
1205
+ @Weight = params['Weight']
1206
+ @PublicIpAddresses = params['PublicIpAddresses']
1207
+ @PrivateIpAddresses = params['PrivateIpAddresses']
1208
+ @InstanceName = params['InstanceName']
1209
+ @RegisteredTime = params['RegisteredTime']
1210
+ @EniId = params['EniId']
1211
+ @ZoneId = params['ZoneId']
1212
+ end
1213
+ end
1214
+
1215
+ # 目标组健康检查详情
1216
+ class TargetGroupHealthCheck < TencentCloud::Common::AbstractModel
1217
+ # @param HealthSwitch: 是否开启健康检查。
1218
+ # @type HealthSwitch: Boolean
1219
+ # @param Protocol: 健康检查使用的协议。支持icmp和tcp,默认为icmp。
1220
+ # @type Protocol: String
1221
+ # @param Port: 健康检查端口,探测协议未tcp时,该参数必填。
1222
+ # @type Port: Integer
1223
+ # @param Timeout: 健康检查超时时间。 默认为2秒。 可配置范围:2 - 30秒。
1224
+ # @type Timeout: Integer
1225
+ # @param IntervalTime: 检测间隔时间。 默认为5秒。 可配置范围:2 - 300秒。
1226
+ # @type IntervalTime: Integer
1227
+ # @param HealthNum: 检测健康阈值。 默认为3秒。 可配置范围:2 - 10次。
1228
+ # @type HealthNum: Integer
1229
+ # @param UnHealthNum: 检测不健康阈值。 默认为3秒。 可配置范围:2 - 10次。
1230
+ # @type UnHealthNum: Integer
1231
+
1232
+ attr_accessor :HealthSwitch, :Protocol, :Port, :Timeout, :IntervalTime, :HealthNum, :UnHealthNum
1233
+
1234
+ def initialize(healthswitch=nil, protocol=nil, port=nil, timeout=nil, intervaltime=nil, healthnum=nil, unhealthnum=nil)
1235
+ @HealthSwitch = healthswitch
1236
+ @Protocol = protocol
1237
+ @Port = port
1238
+ @Timeout = timeout
1239
+ @IntervalTime = intervaltime
1240
+ @HealthNum = healthnum
1241
+ @UnHealthNum = unhealthnum
1242
+ end
1243
+
1244
+ def deserialize(params)
1245
+ @HealthSwitch = params['HealthSwitch']
1246
+ @Protocol = params['Protocol']
1247
+ @Port = params['Port']
1248
+ @Timeout = params['Timeout']
1249
+ @IntervalTime = params['IntervalTime']
1250
+ @HealthNum = params['HealthNum']
1251
+ @UnHealthNum = params['UnHealthNum']
1252
+ end
1253
+ end
1254
+
1255
+ # 目标组信息
1256
+ class TargetGroupInfo < TencentCloud::Common::AbstractModel
1257
+ # @param TargetGroupId: 目标组ID
1258
+ # @type TargetGroupId: String
1259
+ # @param VpcId: 目标组的vpcid
1260
+ # @type VpcId: String
1261
+ # @param TargetGroupName: 目标组的名字
1262
+ # @type TargetGroupName: String
1263
+ # @param Port: 目标组的默认端口
1264
+ # 注意:此字段可能返回 null,表示取不到有效值。
1265
+ # @type Port: Integer
1266
+ # @param CreatedTime: 目标组的创建时间
1267
+ # @type CreatedTime: String
1268
+ # @param UpdatedTime: 目标组的修改时间
1269
+ # @type UpdatedTime: String
1270
+ # @param AssociatedRule: 关联到的规则数组。在DescribeTargetGroupList接口调用时无法获取到该参数。
1271
+ # 注意:此字段可能返回 null,表示取不到有效值。
1272
+ # @type AssociatedRule: Array
1273
+ # @param Protocol: 后端协议类型。
1274
+ # 注意:此字段可能返回 null,表示取不到有效值。
1275
+ # @type Protocol: String
1276
+ # @param ScheduleAlgorithm: 调度算法。
1277
+ # ip_hash_3:3元组对称弹性Hash
1278
+ # ip_hash_3_consistent:3元组对称一致性Hash
1279
+ # 注意:此字段可能返回 null,表示取不到有效值。
1280
+ # @type ScheduleAlgorithm: String
1281
+ # @param HealthCheck: 健康检查详情。
1282
+ # 注意:此字段可能返回 null,表示取不到有效值。
1283
+ # @type HealthCheck: :class:`Tencentcloud::Gwlb.v20240906.models.TargetGroupHealthCheck`
1284
+ # @param AllDeadToAlive: 是否支持全死全活。
1285
+ # 注意:此字段可能返回 null,表示取不到有效值。
1286
+ # @type AllDeadToAlive: Boolean
1287
+ # @param AssociatedRuleCount: 目标组已关联的规则数。
1288
+ # 注意:此字段可能返回 null,表示取不到有效值。
1289
+ # @type AssociatedRuleCount: Integer
1290
+ # @param RegisteredInstancesCount: 目标组内的实例数量。
1291
+ # 注意:此字段可能返回 null,表示取不到有效值。
1292
+ # @type RegisteredInstancesCount: Integer
1293
+
1294
+ attr_accessor :TargetGroupId, :VpcId, :TargetGroupName, :Port, :CreatedTime, :UpdatedTime, :AssociatedRule, :Protocol, :ScheduleAlgorithm, :HealthCheck, :AllDeadToAlive, :AssociatedRuleCount, :RegisteredInstancesCount
1295
+
1296
+ def initialize(targetgroupid=nil, vpcid=nil, targetgroupname=nil, port=nil, createdtime=nil, updatedtime=nil, associatedrule=nil, protocol=nil, schedulealgorithm=nil, healthcheck=nil, alldeadtoalive=nil, associatedrulecount=nil, registeredinstancescount=nil)
1297
+ @TargetGroupId = targetgroupid
1298
+ @VpcId = vpcid
1299
+ @TargetGroupName = targetgroupname
1300
+ @Port = port
1301
+ @CreatedTime = createdtime
1302
+ @UpdatedTime = updatedtime
1303
+ @AssociatedRule = associatedrule
1304
+ @Protocol = protocol
1305
+ @ScheduleAlgorithm = schedulealgorithm
1306
+ @HealthCheck = healthcheck
1307
+ @AllDeadToAlive = alldeadtoalive
1308
+ @AssociatedRuleCount = associatedrulecount
1309
+ @RegisteredInstancesCount = registeredinstancescount
1310
+ end
1311
+
1312
+ def deserialize(params)
1313
+ @TargetGroupId = params['TargetGroupId']
1314
+ @VpcId = params['VpcId']
1315
+ @TargetGroupName = params['TargetGroupName']
1316
+ @Port = params['Port']
1317
+ @CreatedTime = params['CreatedTime']
1318
+ @UpdatedTime = params['UpdatedTime']
1319
+ unless params['AssociatedRule'].nil?
1320
+ @AssociatedRule = []
1321
+ params['AssociatedRule'].each do |i|
1322
+ associationitem_tmp = AssociationItem.new
1323
+ associationitem_tmp.deserialize(i)
1324
+ @AssociatedRule << associationitem_tmp
1325
+ end
1326
+ end
1327
+ @Protocol = params['Protocol']
1328
+ @ScheduleAlgorithm = params['ScheduleAlgorithm']
1329
+ unless params['HealthCheck'].nil?
1330
+ @HealthCheck = TargetGroupHealthCheck.new
1331
+ @HealthCheck.deserialize(params['HealthCheck'])
1332
+ end
1333
+ @AllDeadToAlive = params['AllDeadToAlive']
1334
+ @AssociatedRuleCount = params['AssociatedRuleCount']
1335
+ @RegisteredInstancesCount = params['RegisteredInstancesCount']
1336
+ end
1337
+ end
1338
+
1339
+ # 目标组实例
1340
+ class TargetGroupInstance < TencentCloud::Common::AbstractModel
1341
+ # @param BindIP: 目标组实例的内网IP。
1342
+ # @type BindIP: String
1343
+ # @param Port: 目标组实例的端口,只支持6081。
1344
+ # @type Port: Integer
1345
+ # @param Weight: 目标组实例的权重,只支持0或16,非0统一按16处理。
1346
+ # @type Weight: Integer
1347
+
1348
+ attr_accessor :BindIP, :Port, :Weight
1349
+
1350
+ def initialize(bindip=nil, port=nil, weight=nil)
1351
+ @BindIP = bindip
1352
+ @Port = port
1353
+ @Weight = weight
1354
+ end
1355
+
1356
+ def deserialize(params)
1357
+ @BindIP = params['BindIP']
1358
+ @Port = params['Port']
1359
+ @Weight = params['Weight']
1360
+ end
1361
+ end
1362
+
1363
+ # 用于目标组后端rs健康检查状态。
1364
+ class TargetGroupInstanceStatus < TencentCloud::Common::AbstractModel
1365
+ # @param InstanceIp: 后端rs的IP
1366
+ # @type InstanceIp: String
1367
+ # @param Status: 健康检查状态,参数值及含义如下:
1368
+ # ● on:表示探测中。
1369
+ # ● off:表示健康检查关闭。
1370
+ # ● health:表示健康。
1371
+ # ● unhealth:表示异常。
1372
+ # @type Status: String
1373
+
1374
+ attr_accessor :InstanceIp, :Status
1375
+
1376
+ def initialize(instanceip=nil, status=nil)
1377
+ @InstanceIp = instanceip
1378
+ @Status = status
1379
+ end
1380
+
1381
+ def deserialize(params)
1382
+ @InstanceIp = params['InstanceIp']
1383
+ @Status = params['Status']
1384
+ end
1385
+ end
1386
+
1387
+ end
1388
+ end
1389
+ end
1390
+