tencentcloud-sdk-waf 3.0.1169 → 3.0.1174

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.
@@ -556,6 +556,33 @@ module TencentCloud
556
556
  end
557
557
  end
558
558
 
559
+ # AddBypassAllRule请求参数结构体
560
+ class AddBypassAllRuleRequest < TencentCloud::Common::AbstractModel
561
+
562
+
563
+ def initialize()
564
+ end
565
+
566
+ def deserialize(params)
567
+ end
568
+ end
569
+
570
+ # AddBypassAllRule返回参数结构体
571
+ class AddBypassAllRuleResponse < TencentCloud::Common::AbstractModel
572
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
573
+ # @type RequestId: String
574
+
575
+ attr_accessor :RequestId
576
+
577
+ def initialize(requestid=nil)
578
+ @RequestId = requestid
579
+ end
580
+
581
+ def deserialize(params)
582
+ @RequestId = params['RequestId']
583
+ end
584
+ end
585
+
559
586
  # AddCustomRule请求参数结构体
560
587
  class AddCustomRuleRequest < TencentCloud::Common::AbstractModel
561
588
  # @param Name: 规则名称
@@ -1255,6 +1282,65 @@ module TencentCloud
1255
1282
  end
1256
1283
  end
1257
1284
 
1285
+ # 带有请求方式的apiname结构体
1286
+ class ApiNameMethod < TencentCloud::Common::AbstractModel
1287
+ # @param ApiName: api名称
1288
+ # @type ApiName: String
1289
+ # @param Method: api请求方式
1290
+ # @type Method: String
1291
+ # @param Count: api近30天请求数量
1292
+ # @type Count: Integer
1293
+ # @param Label: api标签
1294
+ # @type Label: Array
1295
+
1296
+ attr_accessor :ApiName, :Method, :Count, :Label
1297
+
1298
+ def initialize(apiname=nil, method=nil, count=nil, label=nil)
1299
+ @ApiName = apiname
1300
+ @Method = method
1301
+ @Count = count
1302
+ @Label = label
1303
+ end
1304
+
1305
+ def deserialize(params)
1306
+ @ApiName = params['ApiName']
1307
+ @Method = params['Method']
1308
+ @Count = params['Count']
1309
+ @Label = params['Label']
1310
+ end
1311
+ end
1312
+
1313
+ # 带有匹配方式的apiname列表
1314
+ class ApiNameOp < TencentCloud::Common::AbstractModel
1315
+ # @param Value: 匹配值列表
1316
+ # @type Value: Array
1317
+ # @param Op: 匹配方式,如属于和正则等
1318
+ # @type Op: String
1319
+ # @param ApiNameMethod: 手动筛选的时候,要传该结构体
1320
+ # @type ApiNameMethod: Array
1321
+
1322
+ attr_accessor :Value, :Op, :ApiNameMethod
1323
+
1324
+ def initialize(value=nil, op=nil, apinamemethod=nil)
1325
+ @Value = value
1326
+ @Op = op
1327
+ @ApiNameMethod = apinamemethod
1328
+ end
1329
+
1330
+ def deserialize(params)
1331
+ @Value = params['Value']
1332
+ @Op = params['Op']
1333
+ unless params['ApiNameMethod'].nil?
1334
+ @ApiNameMethod = []
1335
+ params['ApiNameMethod'].each do |i|
1336
+ apinamemethod_tmp = ApiNameMethod.new
1337
+ apinamemethod_tmp.deserialize(i)
1338
+ @ApiNameMethod << apinamemethod_tmp
1339
+ end
1340
+ end
1341
+ end
1342
+ end
1343
+
1258
1344
  # api请求参数类型
1259
1345
  class ApiParameterType < TencentCloud::Common::AbstractModel
1260
1346
  # @param ParameterName: 参数名称
@@ -1355,6 +1441,151 @@ module TencentCloud
1355
1441
  end
1356
1442
  end
1357
1443
 
1444
+ # api安全自定义事件规则结构体
1445
+ class ApiSecCustomEventRule < TencentCloud::Common::AbstractModel
1446
+ # @param RuleName: 规则名称
1447
+ # @type RuleName: String
1448
+ # @param Status: 开关,1:开,0:关
1449
+ # @type Status: Integer
1450
+ # @param ApiNameOp: api匹配列表
1451
+ # @type ApiNameOp: Array
1452
+ # @param Description: 事件详情
1453
+ # @type Description: String
1454
+ # @param UpdateTime: 时间戳,出参有该值,入参不需要传没有
1455
+ # @type UpdateTime: Integer
1456
+ # @param MatchRuleList: 匹配规则列表
1457
+ # @type MatchRuleList: Array
1458
+ # @param StatRuleList: 统计规则列表
1459
+ # @type StatRuleList: Array
1460
+ # @param ReqFrequency: 访问频次,第一个字段表示次数,第二个字段表示分钟
1461
+ # @type ReqFrequency: Array
1462
+ # @param RiskLevel: 风险等级,取值为100,200,300,分别表示低位、中危、高危
1463
+ # @type RiskLevel: String
1464
+ # @param Source: 规则来源
1465
+ # @type Source: String
1466
+
1467
+ attr_accessor :RuleName, :Status, :ApiNameOp, :Description, :UpdateTime, :MatchRuleList, :StatRuleList, :ReqFrequency, :RiskLevel, :Source
1468
+
1469
+ def initialize(rulename=nil, status=nil, apinameop=nil, description=nil, updatetime=nil, matchrulelist=nil, statrulelist=nil, reqfrequency=nil, risklevel=nil, source=nil)
1470
+ @RuleName = rulename
1471
+ @Status = status
1472
+ @ApiNameOp = apinameop
1473
+ @Description = description
1474
+ @UpdateTime = updatetime
1475
+ @MatchRuleList = matchrulelist
1476
+ @StatRuleList = statrulelist
1477
+ @ReqFrequency = reqfrequency
1478
+ @RiskLevel = risklevel
1479
+ @Source = source
1480
+ end
1481
+
1482
+ def deserialize(params)
1483
+ @RuleName = params['RuleName']
1484
+ @Status = params['Status']
1485
+ unless params['ApiNameOp'].nil?
1486
+ @ApiNameOp = []
1487
+ params['ApiNameOp'].each do |i|
1488
+ apinameop_tmp = ApiNameOp.new
1489
+ apinameop_tmp.deserialize(i)
1490
+ @ApiNameOp << apinameop_tmp
1491
+ end
1492
+ end
1493
+ @Description = params['Description']
1494
+ @UpdateTime = params['UpdateTime']
1495
+ unless params['MatchRuleList'].nil?
1496
+ @MatchRuleList = []
1497
+ params['MatchRuleList'].each do |i|
1498
+ apisecsceneruleentry_tmp = ApiSecSceneRuleEntry.new
1499
+ apisecsceneruleentry_tmp.deserialize(i)
1500
+ @MatchRuleList << apisecsceneruleentry_tmp
1501
+ end
1502
+ end
1503
+ unless params['StatRuleList'].nil?
1504
+ @StatRuleList = []
1505
+ params['StatRuleList'].each do |i|
1506
+ apisecsceneruleentry_tmp = ApiSecSceneRuleEntry.new
1507
+ apisecsceneruleentry_tmp.deserialize(i)
1508
+ @StatRuleList << apisecsceneruleentry_tmp
1509
+ end
1510
+ end
1511
+ @ReqFrequency = params['ReqFrequency']
1512
+ @RiskLevel = params['RiskLevel']
1513
+ @Source = params['Source']
1514
+ end
1515
+ end
1516
+
1517
+ # api安全客户自定义敏感检测规则
1518
+ class ApiSecCustomSensitiveRule < TencentCloud::Common::AbstractModel
1519
+ # @param Position: 参数位置
1520
+ # @type Position: Array
1521
+ # @param MatchKey: 匹配条件
1522
+ # @type MatchKey: String
1523
+ # @param MatchValue: 匹配值
1524
+ # @type MatchValue: Array
1525
+ # @param Level: 风险等级
1526
+ # @type Level: String
1527
+ # @param MatchCond: 匹配符号,当匹配条件为关键字匹配和字符匹配的时候传该值,可传多个
1528
+ # @type MatchCond: Array
1529
+ # @param IsPan: 规则是否泛化,默认0表示不泛化
1530
+ # @type IsPan: Integer
1531
+
1532
+ attr_accessor :Position, :MatchKey, :MatchValue, :Level, :MatchCond, :IsPan
1533
+
1534
+ def initialize(position=nil, matchkey=nil, matchvalue=nil, level=nil, matchcond=nil, ispan=nil)
1535
+ @Position = position
1536
+ @MatchKey = matchkey
1537
+ @MatchValue = matchvalue
1538
+ @Level = level
1539
+ @MatchCond = matchcond
1540
+ @IsPan = ispan
1541
+ end
1542
+
1543
+ def deserialize(params)
1544
+ @Position = params['Position']
1545
+ @MatchKey = params['MatchKey']
1546
+ @MatchValue = params['MatchValue']
1547
+ @Level = params['Level']
1548
+ @MatchCond = params['MatchCond']
1549
+ @IsPan = params['IsPan']
1550
+ end
1551
+ end
1552
+
1553
+ # api提取规则内容
1554
+ class ApiSecExtractRule < TencentCloud::Common::AbstractModel
1555
+ # @param RuleName: 规则名称
1556
+ # @type RuleName: String
1557
+ # @param ApiName: api名称
1558
+ # @type ApiName: String
1559
+ # @param Methods: 请求方法列表
1560
+ # @type Methods: Array
1561
+ # @param Status: 开关状态,0是关,1是开
1562
+ # @type Status: Integer
1563
+ # @param Regex: 正则匹配内容
1564
+ # @type Regex: String
1565
+ # @param UpdateTime: 10更新时间戳
1566
+ # @type UpdateTime: Integer
1567
+
1568
+ attr_accessor :RuleName, :ApiName, :Methods, :Status, :Regex, :UpdateTime
1569
+
1570
+ def initialize(rulename=nil, apiname=nil, methods=nil, status=nil, regex=nil, updatetime=nil)
1571
+ @RuleName = rulename
1572
+ @ApiName = apiname
1573
+ @Methods = methods
1574
+ @Status = status
1575
+ @Regex = regex
1576
+ @UpdateTime = updatetime
1577
+ end
1578
+
1579
+ def deserialize(params)
1580
+ @RuleName = params['RuleName']
1581
+ @ApiName = params['ApiName']
1582
+ @Methods = params['Methods']
1583
+ @Status = params['Status']
1584
+ @Regex = params['Regex']
1585
+ @UpdateTime = params['UpdateTime']
1586
+ end
1587
+ end
1588
+
1358
1589
  # api列表
