tencentcloud-sdk-waf 1.0.296 → 1.0.299

Sign up to get free protection for your applications and to get access to all the features.
@@ -382,6 +382,221 @@ module TencentCloud
382
382
  end
383
383
  end
384
384
 
385
+ # AddDomainWhiteRule请求参数结构体
386
+ class AddDomainWhiteRuleRequest < TencentCloud::Common::AbstractModel
387
+ # @param Domain: 需要添加的域名
388
+ # @type Domain: String
389
+ # @param Rules: 需要添加的规则
390
+ # @type Rules: Array
391
+ # @param Url: 需要添加的规则url
392
+ # @type Url: String
393
+ # @param Function: 规则的方法
394
+ # @type Function: String
395
+ # @param Status: 规则的开关
396
+ # @type Status: Integer
397
+
398
+ attr_accessor :Domain, :Rules, :Url, :Function, :Status
399
+
400
+ def initialize(domain=nil, rules=nil, url=nil, function=nil, status=nil)
401
+ @Domain = domain
402
+ @Rules = rules
403
+ @Url = url
404
+ @Function = function
405
+ @Status = status
406
+ end
407
+
408
+ def deserialize(params)
409
+ @Domain = params['Domain']
410
+ @Rules = params['Rules']
411
+ @Url = params['Url']
412
+ @Function = params['Function']
413
+ @Status = params['Status']
414
+ end
415
+ end
416
+
417
+ # AddDomainWhiteRule返回参数结构体
418
+ class AddDomainWhiteRuleResponse < TencentCloud::Common::AbstractModel
419
+ # @param Id: 规则id
420
+ # @type Id: Integer
421
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
422
+ # @type RequestId: String
423
+
424
+ attr_accessor :Id, :RequestId
425
+
426
+ def initialize(id=nil, requestid=nil)
427
+ @Id = id
428
+ @RequestId = requestid
429
+ end
430
+
431
+ def deserialize(params)
432
+ @Id = params['Id']
433
+ @RequestId = params['RequestId']
434
+ end
435
+ end
436
+
437
+ # AddSpartaProtection请求参数结构体
438
+ class AddSpartaProtectionRequest < TencentCloud::Common::AbstractModel
439
+ # @param Domain: 需要防御的域名
440
+ # @type Domain: String
441
+ # @param CertType: 证书类型,0表示没有证书,CertType=1表示自有证书,2 为托管证书
442
+ # @type CertType: Integer
443
+ # @param IsCdn: 表示是否开启了CDN代理,1:有部署CDN,0:未部署CDN
444
+ # @type IsCdn: Integer
445
+ # @param UpstreamType: 回源类型,0表示通过IP回源,1 表示通过域名回源
446
+ # @type UpstreamType: Integer
447
+ # @param IsWebsocket: 是否开启WebSocket支持,1表示开启,0不开启
448
+ # @type IsWebsocket: Integer
449
+ # @param LoadBalance: 负载均衡策略,0表示轮徇,1表示IP hash
450
+ # @type LoadBalance: String
451
+ # @param Cert: CertType=1时,需要填次参数,表示证书内容
452
+ # @type Cert: String
453
+ # @param PrivateKey: CertType=1时,需要填次参数,表示证书的私钥
454
+ # @type PrivateKey: String
455
+ # @param SSLId: CertType=2时,需要填次参数,表示证书的ID
456
+ # @type SSLId: String
457
+ # @param ResourceId: Waf的资源ID
458
+ # @type ResourceId: String
459
+ # @param UpstreamScheme: HTTPS回源协议,填http或者https
460
+ # @type UpstreamScheme: String
461
+ # @param HttpsUpstreamPort: HTTPS回源端口,仅UpstreamScheme为http时需要填当前字段
462
+ # @type HttpsUpstreamPort: String
463
+ # @param IsGray: 是否开启灰度,0表示不开启灰度
464
+ # @type IsGray: Integer
465
+ # @param GrayAreas: 灰度的地区
466
+ # @type GrayAreas: Array
467
+ # @param UpstreamDomain: UpstreamType=1时,填次字段表示回源域名
468
+ # @type UpstreamDomain: String
469
+ # @param SrcList: UpstreamType=0时,填次字段表示回源ip
470
+ # @type SrcList: Array
471
+ # @param IsHttp2: 是否开启HTTP2,开启HTTP2需要HTTPS支持
472
+ # @type IsHttp2: Integer
473
+ # @param HttpsRewrite: 表示是否强制跳转到HTTPS,1强制跳转Https,0不强制跳转
474
+ # @type HttpsRewrite: Integer
475
+ # @param Ports: 服务有多端口需要设置此字段
476
+ # @type Ports: Array
477
+ # @param Edition: 版本:sparta-waf、clb-waf、cdn-waf
478
+ # @type Edition: String
479
+ # @param IsKeepAlive: 是否开启长连接,仅IP回源时可以用填次参数,域名回源时这个参数无效
480
+ # @type IsKeepAlive: String
481
+ # @param InstanceID: 实例id,上线之后带上此字段
482
+ # @type InstanceID: String
483
+ # @param Anycast: anycast ip类型开关: 0 普通ip 1 Anycast ip
484
+ # @type Anycast: Integer
485
+
486
+ attr_accessor :Domain, :CertType, :IsCdn, :UpstreamType, :IsWebsocket, :LoadBalance, :Cert, :PrivateKey, :SSLId, :ResourceId, :UpstreamScheme, :HttpsUpstreamPort, :IsGray, :GrayAreas, :UpstreamDomain, :SrcList, :IsHttp2, :HttpsRewrite, :Ports, :Edition, :IsKeepAlive, :InstanceID, :Anycast
487
+
488
+ def initialize(domain=nil, certtype=nil, iscdn=nil, upstreamtype=nil, iswebsocket=nil, loadbalance=nil, cert=nil, privatekey=nil, sslid=nil, resourceid=nil, upstreamscheme=nil, httpsupstreamport=nil, isgray=nil, grayareas=nil, upstreamdomain=nil, srclist=nil, ishttp2=nil, httpsrewrite=nil, ports=nil, edition=nil, iskeepalive=nil, instanceid=nil, anycast=nil)
489
+ @Domain = domain
490
+ @CertType = certtype
491
+ @IsCdn = iscdn
492
+ @UpstreamType = upstreamtype
493
+ @IsWebsocket = iswebsocket
494
+ @LoadBalance = loadbalance
495
+ @Cert = cert
496
+ @PrivateKey = privatekey
497
+ @SSLId = sslid
498
+ @ResourceId = resourceid
499
+ @UpstreamScheme = upstreamscheme
500
+ @HttpsUpstreamPort = httpsupstreamport
501
+ @IsGray = isgray
502
+ @GrayAreas = grayareas
503
+ @UpstreamDomain = upstreamdomain
504
+ @SrcList = srclist
505
+ @IsHttp2 = ishttp2
506
+ @HttpsRewrite = httpsrewrite
507
+ @Ports = ports
508
+ @Edition = edition
509
+ @IsKeepAlive = iskeepalive
510
+ @InstanceID = instanceid
511
+ @Anycast = anycast
512
+ end
513
+
514
+ def deserialize(params)
515
+ @Domain = params['Domain']
516
+ @CertType = params['CertType']
517
+ @IsCdn = params['IsCdn']
518
+ @UpstreamType = params['UpstreamType']
519
+ @IsWebsocket = params['IsWebsocket']
520
+ @LoadBalance = params['LoadBalance']
521
+ @Cert = params['Cert']
522
+ @PrivateKey = params['PrivateKey']
523
+ @SSLId = params['SSLId']
524
+ @ResourceId = params['ResourceId']
525
+ @UpstreamScheme = params['UpstreamScheme']
526
+ @HttpsUpstreamPort = params['HttpsUpstreamPort']
527
+ @IsGray = params['IsGray']
528
+ @GrayAreas = params['GrayAreas']
529
+ @UpstreamDomain = params['UpstreamDomain']
530
+ @SrcList = params['SrcList']
531
+ @IsHttp2 = params['IsHttp2']
532
+ @HttpsRewrite = params['HttpsRewrite']
533
+ unless params['Ports'].nil?
534
+ @Ports = []
535
+ params['Ports'].each do |i|
536
+ portitem_tmp = PortItem.new
537
+ portitem_tmp.deserialize(i)
538
+ @Ports << portitem_tmp
539
+ end
540
+ end
541
+ @Edition = params['Edition']
542
+ @IsKeepAlive = params['IsKeepAlive']
543
+ @InstanceID = params['InstanceID']
544
+ @Anycast = params['Anycast']
545
+ end
546
+ end
547
+
548
+ # AddSpartaProtection返回参数结构体
549
+ class AddSpartaProtectionResponse < TencentCloud::Common::AbstractModel
550
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
551
+ # @type RequestId: String
552
+
553
+ attr_accessor :RequestId
554
+
555
+ def initialize(requestid=nil)
556
+ @RequestId = requestid
557
+ end
558
+
559
+ def deserialize(params)
560
+ @RequestId = params['RequestId']
561
+ end
562
+ end
563
+
564
+ # Waf 攻击自动封禁详情
565
+ class AutoDenyDetail < TencentCloud::Common::AbstractModel
566
+ # @param AttackTags: 攻击封禁类型标签
567
+ # @type AttackTags: Array
568
+ # @param AttackThreshold: 攻击次数阈值
569
+ # @type AttackThreshold: Integer
570
+ # @param DefenseStatus: 自动封禁状态
571
+ # @type DefenseStatus: Integer
572
+ # @param TimeThreshold: 攻击时间阈值
573
+ # @type TimeThreshold: Integer
574
+ # @param DenyTimeThreshold: 自动封禁时间
575
+ # @type DenyTimeThreshold: Integer
576
+ # @param LastUpdateTime: 最后更新时间
577
+ # @type LastUpdateTime: String
578
+
579
+ attr_accessor :AttackTags, :AttackThreshold, :DefenseStatus, :TimeThreshold, :DenyTimeThreshold, :LastUpdateTime
580
+
581
+ def initialize(attacktags=nil, attackthreshold=nil, defensestatus=nil, timethreshold=nil, denytimethreshold=nil, lastupdatetime=nil)
582
+ @AttackTags = attacktags
583
+ @AttackThreshold = attackthreshold
584
+ @DefenseStatus = defensestatus
585
+ @TimeThreshold = timethreshold
586
+ @DenyTimeThreshold = denytimethreshold
587
+ @LastUpdateTime = lastupdatetime
588
+ end
589
+
590
+ def deserialize(params)
591
+ @AttackTags = params['AttackTags']
592
+ @AttackThreshold = params['AttackThreshold']
593
+ @DefenseStatus = params['DefenseStatus']
594
+ @TimeThreshold = params['TimeThreshold']
595
+ @DenyTimeThreshold = params['DenyTimeThreshold']
596
+ @LastUpdateTime = params['LastUpdateTime']
597
+ end
598
+ end
599
+
385
600
  # bot的趋势图对象
