tencentcloud-sdk-gwlb 3.0.925

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
+