1359
1590
  class ApiSecKey < TencentCloud::Common::AbstractModel
1360
1591
  # @param ApiName: api名称
@@ -1379,6 +1610,129 @@ module TencentCloud
1379
1610
  end
1380
1611
  end
1381
1612
 
1613
+ # 自定义api鉴权规则
1614
+ class ApiSecPrivilegeRule < TencentCloud::Common::AbstractModel
1615
+ # @param RuleName: 规则名称,不可重复
1616
+ # @type RuleName: String
1617
+ # @param Status: 1:开,0:关
1618
+ # @type Status: Integer
1619
+ # @param ApiName: 最多输入20个api
1620
+ # @type ApiName: Array
1621
+ # @param Position: 鉴权位置
1622
+ # @type Position: String
1623
+ # @param ParameterList: 鉴权参数列表
1624
+ # @type ParameterList: Array
1625
+ # @param UpdateTime: 更新时间戳
1626
+ # @type UpdateTime: Integer
1627
+ # @param Source: 规则来源
1628
+ # @type Source: String
1629
+ # @param ApiNameOp: 带有匹配方式的api列表
1630
+ # @type ApiNameOp: Array
1631
+ # @param Option: 应用对象取值,1表示手动填写,2表示从api资产中获取
1632
+ # @type Option: Integer
1633
+
1634
+ attr_accessor :RuleName, :Status, :ApiName, :Position, :ParameterList, :UpdateTime, :Source, :ApiNameOp, :Option
1635
+
1636
+ def initialize(rulename=nil, status=nil, apiname=nil, position=nil, parameterlist=nil, updatetime=nil, source=nil, apinameop=nil, option=nil)
1637
+ @RuleName = rulename
1638
+ @Status = status
1639
+ @ApiName = apiname
1640
+ @Position = position
1641
+ @ParameterList = parameterlist
1642
+ @UpdateTime = updatetime
1643
+ @Source = source
1644
+ @ApiNameOp = apinameop
1645
+ @Option = option
1646
+ end
1647
+
1648
+ def deserialize(params)
1649
+ @RuleName = params['RuleName']
1650
+ @Status = params['Status']
1651
+ @ApiName = params['ApiName']
1652
+ @Position = params['Position']
1653
+ @ParameterList = params['ParameterList']
1654
+ @UpdateTime = params['UpdateTime']
1655
+ @Source = params['Source']
1656
+ unless params['ApiNameOp'].nil?
1657
+ @ApiNameOp = []
1658
+ params['ApiNameOp'].each do |i|
1659
+ apinameop_tmp = ApiNameOp.new
1660
+ apinameop_tmp.deserialize(i)
1661
+ @ApiNameOp << apinameop_tmp
1662
+ end
1663
+ end
1664
+ @Option = params['Option']
1665
+ end
1666
+ end
1667
+
1668
+ # api安全自定义场景规则
1669
+ class ApiSecSceneRule < TencentCloud::Common::AbstractModel
1670
+ # @param RuleName: 场景名称
1671
+ # @type RuleName: String
1672
+ # @param Status: 开关状态,1表示开,0表示关
1673
+ # @type Status: Integer
1674
+ # @param UpdateTime: 更新时间,10位时间戳
1675
+ # @type UpdateTime: Integer
1676
+ # @param RuleList: 规则列表
1677
+ # @type RuleList: Array
1678
+ # @param Source: 规则来源,系统内置:OS
1679
+ # 客户自定义:custom
1680
+ # @type Source: String
1681
+
1682
+ attr_accessor :RuleName, :Status, :UpdateTime, :RuleList, :Source
1683
+
1684
+ def initialize(rulename=nil, status=nil, updatetime=nil, rulelist=nil, source=nil)
1685
+ @RuleName = rulename
1686
+ @Status = status
1687
+ @UpdateTime = updatetime
1688
+ @RuleList = rulelist
1689
+ @Source = source
1690
+ end
1691
+
1692
+ def deserialize(params)
1693
+ @RuleName = params['RuleName']
1694
+ @Status = params['Status']
1695
+ @UpdateTime = params['UpdateTime']
1696
+ unless params['RuleList'].nil?
1697
+ @RuleList = []
1698
+ params['RuleList'].each do |i|
1699
+ apisecsceneruleentry_tmp = ApiSecSceneRuleEntry.new
1700
+ apisecsceneruleentry_tmp.deserialize(i)
1701
+ @RuleList << apisecsceneruleentry_tmp
1702
+ end
1703
+ end
1704
+ @Source = params['Source']
1705
+ end
1706
+ end
1707
+
1708
+ # api安全用户自定义场景规则结构体
1709
+ class ApiSecSceneRuleEntry < TencentCloud::Common::AbstractModel
1710
+ # @param Key: 匹配字段
1711
+ # @type Key: String
1712
+ # @param Value: 匹配值
1713
+ # @type Value: Array
1714
+ # @param Operate: 操作符
1715
+ # @type Operate: String
1716
+ # @param Name: 当匹配字段是get参数值,post参数值,cookie参数值,header参数值,rsp参数值的时候,可填充此字段
1717
+ # @type Name: String
1718
+
1719
+ attr_accessor :Key, :Value, :Operate, :Name
1720
+
1721
+ def initialize(key=nil, value=nil, operate=nil, name=nil)
1722
+ @Key = key
1723
+ @Value = value
1724
+ @Operate = operate
1725
+ @Name = name
1726
+ end
1727
+
1728
+ def deserialize(params)
1729
+ @Key = params['Key']
1730
+ @Value = params['Value']
1731
+ @Operate = params['Operate']
1732
+ @Name = params['Name']
1733
+ end
1734
+ end
1735
+
1382
1736
  # 地域信息
1383
1737
  class Area < TencentCloud::Common::AbstractModel
1384
1738
  # @param Country: 国家,除了标准的国家外还支持国内、国外这两个特殊的标识
@@ -1746,6 +2100,38 @@ module TencentCloud
1746
2100
  end
1747
2101
  end
1748
2102
 
2103
+ # BOT-ID规则信息
2104
+ class BotIdConfig < TencentCloud::Common::AbstractModel
2105
+ # @param RuleId: 规则ID
2106
+ # @type RuleId: String
2107
+ # @param Status: 规则开关
2108
+ # @type Status: Boolean
2109
+ # @param Action: 动作配置
2110
+ # @type Action: String
2111
+ # @param BotId: 规则名称
2112
+ # @type BotId: String
2113
+ # @param Redirect: 重定向路径
2114
+ # @type Redirect: String
2115
+
2116
+ attr_accessor :RuleId, :Status, :Action, :BotId, :Redirect
2117
+
2118
+ def initialize(ruleid=nil, status=nil, action=nil, botid=nil, redirect=nil)
2119
+ @RuleId = ruleid
2120
+ @Status = status
2121
+ @Action = action
2122
+ @BotId = botid
2123
+ @Redirect = redirect
2124
+ end
2125
+
2126
+ def deserialize(params)
2127
+ @RuleId = params['RuleId']
2128
+ @Status = params['Status']
2129
+ @Action = params['Action']
2130
+ @BotId = params['BotId']
2131
+ @Redirect = params['Redirect']
2132
+ end
2133
+ end
2134
+
1749
2135
  # Bot资源信息
1750
2136
  class BotPkg < TencentCloud::Common::AbstractModel
1751
2137
  # @param ResourceIds: 资源id
@@ -3660,6 +4046,173 @@ module TencentCloud
3660
4046
  end
3661
4047
  end
3662
4048
 