386
601
  class BotStatPointItem < TencentCloud::Common::AbstractModel
387
602
  # @param TimeStamp: 横坐标
@@ -606,6 +821,47 @@ module TencentCloud
606
821
  end
607
822
  end
608
823
 
824
+ # DeleteDomainWhiteRules请求参数结构体
825
+ class DeleteDomainWhiteRulesRequest < TencentCloud::Common::AbstractModel
826
+ # @param Domain: 需要删除的规则域名
827
+ # @type Domain: String
828
+ # @param Ids: 需要删除的白名单规则
829
+ # @type Ids: Array
830
+
831
+ attr_accessor :Domain, :Ids
832
+
833
+ def initialize(domain=nil, ids=nil)
834
+ @Domain = domain
835
+ @Ids = ids
836
+ end
837
+
838
+ def deserialize(params)
839
+ @Domain = params['Domain']
840
+ @Ids = params['Ids']
841
+ end
842
+ end
843
+
844
+ # DeleteDomainWhiteRules返回参数结构体
845
+ class DeleteDomainWhiteRulesResponse < TencentCloud::Common::AbstractModel
846
+ # @param Data: 出参
847
+ # 注意:此字段可能返回 null,表示取不到有效值。
848
+ # @type Data: String
849
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
850
+ # @type RequestId: String
851
+
852
+ attr_accessor :Data, :RequestId
853
+
854
+ def initialize(data=nil, requestid=nil)
855
+ @Data = data
856
+ @RequestId = requestid
857
+ end
858
+
859
+ def deserialize(params)
860
+ @Data = params['Data']
861
+ @RequestId = params['RequestId']
862
+ end
863
+ end
864
+
609
865
  # DeleteDownloadRecord请求参数结构体
610
866
  class DeleteDownloadRecordRequest < TencentCloud::Common::AbstractModel
611
867
  # @param Flow: 记录id
@@ -638,6 +894,56 @@ module TencentCloud
638
894
  end
639
895
  end
640
896
 
897
+ # DeleteIpAccessControl请求参数结构体
898
+ class DeleteIpAccessControlRequest < TencentCloud::Common::AbstractModel
899
+ # @param Domain: 域名
900
+ # @type Domain: String
901
+ # @param Items: 删除的ip数组
902
+ # @type Items: Array
903
+ # @param DeleteAll: 删除对应的域名下的所有黑/白IP名额单
904
+ # @type DeleteAll: Boolean
905
+
906
+ attr_accessor :Domain, :Items, :DeleteAll
907
+
908
+ def initialize(domain=nil, items=nil, deleteall=nil)
909
+ @Domain = domain
910
+ @Items = items
911
+ @DeleteAll = deleteall
912
+ end
913
+
914
+ def deserialize(params)
915
+ @Domain = params['Domain']
916
+ @Items = params['Items']
917
+ @DeleteAll = params['DeleteAll']
918
+ end
919
+ end
920
+
921
+ # DeleteIpAccessControl返回参数结构体
922
+ class DeleteIpAccessControlResponse < TencentCloud::Common::AbstractModel
923
+ # @param FailedItems: 删除失败的条目
924
+ # 注意:此字段可能返回 null,表示取不到有效值。
925
+ # @type FailedItems: String
926
+ # @param FailedCount: 删除失败的条目数
927
+ # 注意:此字段可能返回 null,表示取不到有效值。
928
+ # @type FailedCount: Integer
929
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
930
+ # @type RequestId: String
931
+
932
+ attr_accessor :FailedItems, :FailedCount, :RequestId
933
+
934
+ def initialize(faileditems=nil, failedcount=nil, requestid=nil)
935
+ @FailedItems = faileditems
936
+ @FailedCount = failedcount
937
+ @RequestId = requestid
938
+ end
939
+
940
+ def deserialize(params)
941
+ @FailedItems = params['FailedItems']
942
+ @FailedCount = params['FailedCount']
943
+ @RequestId = params['RequestId']
944
+ end
945
+ end
946
+
641
947
  # DeleteSession请求参数结构体
642
948
  class DeleteSessionRequest < TencentCloud::Common::AbstractModel
643
949
  # @param Domain: 域名
@@ -827,6 +1133,89 @@ module TencentCloud
827
1133
  end
828
1134
  end