4049
+ # CreateRateLimitV2请求参数结构体
4050
+ class CreateRateLimitV2Request < TencentCloud::Common::AbstractModel
4051
+ # @param Domain: 域名
4052
+ # @type Domain: String
4053
+ # @param Name: 规则名
4054
+ # @type Name: String
4055
+ # @param Priority: 规则优先级
4056
+ # @type Priority: Integer
4057
+ # @param Status: 规则开关,0关闭,1开启
4058
+ # @type Status: Integer
4059
+ # @param LimitWindow: 限流窗口
4060
+ # @type LimitWindow: :class:`Tencentcloud::Waf.v20180125.models.LimitWindow`
4061
+ # @param LimitObject: 支持API或Domain,如果是基于API,则LimitPaths不能为空,否则LimitPaths为空
4062
+ # @type LimitObject: String
4063
+ # @param LimitStrategy: 限流策略,0:观察,1:拦截,2:人机
4064
+ # @type LimitStrategy: Integer
4065
+ # @param LimitMethod: 限流方法
4066
+ # @type LimitMethod: :class:`Tencentcloud::Waf.v20180125.models.LimitMethod`
4067
+ # @param LimitPaths: 限流路径列表
4068
+ # @type LimitPaths: :class:`Tencentcloud::Waf.v20180125.models.LimitPath`
4069
+ # @param LimitHeaders: 限流Headers
4070
+ # @type LimitHeaders: Array
4071
+ # @param LimitHeaderName: 基于Header参数名限流
4072
+ # @type LimitHeaderName: :class:`Tencentcloud::Waf.v20180125.models.LimitHeaderName`
4073
+ # @param GetParamsName: 基于Get参数名限流
4074
+ # @type GetParamsName: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
4075
+ # @param GetParamsValue: 基于Get参数值限流
4076
+ # @type GetParamsValue: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
4077
+ # @param PostParamsName: 基于Post参数名限流
4078
+ # @type PostParamsName: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
4079
+ # @param PostParamsValue: 基于Post参数值限流
4080
+ # @type PostParamsValue: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
4081
+ # @param IpLocation: 基于IP归属地限流
4082
+ # @type IpLocation: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
4083
+ # @param RedirectInfo: 重定向信息,当LimitStrategy为重定向时,此字段必填
4084
+ # @type RedirectInfo: :class:`Tencentcloud::Waf.v20180125.models.RedirectInfo`
4085
+ # @param BlockPage: 拦截页面,0表示429,否则填写blockPageID
4086
+ # @type BlockPage: Integer
4087
+ # @param ObjectSrc: 限流对象来源,0:手动填写,1:API资产
4088
+ # @type ObjectSrc: Integer
4089
+ # @param QuotaShare: 是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
4090
+ # @type QuotaShare: Boolean
4091
+ # @param PathsOption: 路径选项,可配置每个路径的请求方法
4092
+ # @type PathsOption: Array
4093
+ # @param Order: 限流执行顺序,0:默认情况,限流优先,1:安全防护优先
4094
+ # @type Order: Integer
4095
+
4096
+ attr_accessor :Domain, :Name, :Priority, :Status, :LimitWindow, :LimitObject, :LimitStrategy, :LimitMethod, :LimitPaths, :LimitHeaders, :LimitHeaderName, :GetParamsName, :GetParamsValue, :PostParamsName, :PostParamsValue, :IpLocation, :RedirectInfo, :BlockPage, :ObjectSrc, :QuotaShare, :PathsOption, :Order
4097
+
4098
+ def initialize(domain=nil, name=nil, priority=nil, status=nil, limitwindow=nil, limitobject=nil, limitstrategy=nil, limitmethod=nil, limitpaths=nil, limitheaders=nil, limitheadername=nil, getparamsname=nil, getparamsvalue=nil, postparamsname=nil, postparamsvalue=nil, iplocation=nil, redirectinfo=nil, blockpage=nil, objectsrc=nil, quotashare=nil, pathsoption=nil, order=nil)
4099
+ @Domain = domain
4100
+ @Name = name
4101
+ @Priority = priority
4102
+ @Status = status
4103
+ @LimitWindow = limitwindow
4104
+ @LimitObject = limitobject
4105
+ @LimitStrategy = limitstrategy
4106
+ @LimitMethod = limitmethod
4107
+ @LimitPaths = limitpaths
4108
+ @LimitHeaders = limitheaders
4109
+ @LimitHeaderName = limitheadername
4110
+ @GetParamsName = getparamsname
4111
+ @GetParamsValue = getparamsvalue
4112
+ @PostParamsName = postparamsname
4113
+ @PostParamsValue = postparamsvalue
4114
+ @IpLocation = iplocation
4115
+ @RedirectInfo = redirectinfo
4116
+ @BlockPage = blockpage
4117
+ @ObjectSrc = objectsrc
4118
+ @QuotaShare = quotashare
4119
+ @PathsOption = pathsoption
4120
+ @Order = order
4121
+ end
4122
+
4123
+ def deserialize(params)
4124
+ @Domain = params['Domain']
4125
+ @Name = params['Name']
4126
+ @Priority = params['Priority']
4127
+ @Status = params['Status']
4128
+ unless params['LimitWindow'].nil?
4129
+ @LimitWindow = LimitWindow.new
4130
+ @LimitWindow.deserialize(params['LimitWindow'])
4131
+ end
4132
+ @LimitObject = params['LimitObject']
4133
+ @LimitStrategy = params['LimitStrategy']
4134
+ unless params['LimitMethod'].nil?
4135
+ @LimitMethod = LimitMethod.new
4136
+ @LimitMethod.deserialize(params['LimitMethod'])
4137
+ end
4138
+ unless params['LimitPaths'].nil?
4139
+ @LimitPaths = LimitPath.new
4140
+ @LimitPaths.deserialize(params['LimitPaths'])
4141
+ end
4142
+ unless params['LimitHeaders'].nil?
4143
+ @LimitHeaders = []
4144
+ params['LimitHeaders'].each do |i|
4145
+ limitheader_tmp = LimitHeader.new
4146
+ limitheader_tmp.deserialize(i)
4147
+ @LimitHeaders << limitheader_tmp
4148
+ end
4149
+ end
4150
+ unless params['LimitHeaderName'].nil?
4151
+ @LimitHeaderName = LimitHeaderName.new
4152
+ @LimitHeaderName.deserialize(params['LimitHeaderName'])
4153
+ end
4154
+ unless params['GetParamsName'].nil?
4155
+ @GetParamsName = MatchOption.new
4156
+ @GetParamsName.deserialize(params['GetParamsName'])
4157
+ end
4158
+ unless params['GetParamsValue'].nil?
4159
+ @GetParamsValue = MatchOption.new
4160
+ @GetParamsValue.deserialize(params['GetParamsValue'])
4161
+ end
4162
+ unless params['PostParamsName'].nil?
4163
+ @PostParamsName = MatchOption.new
4164
+ @PostParamsName.deserialize(params['PostParamsName'])
4165
+ end
4166
+ unless params['PostParamsValue'].nil?
4167
+ @PostParamsValue = MatchOption.new
4168
+ @PostParamsValue.deserialize(params['PostParamsValue'])
4169
+ end
4170
+ unless params['IpLocation'].nil?
4171
+ @IpLocation = MatchOption.new
4172
+ @IpLocation.deserialize(params['IpLocation'])
4173
+ end
4174
+ unless params['RedirectInfo'].nil?
4175
+ @RedirectInfo = RedirectInfo.new
4176
+ @RedirectInfo.deserialize(params['RedirectInfo'])
4177
+ end
4178
+ @BlockPage = params['BlockPage']
4179
+ @ObjectSrc = params['ObjectSrc']
4180
+ @QuotaShare = params['QuotaShare']
4181
+ unless params['PathsOption'].nil?
4182
+ @PathsOption = []
4183
+ params['PathsOption'].each do |i|
4184
+ pathitem_tmp = PathItem.new
4185
+ pathitem_tmp.deserialize(i)
4186
+ @PathsOption << pathitem_tmp
4187
+ end
4188
+ end
4189
+ @Order = params['Order']
4190
+ end
4191
+ end
4192
+
4193
+ # CreateRateLimitV2返回参数结构体
4194
+ class CreateRateLimitV2Response < TencentCloud::Common::AbstractModel
4195
+ # @param BaseInfo: 操作结果
4196
+ # @type BaseInfo: :class:`Tencentcloud::Waf.v20180125.models.RateLimitCommonRsp`
4197
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
4198
+ # @type RequestId: String
4199
+
4200
+ attr_accessor :BaseInfo, :RequestId
4201
+
4202
+ def initialize(baseinfo=nil, requestid=nil)
4203
+ @BaseInfo = baseinfo
4204
+ @RequestId = requestid
4205
+ end
4206
+
4207
+ def deserialize(params)
4208
+ unless params['BaseInfo'].nil?
4209
+ @BaseInfo = RateLimitCommonRsp.new
4210
+ @BaseInfo.deserialize(params['BaseInfo'])
4211
+ end
4212
+ @RequestId = params['RequestId']
4213
+ end
4214
+ end
4215
+
3663
4216
  # 规则周期执行的数据结构
3664
4217
  class CronJob < TencentCloud::Common::AbstractModel
3665
4218
  # @param Days: 每个月的几号执行
@@ -4367,8 +4920,44 @@ module TencentCloud
4367
4920
  end
4368
4921
  end
4369
4922
 
4370
- # DeleteOwaspRuleStatus返回参数结构体
4371
- class DeleteOwaspRuleStatusResponse < TencentCloud::Common::AbstractModel
4923
+ # DeleteOwaspRuleStatus返回参数结构体
4924
+ class DeleteOwaspRuleStatusResponse < TencentCloud::Common::AbstractModel
4925
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
4926
+ # @type RequestId: String
4927
+
4928
+ attr_accessor :RequestId
4929
+
4930
+ def initialize(requestid=nil)
4931
+ @RequestId = requestid
4932
+ end
4933
+
4934
+ def deserialize(params)
4935
+ @RequestId = params['RequestId']
4936
+ end
4937
+ end
4938
+
4939
+ # DeleteOwaspWhiteRule请求参数结构体
4940
+ class DeleteOwaspWhiteRuleRequest < TencentCloud::Common::AbstractModel
4941
+ # @param Ids: 规则白名单ID列表
4942
+ # @type Ids: Array
4943
+ # @param Domain: 域名
4944
+ # @type Domain: String
4945
+
4946
+ attr_accessor :Ids, :Domain
4947
+
4948
+ def initialize(ids=nil, domain=nil)
4949
+ @Ids = ids
4950
+ @Domain = domain
4951
+ end
4952
+
4953
+ def deserialize(params)
4954
+ @Ids = params['Ids']
4955
+ @Domain = params['Domain']
4956
+ end
4957
+ end
4958
+
4959
+ # DeleteOwaspWhiteRule返回参数结构体
4960
+ class DeleteOwaspWhiteRuleResponse < TencentCloud::Common::AbstractModel
4372
4961
  # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
4373
4962
  # @type RequestId: String
4374
4963
 
@@ -4383,38 +4972,45 @@ module TencentCloud
4383
4972
  end
4384
4973
  end
4385
4974
 
4386
- # DeleteOwaspWhiteRule请求参数结构体
4387
- class DeleteOwaspWhiteRuleRequest < TencentCloud::Common::AbstractModel
4388
- # @param Ids: 规则白名单ID列表
4389
- # @type Ids: Array
4975
+ # DeleteRateLimitsV2请求参数结构体
4976
+ class DeleteRateLimitsV2Request < TencentCloud::Common::AbstractModel
4390
4977
  # @param Domain: 域名
4391
4978
  # @type Domain: String
4979
+ # @param LimitRuleIds: 要删除的限流ID列表
4980
+ # @type LimitRuleIds: Array
4392
4981
 
4393
- attr_accessor :Ids, :Domain
4982
+ attr_accessor :Domain, :LimitRuleIds
4394
4983
 
4395
- def initialize(ids=nil, domain=nil)
4396
- @Ids = ids
4984
+ def initialize(domain=nil, limitruleids=nil)
4397
4985
  @Domain = domain
4986
+ @LimitRuleIds = limitruleids
4398
4987
  end
4399
4988
 
4400
4989
  def deserialize(params)
4401
- @Ids = params['Ids']
4402
4990
  @Domain = params['Domain']
4991
+ @LimitRuleIds = params['LimitRuleIds']
4403
4992
  end
4404
4993
  end
4405
4994
 
4406
- # DeleteOwaspWhiteRule返回参数结构体
4407
- class DeleteOwaspWhiteRuleResponse < TencentCloud::Common::AbstractModel
4995
+ # DeleteRateLimitsV2返回参数结构体
4996
+ class DeleteRateLimitsV2Response < TencentCloud::Common::AbstractModel
4997
+ # @param BaseInfo: 操作结果
4998
+ # @type BaseInfo: :class:`Tencentcloud::Waf.v20180125.models.RateLimitCommonRsp`
4408
4999
  # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
4409
5000
  # @type RequestId: String
4410
5001
 
4411
- attr_accessor :RequestId
5002
+ attr_accessor :BaseInfo, :RequestId
4412
5003
 
4413
- def initialize(requestid=nil)
5004
+ def initialize(baseinfo=nil, requestid=nil)
5005
+ @BaseInfo = baseinfo
4414
5006
  @RequestId = requestid
4415
5007
  end
4416
5008
 
4417
5009
  def deserialize(params)
5010
+ unless params['BaseInfo'].nil?
5011
+ @BaseInfo = RateLimitCommonRsp.new
5012
+ @BaseInfo.deserialize(params['BaseInfo'])
5013
+ end
4418
5014
  @RequestId = params['RequestId']
4419
5015
  end
4420
5016
  end
@@ -8289,6 +8885,108 @@ module TencentCloud
8289
8885
  end
8290
8886
  end
8291
8887
 
8888
+ # DescribeRateLimitsV2请求参数结构体
8889
+ class DescribeRateLimitsV2Request < TencentCloud::Common::AbstractModel
8890
+ # @param Domain: 域名
8891
+ # @type Domain: String
8892
+ # @param Id: 限流规则ID
8893
+ # @type Id: Integer
8894
+ # @param Name: 规则名
8895
+ # @type Name: String
8896
+ # @param Method: 限流接口名
8897
+ # @type Method: String
8898
+ # @param LimitObject: 限流对象,可选API、Domain
8899
+ # @type LimitObject: String
8900
+ # @param Status: 规则开关,0表示关闭,1表示开启
8901
+ # @type Status: Integer
8902
+ # @param Order: 排序方式,可选desc、asc
8903
+ # @type Order: String
8904
+ # @param By: 排序字段,可选Priority、Timestamp、ID
8905
+ # @type By: String
8906
+ # @param Offset: 分页的起始位置
8907
+ # @type Offset: Integer
8908
+ # @param Limit: 每页行数
8909
+ # @type Limit: Integer
8910
+ # @param Filters: 过滤器
8911
+ # @type Filters: Array
8912
+
8913
+ attr_accessor :Domain, :Id, :Name, :Method, :LimitObject, :Status, :Order, :By, :Offset, :Limit, :Filters
8914
+
8915
+ def initialize(domain=nil, id=nil, name=nil, method=nil, limitobject=nil, status=nil, order=nil, by=nil, offset=nil, limit=nil, filters=nil)
8916
+ @Domain = domain
8917
+ @Id = id
8918
+ @Name = name
8919
+ @Method = method
8920
+ @LimitObject = limitobject
8921
+ @Status = status
8922
+ @Order = order
8923
+ @By = by
8924
+ @Offset = offset
8925
+ @Limit = limit
8926
+ @Filters = filters
8927
+ end
8928
+
8929
+ def deserialize(params)
8930
+ @Domain = params['Domain']
8931
+ @Id = params['Id']
8932
+ @Name = params['Name']
8933
+ @Method = params['Method']
8934
+ @LimitObject = params['LimitObject']
8935
+ @Status = params['Status']
8936
+ @Order = params['Order']
8937
+ @By = params['By']
8938
+ @Offset = params['Offset']
8939
+ @Limit = params['Limit']
8940
+ unless params['Filters'].nil?
8941
+ @Filters = []
8942
+ params['Filters'].each do |i|
8943
+ filtersitemnew_tmp = FiltersItemNew.new
8944
+ filtersitemnew_tmp.deserialize(i)
8945
+ @Filters << filtersitemnew_tmp
8946
+ end
8947
+ end
8948
+ end
8949
+ end
8950
+
8951
+ # DescribeRateLimitsV2返回参数结构体
8952
+ class DescribeRateLimitsV2Response < TencentCloud::Common::AbstractModel
8953
+ # @param Total: 查询结果中规则数量
8954
+ # @type Total: Integer
8955
+ # @param BaseInfo: 操作结果
8956
+ # @type BaseInfo: :class:`Tencentcloud::Waf.v20180125.models.RateLimitCommonRsp`
8957
+ # @param RateLimits: 规则列表
8958
+ # 注意:此字段可能返回 null,表示取不到有效值。
8959
+ # @type RateLimits: Array
8960
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
8961
+ # @type RequestId: String
8962
+
8963
+ attr_accessor :Total, :BaseInfo, :RateLimits, :RequestId
8964
+
8965
+ def initialize(total=nil, baseinfo=nil, ratelimits=nil, requestid=nil)
8966
+ @Total = total
8967
+ @BaseInfo = baseinfo
8968
+ @RateLimits = ratelimits
8969
+ @RequestId = requestid
8970
+ end
8971
+
8972
+ def deserialize(params)
8973
+ @Total = params['Total']
8974
+ unless params['BaseInfo'].nil?
8975
+ @BaseInfo = RateLimitCommonRsp.new
8976
+ @BaseInfo.deserialize(params['BaseInfo'])
8977
+ end
8978
+ unless params['RateLimits'].nil?
8979
+ @RateLimits = []
8980
+ params['RateLimits'].each do |i|
8981
+ limitrulev2_tmp = LimitRuleV2.new
8982
+ limitrulev2_tmp.deserialize(i)
8983
+ @RateLimits << limitrulev2_tmp
8984
+ end
8985
+ end
8986
+ @RequestId = params['RequestId']
8987
+ end
8988
+ end
8989
+
8292
8990
  # DescribeRuleLimit请求参数结构体
8293
8991
  class DescribeRuleLimitRequest < TencentCloud::Common::AbstractModel
8294
8992
  # @param Domain: 域名
@@ -10147,6 +10845,76 @@ module TencentCloud
10147
10845
  end
10148
10846
  end
10149
10847
 
10848
+ # EnableLimitRuleItem
10849
+ class EnableLimitRuleItem < TencentCloud::Common::AbstractModel
10850
+ # @param LimitRuleId: 规则ID
10851
+ # @type LimitRuleId: Integer
10852
+ # @param Status: 规则开关,0开启,1关闭
10853
+ # @type Status: Integer
10854
+
10855
+ attr_accessor :LimitRuleId, :Status
10856
+
10857
+ def initialize(limitruleid=nil, status=nil)
10858
+ @LimitRuleId = limitruleid
10859
+ @Status = status
10860
+ end
10861
+
10862
+ def deserialize(params)
10863
+ @LimitRuleId = params['LimitRuleId']
10864
+ @Status = params['Status']
10865
+ end
10866
+ end
10867
+
10868
+ # EnableRateLimitsV2请求参数结构体
10869
+ class EnableRateLimitsV2Request < TencentCloud::Common::AbstractModel
10870
+ # @param Domain: 域名
10871
+ # @type Domain: String
10872
+ # @param EnableItems: 具体规则列表
10873
+ # @type EnableItems: Array
10874
+
10875
+ attr_accessor :Domain, :EnableItems
10876
+
10877
+ def initialize(domain=nil, enableitems=nil)
10878
+ @Domain = domain
10879
+ @EnableItems = enableitems
10880
+ end
10881
+
10882
+ def deserialize(params)
10883
+ @Domain = params['Domain']
10884
+ unless params['EnableItems'].nil?
10885
+ @EnableItems = []
10886
+ params['EnableItems'].each do |i|
10887
+ enablelimitruleitem_tmp = EnableLimitRuleItem.new
10888
+ enablelimitruleitem_tmp.deserialize(i)
10889
+ @EnableItems << enablelimitruleitem_tmp
10890
+ end
10891
+ end
10892
+ end
10893
+ end
10894
+
10895
+ # EnableRateLimitsV2返回参数结构体
10896
+ class EnableRateLimitsV2Response < TencentCloud::Common::AbstractModel
10897
+ # @param BaseInfo: 操作结果
10898
+ # @type BaseInfo: :class:`Tencentcloud::Waf.v20180125.models.RateLimitCommonRsp`
10899
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
10900
+ # @type RequestId: String
10901
+
10902
+ attr_accessor :BaseInfo, :RequestId
10903
+
10904
+ def initialize(baseinfo=nil, requestid=nil)
10905
+ @BaseInfo = baseinfo
10906
+ @RequestId = requestid
10907
+ end
10908
+
10909
+ def deserialize(params)
10910
+ unless params['BaseInfo'].nil?
10911
+ @BaseInfo = RateLimitCommonRsp.new
10912
+ @BaseInfo.deserialize(params['BaseInfo'])
10913
+ end
10914
+ @RequestId = params['RequestId']
10915
+ end
10916
+ end
10917
+
10150
10918
  # DescribeAccessExports接口
10151
10919
  class ExportAccessInfo < TencentCloud::Common::AbstractModel
10152
10920
  # @param ExportId: 日志导出任务ID
@@ -12137,24 +12905,308 @@ module TencentCloud
12137
12905
  # @param InquireKey: 计费项
12138
12906
  # @type InquireKey: String
12139
12907
 