829
1135
 
1136
+ # DescribeAutoDenyIP请求参数结构体
1137
+ class DescribeAutoDenyIPRequest < TencentCloud::Common::AbstractModel
1138
+ # @param Domain: 域名
1139
+ # @type Domain: String
1140
+ # @param Ip: 查询IP自动封禁状态
1141
+ # @type Ip: String
1142
+ # @param Count: 计数标识
1143
+ # @type Count: Integer
1144
+ # @param Category: 类别
1145
+ # @type Category: String
1146
+ # @param VtsMin: 有效时间最小时间戳
1147
+ # @type VtsMin: Integer
1148
+ # @param VtsMax: 有效时间最大时间戳
1149
+ # @type VtsMax: Integer
1150
+ # @param CtsMin: 创建时间最小时间戳
1151
+ # @type CtsMin: Integer
1152
+ # @param CtsMax: 创建时间最大时间戳
1153
+ # @type CtsMax: Integer
1154
+ # @param Skip: 偏移量
1155
+ # @type Skip: Integer
1156
+ # @param Limit: 限制条数
1157
+ # @type Limit: Integer
1158
+ # @param Name: 策略名字
1159
+ # @type Name: String
1160
+ # @param Sort: 排序参数
1161
+ # @type Sort: String
1162
+
1163
+ attr_accessor :Domain, :Ip, :Count, :Category, :VtsMin, :VtsMax, :CtsMin, :CtsMax, :Skip, :Limit, :Name, :Sort
1164
+
1165
+ def initialize(domain=nil, ip=nil, count=nil, category=nil, vtsmin=nil, vtsmax=nil, ctsmin=nil, ctsmax=nil, skip=nil, limit=nil, name=nil, sort=nil)
1166
+ @Domain = domain
1167
+ @Ip = ip
1168
+ @Count = count
1169
+ @Category = category
1170
+ @VtsMin = vtsmin
1171
+ @VtsMax = vtsmax
1172
+ @CtsMin = ctsmin
1173
+ @CtsMax = ctsmax
1174
+ @Skip = skip
1175
+ @Limit = limit
1176
+ @Name = name
1177
+ @Sort = sort
1178
+ end
1179
+
1180
+ def deserialize(params)
1181
+ @Domain = params['Domain']
1182
+ @Ip = params['Ip']
1183
+ @Count = params['Count']
1184
+ @Category = params['Category']
1185
+ @VtsMin = params['VtsMin']
1186
+ @VtsMax = params['VtsMax']
1187
+ @CtsMin = params['CtsMin']
1188
+ @CtsMax = params['CtsMax']
1189
+ @Skip = params['Skip']
1190
+ @Limit = params['Limit']
1191
+ @Name = params['Name']
1192
+ @Sort = params['Sort']
1193
+ end
1194
+ end
1195
+
1196
+ # DescribeAutoDenyIP返回参数结构体
1197
+ class DescribeAutoDenyIPResponse < TencentCloud::Common::AbstractModel
1198
+ # @param Data: 查询IP封禁状态返回结果
1199
+ # @type Data: :class:`Tencentcloud::Waf.v20180125.models.IpHitItemsData`
1200
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1201
+ # @type RequestId: String
1202
+
1203
+ attr_accessor :Data, :RequestId
1204
+
1205
+ def initialize(data=nil, requestid=nil)
1206
+ @Data = data
1207
+ @RequestId = requestid
1208
+ end
1209
+
1210
+ def deserialize(params)
1211
+ unless params['Data'].nil?
1212
+ @Data = IpHitItemsData.new
1213
+ @Data.deserialize(params['Data'])
1214
+ end
1215
+ @RequestId = params['RequestId']
1216
+ end
1217
+ end
1218
+
830
1219
  # DescribeCustomRules接口的翻页参数
831
1220
  class DescribeCustomRulesPagingInfo < TencentCloud::Common::AbstractModel
832
1221
  # @param Offset: 当前页码
@@ -972,6 +1361,73 @@ module TencentCloud
972
1361
  end
973
1362
  end
974
1363
 
1364
+ # DescribeDomainWhiteRules请求参数结构体
1365
+ class DescribeDomainWhiteRulesRequest < TencentCloud::Common::AbstractModel
1366
+ # @param Domain: 需要查询的域名
1367
+ # @type Domain: String
1368
+ # @param Url: 请求的白名单匹配路径
1369
+ # @type Url: String
1370
+ # @param Page: 翻到多少页
1371
+ # @type Page: Integer
1372
+ # @param Count: 每页展示的条数
1373
+ # @type Count: Integer
1374
+ # @param Sort: 排序方式
1375
+ # @type Sort: String
1376
+ # @param RuleId: 规则ID
1377
+ # @type RuleId: String
1378
+
1379
+ attr_accessor :Domain, :Url, :Page, :Count, :Sort, :RuleId
1380
+
1381
+ def initialize(domain=nil, url=nil, page=nil, count=nil, sort=nil, ruleid=nil)
1382
+ @Domain = domain
1383
+ @Url = url
1384
+ @Page = page
1385
+ @Count = count
1386
+ @Sort = sort
1387
+ @RuleId = ruleid
1388
+ end
1389
+
1390
+ def deserialize(params)
1391
+ @Domain = params['Domain']
1392
+ @Url = params['Url']
1393
+ @Page = params['Page']
1394
+ @Count = params['Count']
1395
+ @Sort = params['Sort']
1396
+ @RuleId = params['RuleId']
1397
+ end
1398
+ end
1399
+
1400
+ # DescribeDomainWhiteRules返回参数结构体
1401
+ class DescribeDomainWhiteRulesResponse < TencentCloud::Common::AbstractModel
1402
+ # @param RuleList: 规则列表
1403
+ # @type RuleList: Array
1404
+ # @param Total: 规则的数量
1405
+ # @type Total: Integer
1406
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1407
+ # @type RequestId: String
1408
+
1409
+ attr_accessor :RuleList, :Total, :RequestId
1410
+
1411
+ def initialize(rulelist=nil, total=nil, requestid=nil)
1412
+ @RuleList = rulelist
1413
+ @Total = total
1414
+ @RequestId = requestid
1415
+ end
1416
+
1417
+ def deserialize(params)
1418
+ unless params['RuleList'].nil?
1419
+ @RuleList = []
1420
+ params['RuleList'].each do |i|
1421
+ rulelist_tmp = RuleList.new
1422
+ rulelist_tmp.deserialize(i)
1423
+ @RuleList << rulelist_tmp
1424
+ end
1425
+ end
1426
+ @Total = params['Total']
1427
+ @RequestId = params['RequestId']
1428
+ end
1429
+ end
1430
+
975
1431
  # DescribeFlowTrend请求参数结构体
976
1432
  class DescribeFlowTrendRequest < TencentCloud::Common::AbstractModel
977
1433
  # @param Domain: 需要获取流量趋势的域名, all表示所有域名
@@ -1023,22 +1479,71 @@ module TencentCloud
1023
1479
  end
1024
1480
  end
1025
1481
 