12140
- attr_accessor :ResourceIds, :Status, :Region, :BeginTime, :EndTime, :InquireKey
12908
+ attr_accessor :ResourceIds, :Status, :Region, :BeginTime, :EndTime, :InquireKey
12909
+
12910
+ def initialize(resourceids=nil, status=nil, region=nil, begintime=nil, endtime=nil, inquirekey=nil)
12911
+ @ResourceIds = resourceids
12912
+ @Status = status
12913
+ @Region = region
12914
+ @BeginTime = begintime
12915
+ @EndTime = endtime
12916
+ @InquireKey = inquirekey
12917
+ end
12918
+
12919
+ def deserialize(params)
12920
+ @ResourceIds = params['ResourceIds']
12921
+ @Status = params['Status']
12922
+ @Region = params['Region']
12923
+ @BeginTime = params['BeginTime']
12924
+ @EndTime = params['EndTime']
12925
+ @InquireKey = params['InquireKey']
12926
+ end
12927
+ end
12928
+
12929
+ # 限流Header数据结构
12930
+ class LimitHeader < TencentCloud::Common::AbstractModel
12931
+ # @param Key: key
12932
+ # 注意:此字段可能返回 null,表示取不到有效值。
12933
+ # @type Key: String
12934
+ # @param Value: value
12935
+ # 注意:此字段可能返回 null,表示取不到有效值。
12936
+ # @type Value: String
12937
+ # @param Type: 匹配方式,支持EXACT(等于), REGEX(正则) , IN(属于) , NOT_IN(不属于), CONTAINS(包含), NOT_CONTAINS(不包含)
12938
+ # 注意:此字段可能返回 null,表示取不到有效值。
12939
+ # @type Type: String
12940
+
12941
+ attr_accessor :Key, :Value, :Type
12942
+
12943
+ def initialize(key=nil, value=nil, type=nil)
12944
+ @Key = key
12945
+ @Value = value
12946
+ @Type = type
12947
+ end
12948
+
12949
+ def deserialize(params)
12950
+ @Key = params['Key']
12951
+ @Value = params['Value']
12952
+ @Type = params['Type']
12953
+ end
12954
+ end
12955
+
12956
+ # 限流Header参数名
12957
+ class LimitHeaderName < TencentCloud::Common::AbstractModel
12958
+ # @param ParamsName: 参数名
12959
+ # 注意:此字段可能返回 null,表示取不到有效值。
12960
+ # @type ParamsName: String
12961
+ # @param Type: 操作符号,支持REGEX(正则),IN(属于),NOT_IN(不属于), EACH(每个参数值)
12962
+ # 注意:此字段可能返回 null,表示取不到有效值。
12963
+ # @type Type: String
12964
+
12965
+ attr_accessor :ParamsName, :Type
12966
+
12967
+ def initialize(paramsname=nil, type=nil)
12968
+ @ParamsName = paramsname
12969
+ @Type = type
12970
+ end
12971
+
12972
+ def deserialize(params)
12973
+ @ParamsName = params['ParamsName']
12974
+ @Type = params['Type']
12975
+ end
12976
+ end
12977
+
12978
+ # 限流方法数据结构
12979
+ class LimitMethod < TencentCloud::Common::AbstractModel
12980
+ # @param Method: 需要限流的请求方式
12981
+ # 注意:此字段可能返回 null,表示取不到有效值。
12982
+ # @type Method: String
12983
+ # @param Type: 匹配方式,支持EXACT(等于), REGEX(正则) , IN(属于) , NOT_IN(不属于), CONTAINS(包含), NOT_CONTAINS(不包含)
12984
+ # 注意:此字段可能返回 null,表示取不到有效值。
12985
+ # @type Type: String
12986
+
12987
+ attr_accessor :Method, :Type
12988
+
12989
+ def initialize(method=nil, type=nil)
12990
+ @Method = method
12991
+ @Type = type
12992
+ end
12993
+
12994
+ def deserialize(params)
12995
+ @Method = params['Method']
12996
+ @Type = params['Type']
12997
+ end
12998
+ end
12999
+
13000
+ # 限流Path
13001
+ class LimitPath < TencentCloud::Common::AbstractModel
13002
+ # @param Path: 限流路径
13003
+ # 注意:此字段可能返回 null,表示取不到有效值。
13004
+ # @type Path: String
13005
+ # @param Type: 匹配方式
13006
+ # 注意:此字段可能返回 null,表示取不到有效值。
13007
+ # @type Type: String
13008
+
13009
+ attr_accessor :Path, :Type
13010
+
13011
+ def initialize(path=nil, type=nil)
13012
+ @Path = path
13013
+ @Type = type
13014
+ end
13015
+
13016
+ def deserialize(params)
13017
+ @Path = params['Path']
13018
+ @Type = params['Type']
13019
+ end
13020
+ end
13021
+
13022
+ # 自研版限流规则数据结构
13023
+ class LimitRuleV2 < TencentCloud::Common::AbstractModel
13024
+ # @param LimitRuleID: 规则ID
13025
+ # @type LimitRuleID: Integer
13026
+ # @param Name: 规则名
13027
+ # @type Name: String
13028
+ # @param Priority: 优先级
13029
+ # @type Priority: Integer
13030
+ # @param Status: 规则开关,0表示关闭,1表示开启
13031
+ # @type Status: Integer
13032
+ # @param TsVersion: 时间戳
13033
+ # @type TsVersion: Integer
13034
+ # @param LimitObject: 限流对象,API或Domain
13035
+ # @type LimitObject: String
13036
+ # @param LimitMethod: 限流方法名
13037
+ # 注意:此字段可能返回 null,表示取不到有效值。
13038
+ # @type LimitMethod: :class:`Tencentcloud::Waf.v20180125.models.LimitMethod`
13039
+ # @param LimitPaths: 路径
13040
+ # 注意:此字段可能返回 null,表示取不到有效值。
13041
+ # @type LimitPaths: :class:`Tencentcloud::Waf.v20180125.models.LimitPath`
13042
+ # @param LimitHeaders: Header参数
13043
+ # 注意:此字段可能返回 null,表示取不到有效值。
13044
+ # @type LimitHeaders: Array
13045
+ # @param LimitWindow: 限流窗口
13046
+ # @type LimitWindow: :class:`Tencentcloud::Waf.v20180125.models.LimitWindow`
13047
+ # @param LimitStrategy: 限流策略,0:观察,1:拦截,2:人机
13048
+ # @type LimitStrategy: Integer
13049
+ # @param LimitHeaderName: Header参数名
13050
+ # 注意:此字段可能返回 null,表示取不到有效值。
13051
+ # @type LimitHeaderName: :class:`Tencentcloud::Waf.v20180125.models.LimitHeaderName`
13052
+ # @param GetParamsName: Get参数名
13053
+ # 注意:此字段可能返回 null,表示取不到有效值。
13054
+ # @type GetParamsName: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
13055
+ # @param GetParamsValue: Get参数值
13056
+ # 注意:此字段可能返回 null,表示取不到有效值。
13057
+ # @type GetParamsValue: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
13058
+ # @param PostParamsName: Post参数名
13059
+ # 注意:此字段可能返回 null,表示取不到有效值。
13060
+ # @type PostParamsName: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
13061
+ # @param PostParamsValue: Post参数值
13062
+ # 注意:此字段可能返回 null,表示取不到有效值。
13063
+ # @type PostParamsValue: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
13064
+ # @param IpLocation: Ip属地
13065
+ # 注意:此字段可能返回 null,表示取不到有效值。
13066
+ # @type IpLocation: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
13067
+ # @param RedirectInfo: 重定向信息,当LimitStrategy为2时,此字段不为空
13068
+ # 注意:此字段可能返回 null,表示取不到有效值。
13069
+ # @type RedirectInfo: :class:`Tencentcloud::Waf.v20180125.models.RedirectInfo`
13070
+ # @param BlockPage: 拦截页面,0表示429,否则为BlockPageID
13071
+ # @type BlockPage: Integer
13072
+ # @param ObjectSrc: 限流对象来源,0:手动填写,1:API资产
13073
+ # @type ObjectSrc: Integer
13074
+ # @param QuotaShare: 是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
13075
+ # @type QuotaShare: Boolean
13076
+ # @param PathsOption: 路径选项,可配置每个路径的请求方法
13077
+ # 注意:此字段可能返回 null,表示取不到有效值。
13078
+ # @type PathsOption: Array
13079
+ # @param Order: 574新增需求,限流执行顺序,0:默认情况,限流优先,1:安全防护优先
13080
+ # @type Order: Integer
13081
+
13082
+ attr_accessor :LimitRuleID, :Name, :Priority, :Status, :TsVersion, :LimitObject, :LimitMethod, :LimitPaths, :LimitHeaders, :LimitWindow, :LimitStrategy, :LimitHeaderName, :GetParamsName, :GetParamsValue, :PostParamsName, :PostParamsValue, :IpLocation, :RedirectInfo, :BlockPage, :ObjectSrc, :QuotaShare, :PathsOption, :Order
13083
+
13084
+ def initialize(limitruleid=nil, name=nil, priority=nil, status=nil, tsversion=nil, limitobject=nil, limitmethod=nil, limitpaths=nil, limitheaders=nil, limitwindow=nil, limitstrategy=nil, limitheadername=nil, getparamsname=nil, getparamsvalue=nil, postparamsname=nil, postparamsvalue=nil, iplocation=nil, redirectinfo=nil, blockpage=nil, objectsrc=nil, quotashare=nil, pathsoption=nil, order=nil)
13085
+ @LimitRuleID = limitruleid
13086
+ @Name = name
13087
+ @Priority = priority
13088
+ @Status = status
13089
+ @TsVersion = tsversion
13090
+ @LimitObject = limitobject
13091
+ @LimitMethod = limitmethod
13092
+ @LimitPaths = limitpaths
13093
+ @LimitHeaders = limitheaders
13094
+ @LimitWindow = limitwindow
13095
+ @LimitStrategy = limitstrategy
13096
+ @LimitHeaderName = limitheadername
13097
+ @GetParamsName = getparamsname
13098
+ @GetParamsValue = getparamsvalue
13099
+ @PostParamsName = postparamsname
13100
+ @PostParamsValue = postparamsvalue
13101
+ @IpLocation = iplocation
13102
+ @RedirectInfo = redirectinfo
13103
+ @BlockPage = blockpage
13104
+ @ObjectSrc = objectsrc
13105
+ @QuotaShare = quotashare
13106
+ @PathsOption = pathsoption
13107
+ @Order = order
13108
+ end
13109
+
13110
+ def deserialize(params)
13111
+ @LimitRuleID = params['LimitRuleID']
13112
+ @Name = params['Name']
13113
+ @Priority = params['Priority']
13114
+ @Status = params['Status']
13115
+ @TsVersion = params['TsVersion']
13116
+ @LimitObject = params['LimitObject']
13117
+ unless params['LimitMethod'].nil?
13118
+ @LimitMethod = LimitMethod.new
13119
+ @LimitMethod.deserialize(params['LimitMethod'])
13120
+ end
13121
+ unless params['LimitPaths'].nil?
13122
+ @LimitPaths = LimitPath.new
13123
+ @LimitPaths.deserialize(params['LimitPaths'])
13124
+ end
13125
+ unless params['LimitHeaders'].nil?
13126
+ @LimitHeaders = []
13127
+ params['LimitHeaders'].each do |i|
13128
+ limitheader_tmp = LimitHeader.new
13129
+ limitheader_tmp.deserialize(i)
13130
+ @LimitHeaders << limitheader_tmp
13131
+ end
13132
+ end
13133
+ unless params['LimitWindow'].nil?
13134
+ @LimitWindow = LimitWindow.new
13135
+ @LimitWindow.deserialize(params['LimitWindow'])
13136
+ end
13137
+ @LimitStrategy = params['LimitStrategy']
13138
+ unless params['LimitHeaderName'].nil?
13139
+ @LimitHeaderName = LimitHeaderName.new
13140
+ @LimitHeaderName.deserialize(params['LimitHeaderName'])
13141
+ end
13142
+ unless params['GetParamsName'].nil?
13143
+ @GetParamsName = MatchOption.new
13144
+ @GetParamsName.deserialize(params['GetParamsName'])
13145
+ end
13146
+ unless params['GetParamsValue'].nil?
13147
+ @GetParamsValue = MatchOption.new
13148
+ @GetParamsValue.deserialize(params['GetParamsValue'])
13149
+ end
13150
+ unless params['PostParamsName'].nil?
13151
+ @PostParamsName = MatchOption.new
13152
+ @PostParamsName.deserialize(params['PostParamsName'])
13153
+ end
13154
+ unless params['PostParamsValue'].nil?
13155
+ @PostParamsValue = MatchOption.new
13156
+ @PostParamsValue.deserialize(params['PostParamsValue'])
13157
+ end
13158
+ unless params['IpLocation'].nil?
13159
+ @IpLocation = MatchOption.new
13160
+ @IpLocation.deserialize(params['IpLocation'])
13161
+ end
13162
+ unless params['RedirectInfo'].nil?
13163
+ @RedirectInfo = RedirectInfo.new
13164
+ @RedirectInfo.deserialize(params['RedirectInfo'])
13165
+ end
13166
+ @BlockPage = params['BlockPage']
13167
+ @ObjectSrc = params['ObjectSrc']
13168
+ @QuotaShare = params['QuotaShare']
13169
+ unless params['PathsOption'].nil?
13170
+ @PathsOption = []
13171
+ params['PathsOption'].each do |i|
13172
+ pathitem_tmp = PathItem.new
13173
+ pathitem_tmp.deserialize(i)
13174
+ @PathsOption << pathitem_tmp
13175
+ end
13176
+ end
13177
+ @Order = params['Order']
13178
+ end
13179
+ end
13180
+
13181
+ # 限流窗口大小
13182
+ class LimitWindow < TencentCloud::Common::AbstractModel
13183
+ # @param Second: 每秒允许通过的最大请求数
13184
+ # 注意:此字段可能返回 null,表示取不到有效值。
13185
+ # @type Second: Integer
13186
+ # @param Minute: 每分钟允许通过的最大请求数
13187
+ # 注意:此字段可能返回 null,表示取不到有效值。
13188
+ # @type Minute: Integer
13189
+ # @param Hour: 每小时允许通过的最大请求数
13190
+ # 注意:此字段可能返回 null,表示取不到有效值。
13191
+ # @type Hour: Integer
13192
+ # @param QuotaShare: 是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
13193
+ # 注意:此字段可能返回 null,表示取不到有效值。
13194
+ # @type QuotaShare: Boolean
13195
+
13196
+ attr_accessor :Second, :Minute, :Hour, :QuotaShare
12141
13197
 
12142
- def initialize(resourceids=nil, status=nil, region=nil, begintime=nil, endtime=nil, inquirekey=nil)
12143
- @ResourceIds = resourceids
12144
- @Status = status
12145
- @Region = region
12146
- @BeginTime = begintime
12147
- @EndTime = endtime
12148
- @InquireKey = inquirekey
13198
+ def initialize(second=nil, minute=nil, hour=nil, quotashare=nil)
13199
+ @Second = second
13200
+ @Minute = minute
13201
+ @Hour = hour
13202
+ @QuotaShare = quotashare
12149
13203
  end
12150
13204
 
12151
13205
  def deserialize(params)
12152
- @ResourceIds = params['ResourceIds']
12153
- @Status = params['Status']
12154
- @Region = params['Region']
12155
- @BeginTime = params['BeginTime']
12156
- @EndTime = params['EndTime']
12157
- @InquireKey = params['InquireKey']
13206
+ @Second = params['Second']
13207
+ @Minute = params['Minute']
13208
+ @Hour = params['Hour']
13209
+ @QuotaShare = params['QuotaShare']
12158
13210
  end
12159
13211
  end
12160
13212
 
@@ -12530,6 +13582,33 @@ module TencentCloud
12530
13582
  end
12531
13583
  end
12532
13584
 
13585
+ # 限流规则中匹配条件
13586
+ class MatchOption < TencentCloud::Common::AbstractModel
13587
+ # @param Params: 匹配参数
13588
+ # 注意:此字段可能返回 null,表示取不到有效值。
13589
+ # @type Params: String
13590
+ # @param Func: 逻辑符号
13591
+ # 注意:此字段可能返回 null,表示取不到有效值。
13592
+ # @type Func: String
13593
+ # @param Content: 匹配内容
13594
+ # 注意:此字段可能返回 null,表示取不到有效值。
13595
+ # @type Content: String
13596
+
13597
+ attr_accessor :Params, :Func, :Content
13598
+
13599
+ def initialize(params=nil, func=nil, content=nil)
13600
+ @Params = params
13601
+ @Func = func
13602
+ @Content = content
13603
+ end
13604
+
13605
+ def deserialize(params)
13606
+ @Params = params['Params']
13607
+ @Func = params['Func']
13608
+ @Content = params['Content']
13609
+ end
13610
+ end
13611
+
12533
13612
  # 小程序安全接入ID扩展资源信息
12534
13613
  class MiniExtendPkg < TencentCloud::Common::AbstractModel
12535
13614
  # @param ResourceIds: 资源id
@@ -12927,6 +14006,101 @@ module TencentCloud
12927
14006
  end
12928
14007
  end
12929
14008
 
14009
+ # ModifyApiSecSensitiveRule请求参数结构体
14010
+ class ModifyApiSecSensitiveRuleRequest < TencentCloud::Common::AbstractModel
14011
+ # @param Domain: 域名
14012
+ # @type Domain: String
14013
+ # @param Status: 1表示开,0表示关,3表示删除
14014
+ # @type Status: Integer
14015
+ # @param RuleName: 规则名称
14016
+ # @type RuleName: String
14017
+ # @param CustomRule: 客户自定义配置
14018
+ # @type CustomRule: :class:`Tencentcloud::Waf.v20180125.models.ApiSecCustomSensitiveRule`
14019
+ # @param RuleNameList: rulename列表,批量操作的时候填改值
14020
+ # @type RuleNameList: Array
14021
+ # @param CustomApiExtractRule: api提取规则内容
14022
+ # @type CustomApiExtractRule: :class:`Tencentcloud::Waf.v20180125.models.ApiSecExtractRule`
14023
+ # @param ApiExtractRuleName: 批量操作的时候的api提取规则
14024
+ # @type ApiExtractRuleName: Array
14025
+ # @param ApiSecPrivilegeRule: 自定义api鉴权规则
14026
+ # @type ApiSecPrivilegeRule: :class:`Tencentcloud::Waf.v20180125.models.ApiSecPrivilegeRule`
14027
+ # @param ApiSecPrivilegeRuleName: 匹配操作时候的api鉴权规则
14028
+ # @type ApiSecPrivilegeRuleName: Array
14029
+ # @param ApiSecSceneRuleNameList: 批量操作的时候的自定义场景列表
14030
+ # @type ApiSecSceneRuleNameList: Array
14031
+ # @param ApiSecSceneRule: 单条自定义api场景规则
14032
+ # @type ApiSecSceneRule: :class:`Tencentcloud::Waf.v20180125.models.ApiSecSceneRule`
14033
+ # @param ApiSecCustomEventRuleNameList: 批量操作的时候的自定义事件规则列表
14034
+ # @type ApiSecCustomEventRuleNameList: Array
14035
+ # @param ApiSecCustomEventRuleRule: 自定义事件规则
14036
+ # @type ApiSecCustomEventRuleRule: :class:`Tencentcloud::Waf.v20180125.models.ApiSecCustomEventRule`
14037
+
14038
+ attr_accessor :Domain, :Status, :RuleName, :CustomRule, :RuleNameList, :CustomApiExtractRule, :ApiExtractRuleName, :ApiSecPrivilegeRule, :ApiSecPrivilegeRuleName, :ApiSecSceneRuleNameList, :ApiSecSceneRule, :ApiSecCustomEventRuleNameList, :ApiSecCustomEventRuleRule
14039
+
14040
+ def initialize(domain=nil, status=nil, rulename=nil, customrule=nil, rulenamelist=nil, customapiextractrule=nil, apiextractrulename=nil, apisecprivilegerule=nil, apisecprivilegerulename=nil, apisecscenerulenamelist=nil, apisecscenerule=nil, apiseccustomeventrulenamelist=nil, apiseccustomeventrulerule=nil)
14041
+ @Domain = domain
14042
+ @Status = status
14043
+ @RuleName = rulename
14044
+ @CustomRule = customrule
14045
+ @RuleNameList = rulenamelist
14046
+ @CustomApiExtractRule = customapiextractrule
14047
+ @ApiExtractRuleName = apiextractrulename
14048
+ @ApiSecPrivilegeRule = apisecprivilegerule
14049
+ @ApiSecPrivilegeRuleName = apisecprivilegerulename
14050
+ @ApiSecSceneRuleNameList = apisecscenerulenamelist
14051
+ @ApiSecSceneRule = apisecscenerule
14052
+ @ApiSecCustomEventRuleNameList = apiseccustomeventrulenamelist
14053
+ @ApiSecCustomEventRuleRule = apiseccustomeventrulerule
14054
+ end
14055
+
14056
+ def deserialize(params)
14057
+ @Domain = params['Domain']
14058
+ @Status = params['Status']
14059
+ @RuleName = params['RuleName']
14060
+ unless params['CustomRule'].nil?
14061
+ @CustomRule = ApiSecCustomSensitiveRule.new
14062
+ @CustomRule.deserialize(params['CustomRule'])
14063
+ end
14064
+ @RuleNameList = params['RuleNameList']
14065
+ unless params['CustomApiExtractRule'].nil?
14066
+ @CustomApiExtractRule = ApiSecExtractRule.new
14067
+ @CustomApiExtractRule.deserialize(params['CustomApiExtractRule'])
14068
+ end
14069
+ @ApiExtractRuleName = params['ApiExtractRuleName']
14070
+ unless params['ApiSecPrivilegeRule'].nil?
14071
+ @ApiSecPrivilegeRule = ApiSecPrivilegeRule.new
14072
+ @ApiSecPrivilegeRule.deserialize(params['ApiSecPrivilegeRule'])
14073
+ end
14074
+ @ApiSecPrivilegeRuleName = params['ApiSecPrivilegeRuleName']
14075
+ @ApiSecSceneRuleNameList = params['ApiSecSceneRuleNameList']
14076
+ unless params['ApiSecSceneRule'].nil?
14077
+ @ApiSecSceneRule = ApiSecSceneRule.new
14078
+ @ApiSecSceneRule.deserialize(params['ApiSecSceneRule'])
14079
+ end
14080
+ @ApiSecCustomEventRuleNameList = params['ApiSecCustomEventRuleNameList']
14081
+ unless params['ApiSecCustomEventRuleRule'].nil?
14082
+ @ApiSecCustomEventRuleRule = ApiSecCustomEventRule.new
14083
+ @ApiSecCustomEventRuleRule.deserialize(params['ApiSecCustomEventRuleRule'])
14084
+ end
14085
+ end
14086
+ end
14087
+
14088
+ # ModifyApiSecSensitiveRule返回参数结构体
14089
+ class ModifyApiSecSensitiveRuleResponse < TencentCloud::Common::AbstractModel
14090
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
14091
+ # @type RequestId: String
14092
+
14093
+ attr_accessor :RequestId
14094
+
14095
+ def initialize(requestid=nil)
14096
+ @RequestId = requestid
14097
+ end
14098
+
14099
+ def deserialize(params)
14100
+ @RequestId = params['RequestId']
14101
+ end
14102
+ end
14103
+
12930
14104
  # ModifyAreaBanAreas请求参数结构体