1026
- # DescribeUserClbWafRegions请求参数结构体
1027
- class DescribeUserClbWafRegionsRequest < TencentCloud::Common::AbstractModel
1482
+ # DescribeIpAccessControl请求参数结构体
1483
+ class DescribeIpAccessControlRequest < TencentCloud::Common::AbstractModel
1484
+ # @param Domain: 域名
1485
+ # @type Domain: String
1486
+ # @param Count: 计数标识
1487
+ # @type Count: Integer
1488
+ # @param ActionType: 动作
1489
+ # @type ActionType: Integer
1490
+ # @param VtsMin: 有效时间最小时间戳
1491
+ # @type VtsMin: Integer
1492
+ # @param VtsMax: 有效时间最大时间戳
1493
+ # @type VtsMax: Integer
1494
+ # @param CtsMin: 创建时间最小时间戳
1495
+ # @type CtsMin: Integer
1496
+ # @param CtsMax: 创建时间最大时间戳
1497
+ # @type CtsMax: Integer
1498
+ # @param OffSet: 偏移
1499
+ # @type OffSet: Integer
1500
+ # @param Limit: 限制
1501
+ # @type Limit: Integer
1502
+ # @param Source: 来源
1503
+ # @type Source: String
1504
+ # @param Sort: 排序参数
1505
+ # @type Sort: String
1506
+ # @param Ip: ip
1507
+ # @type Ip: String
1028
1508
 
1509
+ attr_accessor :Domain, :Count, :ActionType, :VtsMin, :VtsMax, :CtsMin, :CtsMax, :OffSet, :Limit, :Source, :Sort, :Ip
1029
1510
 
1030
- def initialize()
1511
+ def initialize(domain=nil, count=nil, actiontype=nil, vtsmin=nil, vtsmax=nil, ctsmin=nil, ctsmax=nil, offset=nil, limit=nil, source=nil, sort=nil, ip=nil)
1512
+ @Domain = domain
1513
+ @Count = count
1514
+ @ActionType = actiontype
1515
+ @VtsMin = vtsmin
1516
+ @VtsMax = vtsmax
1517
+ @CtsMin = ctsmin
1518
+ @CtsMax = ctsmax
1519
+ @OffSet = offset
1520
+ @Limit = limit
1521
+ @Source = source
1522
+ @Sort = sort
1523
+ @Ip = ip
1031
1524
  end
1032
1525
 
1033
1526
  def deserialize(params)
1527
+ @Domain = params['Domain']
1528
+ @Count = params['Count']
1529
+ @ActionType = params['ActionType']
1530
+ @VtsMin = params['VtsMin']
1531
+ @VtsMax = params['VtsMax']
1532
+ @CtsMin = params['CtsMin']
1533
+ @CtsMax = params['CtsMax']
1534
+ @OffSet = params['OffSet']
1535
+ @Limit = params['Limit']
1536
+ @Source = params['Source']
1537
+ @Sort = params['Sort']
1538
+ @Ip = params['Ip']
1034
1539
  end
1035
1540
  end
1036
1541
 
1037
- # DescribeUserClbWafRegions返回参数结构体
1038
- class DescribeUserClbWafRegionsResponse < TencentCloud::Common::AbstractModel
1039
- # @param Data: 地域(标准的ap-格式)列表
1542
+ # DescribeIpAccessControl返回参数结构体
1543
+ class DescribeIpAccessControlResponse < TencentCloud::Common::AbstractModel
1544
+ # @param Data: 输出
1040
1545
  # 注意:此字段可能返回 null,表示取不到有效值。
1041
- # @type Data: Array
1546
+ # @type Data: :class:`Tencentcloud::Waf.v20180125.models.IpAccessControlData`
1042
1547
  # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1043
1548
  # @type RequestId: String
1044
1549
 
@@ -1050,37 +1555,272 @@ module TencentCloud
1050
1555
  end
1051
1556
 
1052
1557
  def deserialize(params)
1053
- @Data = params['Data']
1558
+ unless params['Data'].nil?
1559
+ @Data = IpAccessControlData.new
1560
+ @Data.deserialize(params['Data'])
1561
+ end
1054
1562
  @RequestId = params['RequestId']
1055
1563
  end
1056
1564
  end
1057
1565
 
1058
- # DescribeAccessExports接口
1059
- class ExportAccessInfo < TencentCloud::Common::AbstractModel
1060
- # @param ExportId: 日志导出任务ID
1061
- # 注意:此字段可能返回 null,表示取不到有效值。
1062
- # @type ExportId: String
1063
- # @param Query: 日志导出查询语句
1064
- # 注意:此字段可能返回 null,表示取不到有效值。
1065
- # @type Query: String
1066
- # @param FileName: 日志导出文件名
1067
- # 注意:此字段可能返回 null,表示取不到有效值。
1068
- # @type FileName: String
1069
- # @param FileSize: 日志文件大小
1070
- # @type FileSize: Integer
1071
- # @param Order: 日志导出时间排序
1072
- # 注意:此字段可能返回 null,表示取不到有效值。
1073
- # @type Order: String
1074
- # @param Format: 日志导出格式
1075
- # 注意:此字段可能返回 null,表示取不到有效值。
1076
- # @type Format: String
1077
- # @param Count: 日志导出数量
1078
- # 注意:此字段可能返回 null,表示取不到有效值。
1566
+ # DescribeIpHitItems请求参数结构体
1567
+ class DescribeIpHitItemsRequest < TencentCloud::Common::AbstractModel
1568
+ # @param Domain: 域名
1569
+ # @type Domain: String
1570
+ # @param Count: 计数标识
1079
1571
  # @type Count: Integer