12931
14105
  class ModifyAreaBanAreasRequest < TencentCloud::Common::AbstractModel
12932
14106
  # @param Domain: 需要修改的域名
@@ -13217,6 +14391,73 @@ module TencentCloud
13217
14391
  end
13218
14392
  end
13219
14393
 
14394
+ # ModifyBotIdRule请求参数结构体
14395
+ class ModifyBotIdRuleRequest < TencentCloud::Common::AbstractModel
14396
+ # @param Domain: 域名
14397
+ # @type Domain: String
14398
+ # @param SceneId: 场景ID
14399
+ # @type SceneId: String
14400
+ # @param Data: 配置信息,支持批量
14401
+ # @type Data: Array
14402
+ # @param GlobalSwitch: 0-全局设置不生效 1-全局开关配置字段生效 2-全局动作配置字段生效 3-全局开关和动作字段都生效 4-只修改全局重定向路径 5-只修改全局防护等级
14403
+ # @type GlobalSwitch: Integer
14404
+ # @param Status: 全局开关
14405
+ # @type Status: Boolean
14406
+ # @param RuleAction: 全局动作
14407
+ # @type RuleAction: String
14408
+ # @param GlobalRedirect: 全局重定向路径
14409
+ # @type GlobalRedirect: String
14410
+ # @param ProtectLevel: 防护等级:normal-正常;strict-严格
14411
+ # @type ProtectLevel: String
14412
+
14413
+ attr_accessor :Domain, :SceneId, :Data, :GlobalSwitch, :Status, :RuleAction, :GlobalRedirect, :ProtectLevel
14414
+
14415
+ def initialize(domain=nil, sceneid=nil, data=nil, globalswitch=nil, status=nil, ruleaction=nil, globalredirect=nil, protectlevel=nil)
14416
+ @Domain = domain
14417
+ @SceneId = sceneid
14418
+ @Data = data
14419
+ @GlobalSwitch = globalswitch
14420
+ @Status = status
14421
+ @RuleAction = ruleaction
14422
+ @GlobalRedirect = globalredirect
14423
+ @ProtectLevel = protectlevel
14424
+ end
14425
+
14426
+ def deserialize(params)
14427
+ @Domain = params['Domain']
14428
+ @SceneId = params['SceneId']
14429
+ unless params['Data'].nil?
14430
+ @Data = []
14431
+ params['Data'].each do |i|
14432
+ botidconfig_tmp = BotIdConfig.new
14433
+ botidconfig_tmp.deserialize(i)
14434
+ @Data << botidconfig_tmp
14435
+ end
14436
+ end
14437
+ @GlobalSwitch = params['GlobalSwitch']
14438
+ @Status = params['Status']
14439
+ @RuleAction = params['RuleAction']
14440
+ @GlobalRedirect = params['GlobalRedirect']
14441
+ @ProtectLevel = params['ProtectLevel']
14442
+ end
14443
+ end
14444
+
14445
+ # ModifyBotIdRule返回参数结构体
14446
+ class ModifyBotIdRuleResponse < TencentCloud::Common::AbstractModel
14447
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
14448
+ # @type RequestId: String
14449
+
14450
+ attr_accessor :RequestId
14451
+
14452
+ def initialize(requestid=nil)
14453
+ @RequestId = requestid
14454
+ end
14455
+
14456
+ def deserialize(params)
14457
+ @RequestId = params['RequestId']
14458
+ end
14459
+ end
14460
+
13220
14461
  # ModifyBotSceneStatus请求参数结构体
13221
14462
  class ModifyBotSceneStatusRequest < TencentCloud::Common::AbstractModel
13222
14463
  # @param Domain: 域名
@@ -15712,6 +16953,26 @@ module TencentCloud
15712
16953
  end
15713
16954
  end
15714
16955
 
16956
+ # 指定限流path和对应的method
16957
+ class PathItem < TencentCloud::Common::AbstractModel
16958
+ # @param Path: 请求路径
16959
+ # @type Path: String
16960
+ # @param Method: 请求方法
16961
+ # @type Method: String
16962
+
16963
+ attr_accessor :Path, :Method
16964
+
16965
+ def initialize(path=nil, method=nil)
16966
+ @Path = path
16967
+ @Method = method
16968
+ end
16969
+
16970
+ def deserialize(params)
16971
+ @Path = params['Path']
16972
+ @Method = params['Method']
16973
+ end
16974
+ end
16975
+
15715
16976
  # PeakPoints数组项
15716
16977
  class PeakPointsItem < TencentCloud::Common::AbstractModel
15717
16978
  # @param Time: 秒级别时间戳
@@ -16163,6 +17424,37 @@ module TencentCloud
16163
17424
  end
16164
17425
  end
16165
17426
 
17427
+ # QueryBypassAllStatus请求参数结构体
17428
+ class QueryBypassAllStatusRequest < TencentCloud::Common::AbstractModel
17429
+
17430
+
17431
+ def initialize()
17432
+ end
17433
+
17434
+ def deserialize(params)
17435
+ end
17436
+ end
17437
+
17438
+ # QueryBypassAllStatus返回参数结构体
17439
+ class QueryBypassAllStatusResponse < TencentCloud::Common::AbstractModel
17440
+ # @param Result: 该用户是否被加入了全局的bypass列表
17441
+ # @type Result: Boolean
17442
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
17443
+ # @type RequestId: String
17444
+
17445
+ attr_accessor :Result, :RequestId
17446
+
17447
+ def initialize(result=nil, requestid=nil)
17448
+ @Result = result
17449
+ @RequestId = requestid
17450
+ end
17451
+
17452
+ def deserialize(params)
17453
+ @Result = params['Result']
17454
+ @RequestId = params['RequestId']
17455
+ end
17456
+ end
17457
+
16166
17458
  # 有效REC设备安全包信息
16167
17459
  class RCEPkg < TencentCloud::Common::AbstractModel
16168
17460
  # @param ResourceIds: 资源id
@@ -16211,6 +17503,53 @@ module TencentCloud
16211
17503
  end
16212
17504
  end
16213
17505
 
17506
+ # 限流相关通用返回
17507
+ class RateLimitCommonRsp < TencentCloud::Common::AbstractModel
17508
+ # @param Code: 响应码
17509
+ # @type Code: Integer
17510
+ # @param Info: 提示信息
17511
+ # @type Info: String
17512
+
17513
+ attr_accessor :Code, :Info
17514
+
17515
+ def initialize(code=nil, info=nil)
17516
+ @Code = code
17517
+ @Info = info
17518
+ end
17519
+
17520
+ def deserialize(params)
17521
+ @Code = params['Code']
17522
+ @Info = params['Info']
17523
+ end
17524
+ end
17525
+
17526
+ # 重定向信息
17527
+ class RedirectInfo < TencentCloud::Common::AbstractModel
17528
+ # @param Protocol: 协议
17529
+ # 注意:此字段可能返回 null,表示取不到有效值。
17530
+ # @type Protocol: String
17531
+ # @param Domain: 域名
17532
+ # 注意:此字段可能返回 null,表示取不到有效值。
17533
+ # @type Domain: String
17534
+ # @param Url: url路径
17535
+ # 注意:此字段可能返回 null,表示取不到有效值。
17536
+ # @type Url: String
17537
+
17538
+ attr_accessor :Protocol, :Domain, :Url
17539
+
17540
+ def initialize(protocol=nil, domain=nil, url=nil)
17541
+ @Protocol = protocol
17542
+ @Domain = domain
17543
+ @Url = url
17544
+ end
17545
+
17546
+ def deserialize(params)
17547
+ @Protocol = params['Protocol']
17548
+ @Domain = params['Domain']
17549
+ @Url = params['Url']
17550
+ end
17551
+ end
17552
+
16214
17553
  # RefreshAccessCheckResult请求参数结构体
16215
17554
  class RefreshAccessCheckResultRequest < TencentCloud::Common::AbstractModel
16216
17555
  # @param Domain: 域名
@@ -16243,6 +17582,33 @@ module TencentCloud
16243
17582
  end
16244
17583
  end
16245
17584
 