1080
- # @param Status: 日志下载状态。Processing:导出正在进行中,Complete:导出完成,Failed:导出失败,Expired:日志导出已过期(三天有效期)
1081
- # @type Status: String
1082
- # @param From: 日志导出起始时间
1083
- # @type From: Integer
1572
+ # @param Category: 类别
1573
+ # @type Category: String
1574
+ # @param VtsMin: 有效时间最小时间戳
1575
+ # @type VtsMin: Integer
1576
+ # @param VtsMax: 有效时间最大时间戳
1577
+ # @type VtsMax: Integer
1578
+ # @param CtsMin: 创建时间最小时间戳
1579
+ # @type CtsMin: Integer
1580
+ # @param CtsMax: 创建时间最大时间戳
1581
+ # @type CtsMax: Integer
1582
+ # @param Skip: 偏移参数
1583
+ # @type Skip: Integer
1584
+ # @param Limit: 限制数目
1585
+ # @type Limit: Integer
1586
+ # @param Name: 策略名称
1587
+ # @type Name: String
1588
+ # @param Sort: 排序参数
1589
+ # @type Sort: String
1590
+ # @param Ip: IP
1591
+ # @type Ip: String
1592
+
1593
+ attr_accessor :Domain, :Count, :Category, :VtsMin, :VtsMax, :CtsMin, :CtsMax, :Skip, :Limit, :Name, :Sort, :Ip
1594
+
1595
+ def initialize(domain=nil, count=nil, category=nil, vtsmin=nil, vtsmax=nil, ctsmin=nil, ctsmax=nil, skip=nil, limit=nil, name=nil, sort=nil, ip=nil)
1596
+ @Domain = domain
1597
+ @Count = count
1598
+ @Category = category
1599
+ @VtsMin = vtsmin
1600
+ @VtsMax = vtsmax
1601
+ @CtsMin = ctsmin
1602
+ @CtsMax = ctsmax
1603
+ @Skip = skip
1604
+ @Limit = limit
1605
+ @Name = name
1606
+ @Sort = sort
1607
+ @Ip = ip
1608
+ end
1609
+
1610
+ def deserialize(params)
1611
+ @Domain = params['Domain']
1612
+ @Count = params['Count']
1613
+ @Category = params['Category']
1614
+ @VtsMin = params['VtsMin']
1615
+ @VtsMax = params['VtsMax']
1616
+ @CtsMin = params['CtsMin']
1617
+ @CtsMax = params['CtsMax']
1618
+ @Skip = params['Skip']
1619
+ @Limit = params['Limit']
1620
+ @Name = params['Name']
1621
+ @Sort = params['Sort']
1622
+ @Ip = params['Ip']
1623
+ end
1624
+ end
1625
+
1626
+ # DescribeIpHitItems返回参数结构体
1627
+ class DescribeIpHitItemsResponse < TencentCloud::Common::AbstractModel
1628
+ # @param Data: 结果
1629
+ # 注意:此字段可能返回 null,表示取不到有效值。
1630
+ # @type Data: :class:`Tencentcloud::Waf.v20180125.models.IpHitItemsData`
1631
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1632
+ # @type RequestId: String
1633
+
1634
+ attr_accessor :Data, :RequestId
1635
+
1636
+ def initialize(data=nil, requestid=nil)
1637
+ @Data = data
1638
+ @RequestId = requestid
1639
+ end
1640
+
1641
+ def deserialize(params)
1642
+ unless params['Data'].nil?
1643
+ @Data = IpHitItemsData.new
1644
+ @Data.deserialize(params['Data'])
1645
+ end
1646
+ @RequestId = params['RequestId']
1647
+ end
1648
+ end
1649
+
1650
+ # DescribeUserClbWafRegions请求参数结构体
1651
+ class DescribeUserClbWafRegionsRequest < TencentCloud::Common::AbstractModel
1652
+
1653
+
1654
+ def initialize()
1655
+ end
1656
+
1657
+ def deserialize(params)
1658
+ end
1659
+ end
1660
+
1661
+ # DescribeUserClbWafRegions返回参数结构体
1662
+ class DescribeUserClbWafRegionsResponse < TencentCloud::Common::AbstractModel
1663
+ # @param Data: 地域(标准的ap-格式)列表
1664
+ # 注意:此字段可能返回 null,表示取不到有效值。
1665
+ # @type Data: Array
1666
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1667
+ # @type RequestId: String
1668
+
1669
+ attr_accessor :Data, :RequestId
1670
+
1671
+ def initialize(data=nil, requestid=nil)
1672
+ @Data = data
1673
+ @RequestId = requestid
1674
+ end
1675
+
1676
+ def deserialize(params)
1677
+ @Data = params['Data']
1678
+ @RequestId = params['RequestId']
1679
+ end
1680
+ end
1681
+
1682
+ # DescribeWafAutoDenyRules请求参数结构体
1683
+ class DescribeWafAutoDenyRulesRequest < TencentCloud::Common::AbstractModel
1684
+ # @param Domain: 域名
1685
+ # @type Domain: String
1686
+
1687
+ attr_accessor :Domain
1688
+
1689
+ def initialize(domain=nil)
1690
+ @Domain = domain
1691
+ end
1692
+
1693
+ def deserialize(params)
1694
+ @Domain = params['Domain']
1695
+ end
1696
+ end
1697
+
1698
+ # DescribeWafAutoDenyRules返回参数结构体
1699
+ class DescribeWafAutoDenyRulesResponse < TencentCloud::Common::AbstractModel
1700
+ # @param AttackThreshold: 攻击次数阈值
1701
+ # @type AttackThreshold: Integer
1702
+ # @param TimeThreshold: 攻击时间阈值
1703
+ # @type TimeThreshold: Integer
1704
+ # @param DenyTimeThreshold: 自动封禁时间
1705
+ # @type DenyTimeThreshold: Integer
1706
+ # @param DefenseStatus: 自动封禁状态
1707
+ # @type DefenseStatus: Integer
1708
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1709
+ # @type RequestId: String
1710
+
1711
+ attr_accessor :AttackThreshold, :TimeThreshold, :DenyTimeThreshold, :DefenseStatus, :RequestId
1712
+
1713
+ def initialize(attackthreshold=nil, timethreshold=nil, denytimethreshold=nil, defensestatus=nil, requestid=nil)
1714
+ @AttackThreshold = attackthreshold
1715
+ @TimeThreshold = timethreshold
1716
+ @DenyTimeThreshold = denytimethreshold
1717
+ @DefenseStatus = defensestatus
1718
+ @RequestId = requestid
1719
+ end
1720
+
1721
+ def deserialize(params)
1722
+ @AttackThreshold = params['AttackThreshold']
1723
+ @TimeThreshold = params['TimeThreshold']
1724
+ @DenyTimeThreshold = params['DenyTimeThreshold']
1725
+ @DefenseStatus = params['DefenseStatus']
1726
+ @RequestId = params['RequestId']
1727
+ end
1728
+ end
1729
+
1730
+ # DescribeWafAutoDenyStatus请求参数结构体
1731
+ class DescribeWafAutoDenyStatusRequest < TencentCloud::Common::AbstractModel
1732
+
1733
+
1734
+ def initialize()
1735
+ end
1736
+
1737
+ def deserialize(params)
1738
+ end
1739
+ end
1740
+
1741
+ # DescribeWafAutoDenyStatus返回参数结构体
1742
+ class DescribeWafAutoDenyStatusResponse < TencentCloud::Common::AbstractModel
1743
+ # @param WafAutoDenyDetails: WAF 自动封禁详情
1744
+ # @type WafAutoDenyDetails: :class:`Tencentcloud::Waf.v20180125.models.AutoDenyDetail`
1745
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1746
+ # @type RequestId: String
1747
+
1748
+ attr_accessor :WafAutoDenyDetails, :RequestId
1749
+
1750
+ def initialize(wafautodenydetails=nil, requestid=nil)
1751
+ @WafAutoDenyDetails = wafautodenydetails
1752
+ @RequestId = requestid
1753
+ end
1754
+
1755
+ def deserialize(params)
1756
+ unless params['WafAutoDenyDetails'].nil?
1757
+ @WafAutoDenyDetails = AutoDenyDetail.new
1758
+ @WafAutoDenyDetails.deserialize(params['WafAutoDenyDetails'])
1759
+ end
1760
+ @RequestId = params['RequestId']
1761
+ end
1762
+ end
1763
+
1764
+ # DescribeWafThreatenIntelligence请求参数结构体
1765
+ class DescribeWafThreatenIntelligenceRequest < TencentCloud::Common::AbstractModel
1766
+
1767
+
1768
+ def initialize()
1769
+ end
1770
+
1771
+ def deserialize(params)
1772
+ end
1773
+ end
1774
+
1775
+ # DescribeWafThreatenIntelligence返回参数结构体
1776
+ class DescribeWafThreatenIntelligenceResponse < TencentCloud::Common::AbstractModel
1777
+ # @param WafThreatenIntelligenceDetails: WAF 威胁情报封禁信息
1778
+ # @type WafThreatenIntelligenceDetails: :class:`Tencentcloud::Waf.v20180125.models.WafThreatenIntelligenceDetails`
1779
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1780
+ # @type RequestId: String
1781
+
1782
+ attr_accessor :WafThreatenIntelligenceDetails, :RequestId
1783
+
1784
+ def initialize(wafthreatenintelligencedetails=nil, requestid=nil)
1785
+ @WafThreatenIntelligenceDetails = wafthreatenintelligencedetails
1786
+ @RequestId = requestid
1787
+ end
1788
+
1789
+ def deserialize(params)
1790
+ unless params['WafThreatenIntelligenceDetails'].nil?
1791
+ @WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails.new
1792
+ @WafThreatenIntelligenceDetails.deserialize(params['WafThreatenIntelligenceDetails'])
1793
+ end
1794
+ @RequestId = params['RequestId']
1795
+ end
1796
+ end
1797
+
1798
+ # DescribeAccessExports接口
1799
+ class ExportAccessInfo < TencentCloud::Common::AbstractModel
1800
+ # @param ExportId: 日志导出任务ID
1801
+ # 注意:此字段可能返回 null,表示取不到有效值。
1802
+ # @type ExportId: String
1803
+ # @param Query: 日志导出查询语句
1804
+ # 注意:此字段可能返回 null,表示取不到有效值。
1805
+ # @type Query: String
1806
+ # @param FileName: 日志导出文件名
1807
+ # 注意:此字段可能返回 null,表示取不到有效值。
1808
+ # @type FileName: String
1809
+ # @param FileSize: 日志文件大小
1810
+ # @type FileSize: Integer
1811
+ # @param Order: 日志导出时间排序
1812
+ # 注意:此字段可能返回 null,表示取不到有效值。
1813
+ # @type Order: String
1814
+ # @param Format: 日志导出格式
1815
+ # 注意:此字段可能返回 null,表示取不到有效值。
1816
+ # @type Format: String
1817
+ # @param Count: 日志导出数量
1818
+ # 注意:此字段可能返回 null,表示取不到有效值。
1819
+ # @type Count: Integer
1820
+ # @param Status: 日志下载状态。Processing:导出正在进行中,Complete:导出完成,Failed:导出失败,Expired:日志导出已过期(三天有效期)
1821
+ # @type Status: String
1822
+ # @param From: 日志导出起始时间
1823
+ # @type From: Integer
1084
1824
  # @param To: 日志导出结束时间
1085
1825
  # @type To: Integer
1086
1826
  # @param CosPath: 日志导出路径
@@ -1121,6 +1861,134 @@ module TencentCloud
1121
1861
  end
1122
1862
  end
1123
1863
 
1864
+ # 数据封装
1865
+ class IpAccessControlData < TencentCloud::Common::AbstractModel
1866
+ # @param Res: ip黑白名单
1867
+ # 注意:此字段可能返回 null,表示取不到有效值。
1868
+ # @type Res: Array
1869
+ # @param TotalCount: 计数
1870
+ # @type TotalCount: Integer
1871
+
1872
+ attr_accessor :Res, :TotalCount
1873
+
1874
+ def initialize(res=nil, totalcount=nil)
1875
+ @Res = res
1876
+ @TotalCount = totalcount
1877
+ end
1878
+
1879
+ def deserialize(params)
1880
+ unless params['Res'].nil?
1881
+ @Res = []
1882
+ params['Res'].each do |i|
1883
+ ipaccesscontrolitem_tmp = IpAccessControlItem.new
1884
+ ipaccesscontrolitem_tmp.deserialize(i)
1885
+ @Res << ipaccesscontrolitem_tmp
1886
+ end
1887
+ end
1888
+ @TotalCount = params['TotalCount']
1889
+ end
1890
+ end
1891
+
1892
+ # ip黑白名单
1893
+ class IpAccessControlItem < TencentCloud::Common::AbstractModel
1894
+ # @param ActionType: 动作
1895
+ # @type ActionType: Integer
1896
+ # @param Ip: ip
1897
+ # @type Ip: String
1898
+ # @param Note: 备注
1899
+ # @type Note: String
1900
+ # @param Source: 来源
1901
+ # @type Source: String
1902
+ # @param TsVersion: 更新时间戳
1903
+ # 注意:此字段可能返回 null,表示取不到有效值。
1904
+ # @type TsVersion: Integer
1905
+ # @param ValidTs: 有效截止时间戳
1906
+ # @type ValidTs: Integer
1907
+
1908
+ attr_accessor :ActionType, :Ip, :Note, :Source, :TsVersion, :ValidTs
1909
+
1910
+ def initialize(actiontype=nil, ip=nil, note=nil, source=nil, tsversion=nil, validts=nil)
1911
+ @ActionType = actiontype
1912
+ @Ip = ip
1913
+ @Note = note
1914
+ @Source = source
1915
+ @TsVersion = tsversion
1916
+ @ValidTs = validts
1917
+ end
1918
+
1919
+ def deserialize(params)
1920
+ @ActionType = params['ActionType']
1921
+ @Ip = params['Ip']
1922
+ @Note = params['Note']
1923
+ @Source = params['Source']
1924
+ @TsVersion = params['TsVersion']
1925
+ @ValidTs = params['ValidTs']
1926
+ end
1927
+ end
1928
+
1929
+ # ip封堵状态数据
1930
+ class IpHitItem < TencentCloud::Common::AbstractModel
1931
+ # @param Action: 动作
1932
+ # @type Action: Integer
1933
+ # @param Category: 类别
1934
+ # @type Category: String
1935
+ # @param Ip: ip
1936
+ # @type Ip: String
1937
+ # @param Name: 规则名称
1938
+ # @type Name: String
1939
+ # @param TsVersion: 时间戳
1940
+ # @type TsVersion: Integer
1941
+ # @param ValidTs: 有效截止时间戳
1942
+ # @type ValidTs: Integer
1943
+
1944
+ attr_accessor :Action, :Category, :Ip, :Name, :TsVersion, :ValidTs
1945
+
1946
+ def initialize(action=nil, category=nil, ip=nil, name=nil, tsversion=nil, validts=nil)
1947
+ @Action = action
1948
+ @Category = category
1949
+ @Ip = ip
1950
+ @Name = name
1951
+ @TsVersion = tsversion
1952
+ @ValidTs = validts
1953
+ end
1954
+
1955
+ def deserialize(params)
1956
+ @Action = params['Action']
1957
+ @Category = params['Category']
1958
+ @Ip = params['Ip']
1959
+ @Name = params['Name']
1960
+ @TsVersion = params['TsVersion']
1961
+ @ValidTs = params['ValidTs']
1962
+ end
1963
+ end
1964
+
1965
+ # 封装参数
1966
+ class IpHitItemsData < TencentCloud::Common::AbstractModel
1967
+ # @param Res: 数组封装
1968
+ # @type Res: Array
1969
+ # @param TotalCount: 总数目
1970
+ # @type TotalCount: Integer
1971
+
1972
+ attr_accessor :Res, :TotalCount
1973
+
1974
+ def initialize(res=nil, totalcount=nil)
1975
+ @Res = res
1976
+ @TotalCount = totalcount
1977
+ end
1978
+
1979
+ def deserialize(params)
1980
+ unless params['Res'].nil?
1981
+ @Res = []
1982
+ params['Res'].each do |i|
1983
+ iphititem_tmp = IpHitItem.new
1984
+ iphititem_tmp.deserialize(i)
1985
+ @Res << iphititem_tmp
1986
+ end
1987
+ end
1988
+ @TotalCount = params['TotalCount']
1989
+ end
1990
+ end
1991
+
1124
1992
  # ModifyAccessPeriod请求参数结构体
1125
1993
  class ModifyAccessPeriodRequest < TencentCloud::Common::AbstractModel
1126
1994
  # @param Period: 访问日志保存期限,范围为[1, 30]
@@ -1208,6 +2076,229 @@ module TencentCloud
1208
2076
  end
1209
2077
  end
1210
2078
 