17585
+ # RemoveBypassAllRule请求参数结构体
17586
+ class RemoveBypassAllRuleRequest < TencentCloud::Common::AbstractModel
17587
+
17588
+
17589
+ def initialize()
17590
+ end
17591
+
17592
+ def deserialize(params)
17593
+ end
17594
+ end
17595
+
17596
+ # RemoveBypassAllRule返回参数结构体
17597
+ class RemoveBypassAllRuleResponse < TencentCloud::Common::AbstractModel
17598
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
17599
+ # @type RequestId: String
17600
+
17601
+ attr_accessor :RequestId
17602
+
17603
+ def initialize(requestid=nil)
17604
+ @RequestId = requestid
17605
+ end
17606
+
17607
+ def deserialize(params)
17608
+ @RequestId = params['RequestId']
17609
+ end
17610
+ end
17611
+
16246
17612
  # 用户规则更新输出规则子项
16247
17613
  class ReqUserRule < TencentCloud::Common::AbstractModel
16248
17614
  # @param Id: 特征序号
@@ -17671,6 +19037,177 @@ module TencentCloud
17671
19037
  end
17672
19038
  end
17673
19039
 
19040
+ # UpdateRateLimitV2请求参数结构体
19041
+ class UpdateRateLimitV2Request < TencentCloud::Common::AbstractModel
19042
+ # @param Domain: 域名
19043
+ # @type Domain: String
19044
+ # @param LimitRuleId: 规则ID
19045
+ # @type LimitRuleId: Integer
19046
+ # @param Name: 规则名
19047
+ # @type Name: String
19048
+ # @param Priority: 优先级
19049
+ # @type Priority: Integer
19050
+ # @param Status: 开关,0关闭,1开启
19051
+ # @type Status: Integer
19052
+ # @param LimitObject: 支持API,Domain。如果基于API,则LimitPaths不能为空,否则LimitPaths为空
19053
+ # @type LimitObject: String
19054
+ # @param LimitStrategy: 限流策略,0:观察,1:拦截,2:人机
19055
+ # @type LimitStrategy: Integer
19056
+ # @param LimitHeaderName: 基于Header参数名限流
19057
+ # @type LimitHeaderName: :class:`Tencentcloud::Waf.v20180125.models.LimitHeaderName`
19058
+ # @param LimitMethod: 限流方法
19059
+ # @type LimitMethod: :class:`Tencentcloud::Waf.v20180125.models.LimitMethod`
19060
+ # @param LimitPaths: 限流路径
19061
+ # @type LimitPaths: :class:`Tencentcloud::Waf.v20180125.models.LimitPath`
19062
+ # @param LimitHeaders: 限流Headers
19063
+ # @type LimitHeaders: Array
19064
+ # @param LimitWindow: 限流窗口
19065
+ # @type LimitWindow: :class:`Tencentcloud::Waf.v20180125.models.LimitWindow`
19066
+ # @param GetParamsName: 基于Get参数名限流
19067
+ # @type GetParamsName: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
19068
+ # @param GetParamsValue: 基于Get参数值限流
19069
+ # @type GetParamsValue: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
19070
+ # @param PostParamsName: 基于Post参数名限流
19071
+ # @type PostParamsName: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
19072
+ # @param PostParamsValue: 基于Post参数值限流
19073
+ # @type PostParamsValue: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
19074
+ # @param IpLocation: 基于IP归属地限流
19075
+ # @type IpLocation: :class:`Tencentcloud::Waf.v20180125.models.MatchOption`
19076
+ # @param RedirectInfo: 重定向信息,当LimitStrategy为重定向时,此字段必填
19077
+ # @type RedirectInfo: :class:`Tencentcloud::Waf.v20180125.models.RedirectInfo`
19078
+ # @param BlockPage: 拦截页面,0表示429,否则填写blockPageID
19079
+ # @type BlockPage: Integer
19080
+ # @param ObjectSrc: 限流对象来源,0:手动填写,1:API资产
19081
+ # @type ObjectSrc: Integer
19082
+ # @param QuotaShare: 是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
19083
+ # @type QuotaShare: Boolean
19084
+ # @param PathsOption: 路径选项,可配置每个路径的请求方法
19085
+ # @type PathsOption: Array
19086
+ # @param Order: 限流执行顺序,0:默认情况,限流优先,1:安全防护优先
19087
+ # @type Order: Integer
19088
+
19089
+ attr_accessor :Domain, :LimitRuleId, :Name, :Priority, :Status, :LimitObject, :LimitStrategy, :LimitHeaderName, :LimitMethod, :LimitPaths, :LimitHeaders, :LimitWindow, :GetParamsName, :GetParamsValue, :PostParamsName, :PostParamsValue, :IpLocation, :RedirectInfo, :BlockPage, :ObjectSrc, :QuotaShare, :PathsOption, :Order
19090
+
19091
+ def initialize(domain=nil, limitruleid=nil, name=nil, priority=nil, status=nil, limitobject=nil, limitstrategy=nil, limitheadername=nil, limitmethod=nil, limitpaths=nil, limitheaders=nil, limitwindow=nil, getparamsname=nil, getparamsvalue=nil, postparamsname=nil, postparamsvalue=nil, iplocation=nil, redirectinfo=nil, blockpage=nil, objectsrc=nil, quotashare=nil, pathsoption=nil, order=nil)
19092
+ @Domain = domain
19093
+ @LimitRuleId = limitruleid
19094
+ @Name = name
19095
+ @Priority = priority
19096
+ @Status = status
19097
+ @LimitObject = limitobject
19098
+ @LimitStrategy = limitstrategy
19099
+ @LimitHeaderName = limitheadername
19100
+ @LimitMethod = limitmethod
19101
+ @LimitPaths = limitpaths
19102
+ @LimitHeaders = limitheaders
19103
+ @LimitWindow = limitwindow
19104
+ @GetParamsName = getparamsname
19105
+ @GetParamsValue = getparamsvalue
19106
+ @PostParamsName = postparamsname
19107
+ @PostParamsValue = postparamsvalue
19108
+ @IpLocation = iplocation
19109
+ @RedirectInfo = redirectinfo
19110
+ @BlockPage = blockpage
19111
+ @ObjectSrc = objectsrc
19112
+ @QuotaShare = quotashare
19113
+ @PathsOption = pathsoption
19114
+ @Order = order
19115
+ end
19116
+
19117
+ def deserialize(params)
19118
+ @Domain = params['Domain']
19119
+ @LimitRuleId = params['LimitRuleId']
19120
+ @Name = params['Name']
19121
+ @Priority = params['Priority']
19122
+ @Status = params['Status']
19123
+ @LimitObject = params['LimitObject']
19124
+ @LimitStrategy = params['LimitStrategy']
19125
+ unless params['LimitHeaderName'].nil?
19126
+ @LimitHeaderName = LimitHeaderName.new
19127
+ @LimitHeaderName.deserialize(params['LimitHeaderName'])
19128
+ end
19129
+ unless params['LimitMethod'].nil?
19130
+ @LimitMethod = LimitMethod.new
19131
+ @LimitMethod.deserialize(params['LimitMethod'])
19132
+ end
19133
+ unless params['LimitPaths'].nil?
19134
+ @LimitPaths = LimitPath.new
19135
+ @LimitPaths.deserialize(params['LimitPaths'])
19136
+ end
19137
+ unless params['LimitHeaders'].nil?
19138
+ @LimitHeaders = []
19139
+ params['LimitHeaders'].each do |i|
19140
+ limitheader_tmp = LimitHeader.new
19141
+ limitheader_tmp.deserialize(i)
19142
+ @LimitHeaders << limitheader_tmp
19143
+ end
19144
+ end
19145
+ unless params['LimitWindow'].nil?
19146
+ @LimitWindow = LimitWindow.new
19147
+ @LimitWindow.deserialize(params['LimitWindow'])
19148
+ end
19149
+ unless params['GetParamsName'].nil?
19150
+ @GetParamsName = MatchOption.new
19151
+ @GetParamsName.deserialize(params['GetParamsName'])
19152
+ end
19153
+ unless params['GetParamsValue'].nil?
19154
+ @GetParamsValue = MatchOption.new
19155
+ @GetParamsValue.deserialize(params['GetParamsValue'])
19156
+ end
19157
+ unless params['PostParamsName'].nil?
19158
+ @PostParamsName = MatchOption.new
19159
+ @PostParamsName.deserialize(params['PostParamsName'])
19160
+ end
19161
+ unless params['PostParamsValue'].nil?
19162
+ @PostParamsValue = MatchOption.new
19163
+ @PostParamsValue.deserialize(params['PostParamsValue'])
19164
+ end
19165
+ unless params['IpLocation'].nil?
19166
+ @IpLocation = MatchOption.new
19167
+ @IpLocation.deserialize(params['IpLocation'])
19168
+ end
19169
+ unless params['RedirectInfo'].nil?
19170
+ @RedirectInfo = RedirectInfo.new
19171
+ @RedirectInfo.deserialize(params['RedirectInfo'])
19172
+ end
19173
+ @BlockPage = params['BlockPage']
19174
+ @ObjectSrc = params['ObjectSrc']
19175
+ @QuotaShare = params['QuotaShare']
19176
+ unless params['PathsOption'].nil?
19177
+ @PathsOption = []
19178
+ params['PathsOption'].each do |i|
19179
+ pathitem_tmp = PathItem.new
19180
+ pathitem_tmp.deserialize(i)
19181
+ @PathsOption << pathitem_tmp
19182
+ end
19183
+ end
19184
+ @Order = params['Order']
19185
+ end
19186
+ end
19187
+
19188
+ # UpdateRateLimitV2返回参数结构体
19189
+ class UpdateRateLimitV2Response < TencentCloud::Common::AbstractModel
19190
+ # @param BaseInfo: 操作结果
19191
+ # @type BaseInfo: :class:`Tencentcloud::Waf.v20180125.models.RateLimitCommonRsp`
19192
+ # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
19193
+ # @type RequestId: String
19194
+
19195
+ attr_accessor :BaseInfo, :RequestId
19196
+
19197
+ def initialize(baseinfo=nil, requestid=nil)
19198
+ @BaseInfo = baseinfo
19199
+ @RequestId = requestid
19200
+ end
19201
+
19202
+ def deserialize(params)
19203
+ unless params['BaseInfo'].nil?
19204
+ @BaseInfo = RateLimitCommonRsp.new
19205
+ @BaseInfo.deserialize(params['BaseInfo'])
19206
+ end
19207
+ @RequestId = params['RequestId']
19208
+ end
19209
+ end
19210
+
17674
19211
  # UpsertCCAutoStatus请求参数结构体
17675
19212
  class UpsertCCAutoStatusRequest < TencentCloud::Common::AbstractModel
17676
19213
  # @param Domain: 域名