2079
+ # ModifyDomainWhiteRule请求参数结构体
2080
+ class ModifyDomainWhiteRuleRequest < TencentCloud::Common::AbstractModel
2081
+ # @param Domain: 需要更改的规则的域名
2082
+ # @type Domain: String
2083
+ # @param Id: 白名单id
2084
+ # @type Id: Integer
2085
+ # @param Rules: 规则的id列表
2086
+ # @type Rules: Array
2087
+ # @param Url: 规则匹配路径
2088
+ # @type Url: String
2089
+ # @param Function: 规则匹配方法
2090
+ # @type Function: String
2091
+ # @param Status: 规则的开关状态
2092
+ # @type Status: Integer
2093
+
2094
+ attr_accessor :Domain, :Id, :Rules, :Url, :Function, :Status
2095
+
2096
+ def initialize(domain=nil, id=nil, rules=nil, url=nil, function=nil, status=nil)
2097
+ @Domain = domain
2098
+ @Id = id
2099
+ @Rules = rules
2100
+ @Url = url
2101
+ @Function = function
2102
+ @Status = status
2103
+ end
2104
+
2105
+ def deserialize(params)
2106
+ @Domain = params['Domain']
2107
+ @Id = params['Id']
2108
+ @Rules = params['Rules']
2109
+ @Url = params['Url']
2110
+ @Function = params['Function']
2111
+ @Status = params['Status']
2112
+ end
2113
+ end
2114
+
2115
+ # ModifyDomainWhiteRule返回参数结构体
2116
+ class ModifyDomainWhiteRuleResponse < TencentCloud::Common::AbstractModel
2117
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2118
+ # @type RequestId: String
2119
+
2120
+ attr_accessor :RequestId
2121
+
2122
+ def initialize(requestid=nil)
2123
+ @RequestId = requestid
2124
+ end
2125
+
2126
+ def deserialize(params)
2127
+ @RequestId = params['RequestId']
2128
+ end
2129
+ end
2130
+
2131
+ # ModifyWafAutoDenyRules请求参数结构体
2132
+ class ModifyWafAutoDenyRulesRequest < TencentCloud::Common::AbstractModel
2133
+ # @param Domain: 域名
2134
+ # @type Domain: String
2135
+ # @param AttackThreshold: 攻击次数阈值
2136
+ # @type AttackThreshold: Integer
2137
+ # @param TimeThreshold: 攻击时间阈值
2138
+ # @type TimeThreshold: Integer
2139
+ # @param DenyTimeThreshold: 自动封禁时间
2140
+ # @type DenyTimeThreshold: Integer
2141
+ # @param DefenseStatus: 自动封禁状态
2142
+ # @type DefenseStatus: Integer
2143
+
2144
+ attr_accessor :Domain, :AttackThreshold, :TimeThreshold, :DenyTimeThreshold, :DefenseStatus
2145
+
2146
+ def initialize(domain=nil, attackthreshold=nil, timethreshold=nil, denytimethreshold=nil, defensestatus=nil)
2147
+ @Domain = domain
2148
+ @AttackThreshold = attackthreshold
2149
+ @TimeThreshold = timethreshold
2150
+ @DenyTimeThreshold = denytimethreshold
2151
+ @DefenseStatus = defensestatus
2152
+ end
2153
+
2154
+ def deserialize(params)
2155
+ @Domain = params['Domain']
2156
+ @AttackThreshold = params['AttackThreshold']
2157
+ @TimeThreshold = params['TimeThreshold']
2158
+ @DenyTimeThreshold = params['DenyTimeThreshold']
2159
+ @DefenseStatus = params['DefenseStatus']
2160
+ end
2161
+ end
2162
+
2163
+ # ModifyWafAutoDenyRules返回参数结构体
2164
+ class ModifyWafAutoDenyRulesResponse < TencentCloud::Common::AbstractModel
2165
+ # @param Success: 成功的状态码,需要JSON解码后再使用,返回的格式是{"域名":"状态"},成功的状态码为Success,其它的为失败的状态码(yunapi定义的错误码)
2166
+ # @type Success: :class:`Tencentcloud::Waf.v20180125.models.ResponseCode`
2167
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2168
+ # @type RequestId: String
2169
+
2170
+ attr_accessor :Success, :RequestId
2171
+
2172
+ def initialize(success=nil, requestid=nil)
2173
+ @Success = success
2174
+ @RequestId = requestid
2175
+ end
2176
+
2177
+ def deserialize(params)
2178
+ unless params['Success'].nil?
2179
+ @Success = ResponseCode.new
2180
+ @Success.deserialize(params['Success'])
2181
+ end
2182
+ @RequestId = params['RequestId']
2183
+ end
2184
+ end
2185
+
2186
+ # ModifyWafAutoDenyStatus请求参数结构体
2187
+ class ModifyWafAutoDenyStatusRequest < TencentCloud::Common::AbstractModel
2188
+ # @param WafAutoDenyDetails: WAF 自动封禁配置项
2189
+ # @type WafAutoDenyDetails: :class:`Tencentcloud::Waf.v20180125.models.AutoDenyDetail`
2190
+
2191
+ attr_accessor :WafAutoDenyDetails
2192
+
2193
+ def initialize(wafautodenydetails=nil)
2194
+ @WafAutoDenyDetails = wafautodenydetails
2195
+ end
2196
+
2197
+ def deserialize(params)
2198
+ unless params['WafAutoDenyDetails'].nil?
2199
+ @WafAutoDenyDetails = AutoDenyDetail.new
2200
+ @WafAutoDenyDetails.deserialize(params['WafAutoDenyDetails'])
2201
+ end
2202
+ end
2203
+ end
2204
+
2205
+ # ModifyWafAutoDenyStatus返回参数结构体
2206
+ class ModifyWafAutoDenyStatusResponse < TencentCloud::Common::AbstractModel
2207
+ # @param WafAutoDenyDetails: WAF 自动封禁配置项
2208
+ # @type WafAutoDenyDetails: :class:`Tencentcloud::Waf.v20180125.models.AutoDenyDetail`
2209
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2210
+ # @type RequestId: String
2211
+
2212
+ attr_accessor :WafAutoDenyDetails, :RequestId
2213
+
2214
+ def initialize(wafautodenydetails=nil, requestid=nil)
2215
+ @WafAutoDenyDetails = wafautodenydetails
2216
+ @RequestId = requestid
2217
+ end
2218
+
2219
+ def deserialize(params)
2220
+ unless params['WafAutoDenyDetails'].nil?
2221
+ @WafAutoDenyDetails = AutoDenyDetail.new
2222
+ @WafAutoDenyDetails.deserialize(params['WafAutoDenyDetails'])
2223
+ end
2224
+ @RequestId = params['RequestId']
2225
+ end
2226
+ end
2227
+
2228
+ # ModifyWafThreatenIntelligence请求参数结构体
2229
+ class ModifyWafThreatenIntelligenceRequest < TencentCloud::Common::AbstractModel
2230
+ # @param WafThreatenIntelligenceDetails: 配置WAF威胁情报封禁模块详情
2231
+ # @type WafThreatenIntelligenceDetails: :class:`Tencentcloud::Waf.v20180125.models.WafThreatenIntelligenceDetails`
2232
+
2233
+ attr_accessor :WafThreatenIntelligenceDetails
2234
+
2235
+ def initialize(wafthreatenintelligencedetails=nil)
2236
+ @WafThreatenIntelligenceDetails = wafthreatenintelligencedetails
2237
+ end
2238
+
2239
+ def deserialize(params)
2240
+ unless params['WafThreatenIntelligenceDetails'].nil?
2241
+ @WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails.new
2242
+ @WafThreatenIntelligenceDetails.deserialize(params['WafThreatenIntelligenceDetails'])
2243
+ end
2244
+ end
2245
+ end
2246
+
2247
+ # ModifyWafThreatenIntelligence返回参数结构体
2248
+ class ModifyWafThreatenIntelligenceResponse < TencentCloud::Common::AbstractModel
2249
+ # @param WafThreatenIntelligenceDetails: 当前WAF威胁情报封禁模块详情
2250
+ # @type WafThreatenIntelligenceDetails: :class:`Tencentcloud::Waf.v20180125.models.WafThreatenIntelligenceDetails`
2251
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2252
+ # @type RequestId: String
2253
+
2254
+ attr_accessor :WafThreatenIntelligenceDetails, :RequestId
2255
+
2256
+ def initialize(wafthreatenintelligencedetails=nil, requestid=nil)
2257
+ @WafThreatenIntelligenceDetails = wafthreatenintelligencedetails
2258
+ @RequestId = requestid
2259
+ end
2260
+
2261
+ def deserialize(params)
2262
+ unless params['WafThreatenIntelligenceDetails'].nil?
2263
+ @WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails.new
2264
+ @WafThreatenIntelligenceDetails.deserialize(params['WafThreatenIntelligenceDetails'])
2265
+ end
2266
+ @RequestId = params['RequestId']
2267
+ end
2268
+ end
2269
+
2270
+ # 防护域名端口配置信息
2271
+ class PortItem < TencentCloud::Common::AbstractModel
2272
+ # @param Port: 监听端口配置
2273
+ # @type Port: String
2274
+ # @param Protocol: 与Port一一对应,表示端口对应的协议
2275
+ # @type Protocol: String
2276
+ # @param UpstreamPort: 与Port一一对应, 表示回源端口
2277
+ # @type UpstreamPort: String
2278
+ # @param UpstreamProtocol: 与Port一一对应, 表示回源协议
2279
+ # @type UpstreamProtocol: String
2280
+ # @param NginxServerId: Nginx的服务器ID
2281
+ # @type NginxServerId: String
2282
+
2283
+ attr_accessor :Port, :Protocol, :UpstreamPort, :UpstreamProtocol, :NginxServerId
2284
+
2285
+ def initialize(port=nil, protocol=nil, upstreamport=nil, upstreamprotocol=nil, nginxserverid=nil)
2286
+ @Port = port
2287
+ @Protocol = protocol
2288
+ @UpstreamPort = upstreamport
2289
+ @UpstreamProtocol = upstreamprotocol
2290
+ @NginxServerId = nginxserverid
2291
+ end
2292
+
2293
+ def deserialize(params)
2294
+ @Port = params['Port']
2295
+ @Protocol = params['Protocol']
2296
+ @UpstreamPort = params['UpstreamPort']
2297
+ @UpstreamProtocol = params['UpstreamProtocol']
2298
+ @NginxServerId = params['NginxServerId']
2299
+ end
2300
+ end
2301
+
1211
2302
  # 响应体的返回码
1212
2303
  class ResponseCode < TencentCloud::Common::AbstractModel
1213
2304
  # @param Code: 如果成功则返回Success,失败则返回yunapi定义的错误码
@@ -1228,6 +2319,42 @@ module TencentCloud
1228
2319
  end
1229
2320
  end
1230
2321
 
2322
+ # 规则白名单
2323
+ class RuleList < TencentCloud::Common::AbstractModel
2324
+ # @param Id: 规则Id
2325
+ # @type Id: Integer
2326
+ # @param Rules: 规则列表的id
2327
+ # @type Rules: Array
2328
+ # @param Url: 请求url
2329
+ # @type Url: String
2330
+ # @param Function: 请求的方法
2331
+ # @type Function: String
2332
+ # @param Time: 时间戳
2333
+ # @type Time: String
2334
+ # @param Status: 开关状态
2335
+ # @type Status: Integer
2336
+
2337
+ attr_accessor :Id, :Rules, :Url, :Function, :Time, :Status
2338
+
2339
+ def initialize(id=nil, rules=nil, url=nil, function=nil, time=nil, status=nil)
2340
+ @Id = id
2341
+ @Rules = rules
2342
+ @Url = url
2343
+ @Function = function
2344
+ @Time = time
2345
+ @Status = status
2346
+ end
2347
+
2348
+ def deserialize(params)
2349
+ @Id = params['Id']
2350
+ @Rules = params['Rules']
2351
+ @Url = params['Url']
2352
+ @Function = params['Function']
2353
+ @Time = params['Time']
2354
+ @Status = params['Status']
2355
+ end
2356
+ end
2357
+
1231
2358
  # SearchAccessLog请求参数结构体
1232
2359
  class SearchAccessLogRequest < TencentCloud::Common::AbstractModel
1233
2360
  # @param TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题
@@ -1356,6 +2483,81 @@ module TencentCloud
1356
2483
  end
1357
2484
  end
1358
2485
 
2486
+ # UpsertIpAccessControl请求参数结构体
2487
+ class UpsertIpAccessControlRequest < TencentCloud::Common::AbstractModel
2488
+ # @param Domain: 域名
2489
+ # @type Domain: String
2490
+ # @param Items: ip 参数列表,json数组由ip,source,note,action,valid_ts组成。ip对应配置的ip地址,source固定为custom值,note为注释,action值42为黑名单,40为白名单,valid_ts为有效日期,值为秒级时间戳
2491
+ # @type Items: Array
2492
+ # @param Edition: clb-waf或者sparta-waf
2493
+ # @type Edition: String
2494
+
2495
+ attr_accessor :Domain, :Items, :Edition
2496
+
2497
+ def initialize(domain=nil, items=nil, edition=nil)
2498
+ @Domain = domain
2499
+ @Items = items
2500
+ @Edition = edition
2501
+ end
2502
+
2503
+ def deserialize(params)
2504
+ @Domain = params['Domain']
2505
+ @Items = params['Items']
2506
+ @Edition = params['Edition']
2507
+ end
2508
+ end
2509
+
2510
+ # UpsertIpAccessControl返回参数结构体
2511
+ class UpsertIpAccessControlResponse < TencentCloud::Common::AbstractModel
2512
+ # @param FailedItems: 添加或修改失败的条目
2513
+ # 注意:此字段可能返回 null,表示取不到有效值。
2514
+ # @type FailedItems: String
2515
+ # @param FailedCount: 添加或修改失败的数目
2516
+ # 注意:此字段可能返回 null,表示取不到有效值。
2517
+ # @type FailedCount: Integer
2518
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2519
+ # @type RequestId: String
2520
+
2521
+ attr_accessor :FailedItems, :FailedCount, :RequestId
2522
+
2523
+ def initialize(faileditems=nil, failedcount=nil, requestid=nil)
2524
+ @FailedItems = faileditems
2525
+ @FailedCount = failedcount
2526
+ @RequestId = requestid
2527
+ end
2528
+
2529
+ def deserialize(params)
2530
+ @FailedItems = params['FailedItems']
2531
+ @FailedCount = params['FailedCount']
2532
+ @RequestId = params['RequestId']
2533
+ end
2534
+ end
2535
+
2536
+ # Waf 威胁情报封禁模块配置详情
2537
+ class WafThreatenIntelligenceDetails < TencentCloud::Common::AbstractModel
2538
+ # @param DefenseStatus: 封禁模组启用状态
2539
+ # @type DefenseStatus: Integer
2540
+ # @param Tags: 封禁属性标签
2541
+ # 注意:此字段可能返回 null,表示取不到有效值。
2542
+ # @type Tags: Array
2543
+ # @param LastUpdateTime: 最后更新时间
2544
+ # @type LastUpdateTime: String
2545
+
2546
+ attr_accessor :DefenseStatus, :Tags, :LastUpdateTime
2547
+
2548
+ def initialize(defensestatus=nil, tags=nil, lastupdatetime=nil)
2549
+ @DefenseStatus = defensestatus
2550
+ @Tags = tags
2551
+ @LastUpdateTime = lastupdatetime
2552
+ end
2553
+
2554
+ def deserialize(params)
2555
+ @DefenseStatus = params['DefenseStatus']
2556
+ @Tags = params['Tags']
2557
+ @LastUpdateTime = params['LastUpdateTime']
2558
+ end
2559
+ end
2560
+
1359
2561
  end
1360
2562
  end
1361
2563
  end