tencentcloud-sdk-nodejs-intl-en
Version:
16,881 lines • 458 kB
JavaScript
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const AbstractModel = require("../../common/abstract_model");
/**
* ModifyUserLevel response structure.
* @class
*/
class ModifyUserLevelResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* SearchAttackLog response structure.
* @class
*/
class SearchAttackLogResponse extends AbstractModel {
constructor(){
super();
/**
* Number of attack logs returned
* @type {number || null}
*/
this.Count = null;
/**
* API upgrade: this field is invalid, defaults to returning an empty string
* @type {string || null}
*/
this.Context = null;
/**
* Attack log array entry content
* @type {Array.<AttackLogInfo> || null}
*/
this.Data = null;
/**
* CLS API returned content
* @type {boolean || null}
*/
this.ListOver = null;
/**
* CLS API returned content, indicating whether to enable the new version index
* @type {boolean || null}
*/
this.SqlFlag = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Count = 'Count' in params ? params.Count : null;
this.Context = 'Context' in params ? params.Context : null;
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new AttackLogInfo();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.ListOver = 'ListOver' in params ? params.ListOver : null;
this.SqlFlag = 'SqlFlag' in params ? params.SqlFlag : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* In the form of Key-Value, where Value is an Int
* @class
*/
class KVInt extends AbstractModel {
constructor(){
super();
/**
* Key
* @type {string || null}
*/
this.Key = null;
/**
* Value
* @type {number || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Key = 'Key' in params ? params.Key : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* Complex type in the DescribeCustomRules interface response packet
* @class
*/
class DescribeCustomRulesRspRuleListItem extends AbstractModel {
constructor(){
super();
/**
* Action type
* @type {string || null}
*/
this.ActionType = null;
/**
* Skipped Policy
* @type {string || null}
*/
this.Bypass = null;
/**
* Creation time
* @type {string || null}
*/
this.CreateTime = null;
/**
* Expiration time
* @type {string || null}
*/
this.ExpireTime = null;
/**
* Policy name
* @type {string || null}
*/
this.Name = null;
/**
* URL for redirection
* @type {string || null}
*/
this.Redirect = null;
/**
* Policy ID
* @type {string || null}
*/
this.RuleId = null;
/**
* Priority
* @type {string || null}
*/
this.SortId = null;
/**
* Status
* @type {string || null}
*/
this.Status = null;
/**
* Policy details
* @type {Array.<Strategy> || null}
*/
this.Strategies = null;
/**
* Event ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EventId = null;
/**
* Modification time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ModifyTime = null;
/**
* Effective status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ValidStatus = null;
/**
* Source
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Source = null;
/**
* Scheduled task type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.JobType = null;
/**
* Scheduled task configuration
Note: This field may return null, indicating that no valid values can be obtained.
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
/**
* Periodic task granularity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CronType = null;
/**
* Custom tag in risk control rules, indicating whether a rule is built-in or user-defined
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Label = null;
/**
* ID of the blocked page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.PageId = null;
/**
* Domain name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Domain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.Bypass = 'Bypass' in params ? params.Bypass : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
this.Name = 'Name' in params ? params.Name : null;
this.Redirect = 'Redirect' in params ? params.Redirect : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.SortId = 'SortId' in params ? params.SortId : null;
this.Status = 'Status' in params ? params.Status : null;
if (params.Strategies) {
this.Strategies = new Array();
for (let z in params.Strategies) {
let obj = new Strategy();
obj.deserialize(params.Strategies[z]);
this.Strategies.push(obj);
}
}
this.EventId = 'EventId' in params ? params.EventId : null;
this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null;
this.ValidStatus = 'ValidStatus' in params ? params.ValidStatus : null;
this.Source = 'Source' in params ? params.Source : null;
this.JobType = 'JobType' in params ? params.JobType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
this.CronType = 'CronType' in params ? params.CronType : null;
this.Label = 'Label' in params ? params.Label : null;
this.PageId = 'PageId' in params ? params.PageId : null;
this.Domain = 'Domain' in params ? params.Domain : null;
}
}
/**
* ModifyAntiInfoLeakRules response structure.
* @class
*/
class ModifyAntiInfoLeakRulesResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyWebshellStatus request structure.
* @class
*/
class ModifyWebshellStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain Webshell Status
* @type {WebshellStatus || null}
*/
this.Webshell = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Webshell) {
let obj = new WebshellStatus();
obj.deserialize(params.Webshell)
this.Webshell = obj;
}
}
}
/**
* DescribeCertificateVerifyResult request structure.
* @class
*/
class DescribeCertificateVerifyResultRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Certificate type. 0: Do not check international standard certificates; 1: The certificate is a self-owned certificate; 2: The certificate is a managed certificate.
* @type {number || null}
*/
this.CertType = null;
/**
* When CertType is 1, this parameter is required, indicating the self-owned certificate chain
* @type {string || null}
*/
this.Certificate = null;
/**
* When CertType is 2, this parameter must be filled, indicating the certificate ID hosted on Tencent Cloud's SSL platform
* @type {string || null}
*/
this.CertID = null;
/**
* When CertType=1, this parameter is required, indicating the private key of the self-owned certificate.
* @type {string || null}
*/
this.PrivateKey = null;
/**
* SM certificate type. 0: Do not check SM certificates; 1: The certificate is a self-owned SM certificate; 2: The certificate is a managed SM certificate.
* @type {number || null}
*/
this.GmCertType = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the certificate chain of the self-owned SM certificate.
* @type {string || null}
*/
this.GmCert = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the private key of the self-owned SM certificate.
* @type {string || null}
*/
this.GmPrivateKey = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the encryption certificate of the self-owned SM certificate.
* @type {string || null}
*/
this.GmEncCert = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the private key of the encryption certificate for the self-owned SM certificate.
* @type {string || null}
*/
this.GmEncPrivateKey = null;
/**
* When GmCertType is 2, this parameter needs to be set, indicating the ID of the certificate managed by the Tencent Cloud SSL platform.
* @type {string || null}
*/
this.GmSSLId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.CertType = 'CertType' in params ? params.CertType : null;
this.Certificate = 'Certificate' in params ? params.Certificate : null;
this.CertID = 'CertID' in params ? params.CertID : null;
this.PrivateKey = 'PrivateKey' in params ? params.PrivateKey : null;
this.GmCertType = 'GmCertType' in params ? params.GmCertType : null;
this.GmCert = 'GmCert' in params ? params.GmCert : null;
this.GmPrivateKey = 'GmPrivateKey' in params ? params.GmPrivateKey : null;
this.GmEncCert = 'GmEncCert' in params ? params.GmEncCert : null;
this.GmEncPrivateKey = 'GmEncPrivateKey' in params ? params.GmEncPrivateKey : null;
this.GmSSLId = 'GmSSLId' in params ? params.GmSSLId : null;
}
}
/**
* DescribeUserClbWafRegions response structure.
* @class
*/
class DescribeUserClbWafRegionsResponse extends AbstractModel {
constructor(){
super();
/**
* Region (in standard ap-format) list
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.Data = null;
/**
* Geographical information with detailed attributes
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<ClbWafRegionItem> || null}
*/
this.RichDatas = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Data = 'Data' in params ? params.Data : null;
if (params.RichDatas) {
this.RichDatas = new Array();
for (let z in params.RichDatas) {
let obj = new ClbWafRegionItem();
obj.deserialize(params.RichDatas[z]);
this.RichDatas.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateIpAccessControl request structure.
* @class
*/
class CreateIpAccessControlRequest extends AbstractModel {
constructor(){
super();
/**
* Specific domain name, for example, test.qcloudwaf.com.
Global domain name, that is, global.
* @type {string || null}
*/
this.Domain = null;
/**
* IP parameter list.
* @type {Array.<string> || null}
*/
this.IpList = null;
/**
* 42: blocklist; 40: allowlist.
* @type {number || null}
*/
this.ActionType = null;
/**
* valid_ts indicates a valid date. Its value is a second-level timestamp, such as 1680570420, which indicates 2023-04-04 09:07:00.
* @type {number || null}
*/
this.ValidTS = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* WAF instance type: sparta-waf for SaaS WAF, clb-waf for CLB WAF.
* @type {string || null}
*/
this.Edition = null;
/**
* Valid values: batch (adding in batches), bot (adding to the bot details list in bot traffic analysis), cc (adding to IP addresses of the CC attack type in the attack log list), custom (default value for adding not in batches).
* @type {string || null}
*/
this.SourceType = null;
/**
* Remarks
* @type {string || null}
*/
this.Note = null;
/**
* Scheduled configuration type.
* @type {string || null}
*/
this.JobType = null;
/**
* Details of scheduled configuration.
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.IpList = 'IpList' in params ? params.IpList : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.ValidTS = 'ValidTS' in params ? params.ValidTS : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.SourceType = 'SourceType' in params ? params.SourceType : null;
this.Note = 'Note' in params ? params.Note : null;
this.JobType = 'JobType' in params ? params.JobType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
}
}
/**
* TLS encryption suite
* @class
*/
class TLSCiphers extends AbstractModel {
constructor(){
super();
/**
* TLS version ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.VersionId = null;
/**
* Encryption Suite ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CipherId = null;
/**
* Cipher suite
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CipherName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VersionId = 'VersionId' in params ? params.VersionId : null;
this.CipherId = 'CipherId' in params ? params.CipherId : null;
this.CipherName = 'CipherName' in params ? params.CipherName : null;
}
}
/**
* AddAntiFakeUrl request structure.
* @class
*/
class AddAntiFakeUrlRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Name
* @type {string || null}
*/
this.Name = null;
/**
* uri
* @type {string || null}
*/
this.Uri = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Name = 'Name' in params ? params.Name : null;
this.Uri = 'Uri' in params ? params.Uri : null;
}
}
/**
* Domain's Webshell activation status
* @class
*/
class WebshellStatus extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Webshell Switch, 1: On. 0: Off. 2: Observation
* @type {number || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* AddCustomWhiteRule response structure.
* @class
*/
class AddCustomWhiteRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* Successfully added rule ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* SearchAttackLog request structure.
* @class
*/
class SearchAttackLogRequest extends AbstractModel {
constructor(){
super();
/**
* Queried domain: use all for all domains
* @type {string || null}
*/
this.Domain = null;
/**
* Query start time
* @type {string || null}
*/
this.StartTime = null;
/**
* Query end time
* @type {string || null}
*/
this.EndTime = null;
/**
* API upgrade. Input an empty string for this field. Use the Page field for page turning.
* @type {string || null}
*/
this.Context = null;
/**
* Lucene syntax.
* @type {string || null}
*/
this.QueryString = null;
/**
* Number of queries: 10 by default, up to 100
* @type {number || null}
*/
this.Count = null;
/**
* desc by default. Value can be set to desc or asc.
* @type {string || null}
*/
this.Sort = null;
/**
* Page number, starting from 0
* @type {number || null}
*/
this.Page = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Context = 'Context' in params ? params.Context : null;
this.QueryString = 'QueryString' in params ? params.QueryString : null;
this.Count = 'Count' in params ? params.Count : null;
this.Sort = 'Sort' in params ? params.Sort : null;
this.Page = 'Page' in params ? params.Page : null;
}
}
/**
* ModifyHostFlowMode response structure.
* @class
*/
class ModifyHostFlowModeResponse extends AbstractModel {
constructor(){
super();
/**
* Successful status code
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CLB-WAF domain extension package
* @class
*/
class DomainPackageNew extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Expiration time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ValidTime = null;
/**
* Auto-renewal, 1: Enabled, 0: Disabled
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Number of Package Purchases
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Count = null;
/**
* Package Purchase Region, currently not used in CLB-WAF
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Region = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.ValidTime = 'ValidTime' in params ? params.ValidTime : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
this.Count = 'Count' in params ? params.Count : null;
this.Region = 'Region' in params ? params.Region : null;
}
}
/**
* SwitchElasticMode request structure.
* @class
*/
class SwitchElasticModeRequest extends AbstractModel {
constructor(){
super();
/**
* Version, can only be sparta-waf, clb-waf, or cdn-waf
* @type {string || null}
*/
this.Edition = null;
/**
* 0 indicates Off; 1 indicates On
* @type {number || null}
*/
this.Mode = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Edition = 'Edition' in params ? params.Edition : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* ModifyInstanceName request structure.
* @class
*/
class ModifyInstanceNameRequest extends AbstractModel {
constructor(){
super();
/**
* New name.
* @type {string || null}
*/
this.InstanceName = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
/**
* Version
* @type {string || null}
*/
this.Edition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.Edition = 'Edition' in params ? params.Edition : null;
}
}
/**
* CLB-WAF deleted domain parameters
* @class
*/
class HostDel extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Instance type
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* DeleteCustomWhiteRule response structure.
* @class
*/
class DeleteCustomWhiteRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeIpAccessControl response structure.
* @class
*/
class DescribeIpAccessControlResponse extends AbstractModel {
constructor(){
super();
/**
* Output.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {IpAccessControlData || null}
*/
this.Data = null;
/**
* Total number of IP addresses in the used IP allowlist/blocklist.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UsedTotal = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
let obj = new IpAccessControlData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.UsedTotal = 'UsedTotal' in params ? params.UsedTotal : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Output parameters
* @class
*/
class DescribeAntiLeakageItem extends AbstractModel {
constructor(){
super();
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* Name
* @type {string || null}
*/
this.Name = null;
/**
* Status value
* @type {number || null}
*/
this.Status = null;
/**
* Action
* @type {string || null}
*/
this.Action = null;
/**
* Creation time
* @type {string || null}
*/
this.CreateTime = null;
/**
* Match condition
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<DescribeAntiInfoLeakRulesStrategyItem> || null}
*/
this.Strategies = null;
/**
* Matched URL
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Uri = null;
/**
* Modification time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ModifyTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Name = 'Name' in params ? params.Name : null;
this.Status = 'Status' in params ? params.Status : null;
this.Action = 'Action' in params ? params.Action : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
if (params.Strategies) {
this.Strategies = new Array();
for (let z in params.Strategies) {
let obj = new DescribeAntiInfoLeakRulesStrategyItem();
obj.deserialize(params.Strategies[z]);
this.Strategies.push(obj);
}
}
this.Uri = 'Uri' in params ? params.Uri : null;
this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null;
}
}
/**
* CLB
* @class
*/
class LoadBalancerPackageNew extends AbstractModel {
constructor(){
super();
/**
* Listener ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ListenerId = null;
/**
* Listening Name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ListenerName = null;
/**
* CLB instance ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LoadBalancerId = null;
/**
* CLB name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LoadBalancerName = null;
/**
* Protocol
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Protocol = null;
/**
* Region
"Toronto": "ca",
"Guangzhou": "gz",
"Chengdu": "cd",
"Fuzhou": "fzec",
"Shenzhen": "szx",
"India": "in",
"Jinan": "jnec",
"Chongqing": "cq",
"Tianjin": "tsn",
"Northeast Europe": "ru",
"Nanjing": "nj",
"Silicon Valley (U.S.)": "usw",
"Thailand": "th",
"Guangzhou Open": "gzopen",
"Shenzhen Finance": "szjr",
"Frankfurt": "de",
"Japan": "jp",
"Virginia": "use",
"Beijing": "bj",
"Hong Kong (China)": "hk",
"Hangzhou": "hzec",
"Beijing Finance": "bjjr",
"Shanghai Finance": "shjr",
"Taipei (China)": "tpe",
"Seoul": "kr",
"Shanghai": "sh",
"Singapore": "sg",
"Qingyuan": "qy"
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Region = null;
/**
* Access IP
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Vip = null;
/**
* Access Port
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Vport = null;
/**
* Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Zone = null;
/**
* VPCID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.NumericalVpcId = null;
/**
* CLB Type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LoadBalancerType = null;
/**
* Domain Name of CLB
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LoadBalancerDomain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ListenerId = 'ListenerId' in params ? params.ListenerId : null;
this.ListenerName = 'ListenerName' in params ? params.ListenerName : null;
this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null;
this.LoadBalancerName = 'LoadBalancerName' in params ? params.LoadBalancerName : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.Region = 'Region' in params ? params.Region : null;
this.Vip = 'Vip' in params ? params.Vip : null;
this.Vport = 'Vport' in params ? params.Vport : null;
this.Zone = 'Zone' in params ? params.Zone : null;
this.NumericalVpcId = 'NumericalVpcId' in params ? params.NumericalVpcId : null;
this.LoadBalancerType = 'LoadBalancerType' in params ? params.LoadBalancerType : null;
this.LoadBalancerDomain = 'LoadBalancerDomain' in params ? params.LoadBalancerDomain : null;
}
}
/**
* ModifyDomainIpv6Status response structure.
* @class
*/
class ModifyDomainIpv6StatusResponse extends AbstractModel {
constructor(){
super();
/**
* Returned status (0: Operation Failed 1: Operation Succeeded 2: Not Supported for Enterprise Edition and Above 3: Not Supported for Below Enterprise Edition)
* @type {number || null}
*/
this.Ipv6Status = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Ipv6Status = 'Ipv6Status' in params ? params.Ipv6Status : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Data Encapsulation
* @class
*/
class CCRuleData extends AbstractModel {
constructor(){
super();
/**
* CC rules
* @type {Array.<CCRuleItem> || null}
*/
this.Res = null;
/**
* Number of Rules
* @type {number || null}
*/
this.TotalCount = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Res) {
this.Res = new Array();
for (let z in params.Res) {
let obj = new CCRuleItem();
obj.deserialize(params.Res[z]);
this.Res.push(obj);
}
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
}
}
/**
* DescribeCustomRuleList request structure.
* @class
*/
class DescribeCustomRuleListRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Offset
* @type {number || null}
*/
this.Offset = null;
/**
* Capacity
* @type {number || null}
*/
this.Limit = null;
/**
* Filter array. A name can be one of the following: RuleID, RuleName, and Match.
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
/**
* asc or desc
* @type {string || null}
*/
this.Order = null;
/**
* exp_ts or mod_ts
* @type {string || null}
*/
this.By = null;
/**
* Domain name list to query. This parameter is not required on the access control page.
* @type {Array.<string> || null}
*/
this.DomainList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Order = 'Order' in params ? params.Order : null;
this.By = 'By' in params ? params.By : null;
this.DomainList = 'DomainList' in params ? params.DomainList : null;
}
}
/**
* DescribeUserClbWafRegions request structure.
* @class
*/
class DescribeUserClbWafRegionsRequest extends AbstractModel {
constructor(){
super();
/**
* Traffic source. The default value is clb if not specified. clb: Cloud Load Balancer; tsegw: cloud-native API gateway; scf: Serverless Cloud Function; apisix: other gateways on Tencent Cloud.
* @type {string || null}
*/
this.AlbType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AlbType = 'AlbType' in params ? params.AlbType : null;
}
}
/**
* DescribeHosts response structure.
* @class
*/
class DescribeHostsResponse extends AbstractModel {
constructor(){
super();
/**
* Length of a protection domain list
* @type {number || null}
*/
this.TotalCount = null;
/**
* List of protection domains
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<HostRecord> || null}
*/
this.HostList = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
if (params.HostList) {
this.HostList = new Array();
for (let z in params.HostList) {
let obj = new HostRecord();
obj.deserialize(params.HostList[z]);
this.HostList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribePeakPoints request structure.
* @class
*/
class DescribePeakPointsRequest extends AbstractModel {
constructor(){
super();
/**
* Query start time
* @type {string || null}
*/
this.FromTime = null;
/**
* Query End Time
* @type {string || null}
*/
this.ToTime = null;
/**
* The domain to query, leave this parameter blank if querying data for all domains
* @type {string || null}
*/
this.Domain = null;
/**
* Only two values are valid: sparta-waf, clb-waf. No filtering if not input.
* @type {string || null}
*/
this.Edition = null;
/**
* WAF instance ID. No filter will be carried out if it is not input.
* @type {string || null}
*/
this.InstanceID = null;
/**
* Twelve available values:
access: peak QPS trend chart
botAccess: peak bot QPS trend chart
down: downstream peak bandwidth trend chart
up: upstream peak bandwidth trend chart
attack: trend chart of total web attacks
cc: trend chart of total CC attacks
bw: trend chart of total attacks from blocklisted IP addresses
tamper: trend chart of total tampering attacks
leak: total leakage trend chart
acl: trend chart of total access control attacks
http_status: status code trend chart
wx_access: trend chart of peak WeChat mini program QPS
* @type {string || null}
*/
this.MetricName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FromTime = 'FromTime' in params ? params.FromTime : null;
this.ToTime = 'ToTime' in params ? params.ToTime : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.MetricName = 'MetricName' in params ? params.MetricName : null;
}
}
/**
* ModifyInstanceQpsLimit request structure.
* @class
*/
class ModifyInstanceQpsLimitRequest extends AbstractModel {
constructor(){
super();
/**
* Package instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* QPS cap
* @type {number || null}
*/
this.QpsLimit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.QpsLimit = 'QpsLimit' in params ? params.QpsLimit : null;
}
}
/**
* DeleteHost request structure.
* @class
*/
class DeleteHostRequest extends AbstractModel {
constructor(){
super();
/**
* List of domains to be deleted
* @type {Array.<HostDel> || null}
*/
this.HostsDel = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.HostsDel) {
this.HostsDel = new Array();
for (let z in params.HostsDel) {
let obj = new HostDel();
obj.deserialize(params.HostsDel[z]);
this.HostsDel.push(obj);
}
}
}
}
/**
* ModifyDomainPostAction response structure.
* @class
*/
class ModifyDomainPostActionResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCertificateVerifyResult response structure.
* @class
*/
class DescribeCertificateVerifyResultResponse extends AbstractModel {
constructor(){
super();
/**
* Status code
0: normal certificate
310: abnormal certificate
311: certificate expired
312: certificate about to expire
* @type {number || null}
*/
this.Status = null;
/**
* Error details
* @type {Array.<string> || null}
*/
this.Detail = null;
/**
* Expiration time
* @type {string || null}
*/
this.NotAfter = null;
/**
* Whether the certificate is changed
0: not changed
1: changed
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Changed = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Status = 'Status' in params ? params.Status : null;
this.Detail = 'Detail' in params ? params.Detail : null;
this.NotAfter = 'NotAfter' in params ? params.NotAfter : null;
this.Changed = 'Changed' in params ? params.Changed : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyUserSignatureRule response structure.
* @class
*/
class ModifyUserSignatureRuleResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Specific rule elements within the rule elements returned by DescribeAntiInfoLeakRules
* @class
*/
class DescribeAntiInfoLeakRulesStrategyItem extends AbstractModel {
constructor(){
super();
/**
* Field
* @type {string || null}
*/
this.Field = null;
/**
* Condition
* @type {string || null}
*/
this.CompareFunc = null;
/**
* Content
* @type {string || null}
*/
this.Content = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Field = 'Field' in params ? params.Field : null;
this.CompareFunc = 'CompareFunc' in params ? params.CompareFunc : null;
this.Content = 'Content' in params ? params.Content : null;
}
}
/**
* ModifyInstanceName response structure.
* @class
*/
class ModifyInstanceNameResponse extends AbstractModel {
constructor(){
super();
/**
* Modification status: 0 indicates success
* @type {number || null}
*/
this.ModifyCode = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ModifyCode = 'ModifyCode' in params ? params.ModifyCode : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* TLS information
* @class
*/
class TLSVersion extends AbstractModel {
constructor(){
super();
/**
* ID of TLSVERSION
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.VersionId = null;
/**
* TLSVERSION's Name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.VersionName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VersionId = 'VersionId' in params ? params.VersionId : null;
this.VersionName = 'VersionName' in params ? params.VersionName : null;
}
}
/**
* UpsertSession response structure.
* @class
*/
class UpsertSessionResponse extends AbstractModel {
constructor(){
super();
/**
* Result
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Data = null;
/**
* SessionID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.SessionID = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Data = 'Data' in params ? params.Data : null;
this.SessionID = 'SessionID' in params ? params.SessionID : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDomains response structure.
* @class
*/
class DescribeDomainsResponse extends AbstractModel {
constructor(){
super();
/**
* Total number
* @type {number || null}
*/
this.Total = null;
/**
* Domain list
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<DomainInfo> || null}
*/
this.Domains = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Total = 'Total' in params ? params.Total : null;
if (params.Domains) {
this.Domains = new Array();
for (let z in params.Domains) {
let obj = new DomainInfo();
obj.deserialize(params.Domains[z]);
this.Domains.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteSession request structure.
* @class
*/
class DeleteSessionRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* clb-waf or sparta-waf
* @type {string || null}
*/
this.Edition = null;
/**
* SessionID to be deleted
* @type {number || null}
*/
this.SessionID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.SessionID = 'SessionID' in params ? params.SessionID : null;
}
}
/**
* GenerateDealsAndPayNew request structure.
* @class
*/
class GenerateDealsAndPayNewRequest extends AbstractModel {
constructor(){
super();
/**
* Billing and ordering input parameters
* @type {Array.<GoodNews> || null}
*/
this.Goods = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Goods) {
this.Goods = new Array();
for (let z in params.Goods) {
let obj = new GoodNews();
obj.deserialize(params.Goods[z]);
this.Goods.push(obj);
}
}
}
}
/**
* RefreshAccessCheckResult request structure.
* @class
*/
class RefreshAccessCheckResultRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
}
}
/**
* AddAntiFakeUrl response structure.
* @class
*/
class AddAntiFakeUrlResponse extends AbstractModel {
constructor(){
super();
/**
* Result
* @type {string || null}
*/
this.Result = null;
/**
* Rule ID
* @type {string || null}
*/
this.Id = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Result = 'Result' in params ? params.Result : null;
this.Id = 'Id' in params ? params.Id : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyHost response structure.
* @class
*/
class ModifyHostResponse extends AbstractModel {
constructor(){
super();
/**
* Edited domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCiphersDetail request structure.
* @class
*/
class DescribeCiphersDetailRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* AddCustomRule response structure.
* @class
*/
class AddCustomRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* Successfully added rule ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CC rule details
* @class
*/
class CCRuleItems extends AbstractModel {
constructor(){
super();
/**
* Name
* @type {string || null}
*/
this.Name = null;
/**
* Status
* @type {number || null}
*/
this.Status = null;
/**
* Mode
* @type {number || null}
*/
this.Advance = null;
/**
* Limit
* @type {number || null}
*/
this.Limit = null;
/**
* Detection interval
* @type {number || null}
*/
this.Interval = null;
/**
* URL
* @type {string || null}
*/
this.Url = null;
/**
* Type to match
* @type {number || null}
*/
this.MatchFunc = null;
/**
* Action
* @type {number || null}
*/
this.ActionType = null;
/**
* Priority
* @type {number || null}
*/
this.Priority = null;
/**
* Expiration time
* @type {number || null}
*/
this.ValidTime = null;
/**
* Version
* @type {number || null}
*/
this.TsVersion = null;
/**
* Rule details
* @type {string || null}
*/
this.Options = null;
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* Event ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EventId = null;
/**
* Associated session rules
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.SessionApplied = null;
/**
* Creation time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CreateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Status = 'Status' in params ? params.Status : null;
this.Advance = 'Advance' in params ? params.Advance : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.Url = 'Url' in params ? params.Url : null;
this.MatchFunc = 'MatchFunc' in params ? params.MatchFunc : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.Priority = 'Priority' in params ? params.Priority : null;
this.ValidTime = 'ValidTime' in params ? params.ValidTime : null;
this.TsVersion = 'TsVersion' in params ? params.TsVersion : null;
this.Options = 'Options' in params ? params.Options : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.SessionApplied = 'SessionApplied' in params ? params.SessionApplied : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
}
}
/**
* ModifyDomainIpv6Status request structure.
* @class
*/
class ModifyDomainIpv6StatusRequest extends AbstractModel {
constructor(){
super();
/**
* Instance ID of the domain to be modified
* @type {string || null}
*/
this.InstanceId = null;
/**
* Domain to modify
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID to be modified
* @type {string || null}
*/
this.DomainId = null;
/**
* IPv6 switch for modifying domain is Status (1: enable, 2: disable)
* @type {number || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* CreateIpAccessControl response structure.
* @class
*/
class CreateIpAccessControlResponse extends AbstractModel {
constructor(){
super();
/**
* ID of the new rule.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* RefreshAccessCheckResult response structure.
* @class
*/
class RefreshAccessCheckResultResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeAntiInfoLeakageRules response structure.
* @class
*/
class DescribeAntiInfoLeakageRulesResponse extends AbstractModel {
constructor(){
super();
/**
* Number of records
* @type {number || null}
*/
this.Total = null;
/**
* List of rules
* @type {Array.<DescribeAntiLeakageItem> || null}
*/
this.RuleList = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Total = 'Total' in params ? params.Total : null;
if (params.RuleList) {
this.RuleList = new Array();
for (let z in params.RuleList) {
let obj = new DescribeAntiLeakageItem();
obj.deserialize(params.RuleList[z]);
this.RuleList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Session definition
* @class
*/
class SessionItem extends AbstractModel {
constructor(){
super();
/**
* Type to match
* @type {string || null}
*/
this.Category = null;
/**
* Start Mode
* @type {string || null}
*/
this.KeyOrStartMat = null;
/**
* End Mode
* @type {string || null}
*/
this.EndMat = null;
/**
* Starting Offset
* @type {string || null}
*/
this.StartOffset = null;
/**
* End Offset
* @type {string || null}
*/
this.EndOffset = null;
/**
* Data source
* @type {string || null}
*/
this.Source = null;
/**
* Update Timestamp
* @type {string || null}
*/
this.TsVersion = null;
/**
* SessionID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.SessionId = null;
/**
* Session Name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SessionName = null;
/**
* Whether the session is being enabled
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.SessionInUsed = null;
/**
* Session-related CC Rule ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.RelatedRuleID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Category = 'Category' in params ? params.Category : null;
this.KeyOrStartMat = 'KeyOrStartMat' in params ? params.KeyOrStartMat : null;
this.EndMat = 'EndMat' in params ? params.EndMat : null;
this.StartOffset = 'StartOffset' in params ? params.StartOffset : null;
this.EndOffset = 'EndOffset' in params ? params.EndOffset : null;
this.Source = 'Source' in params ? params.Source : null;
this.TsVersion = 'TsVersion' in params ? params.TsVersion : null;
this.SessionId = 'SessionId' in params ? params.SessionId : null;
this.SessionName = 'SessionName' in params ? params.SessionName : null;
this.SessionInUsed = 'SessionInUsed' in params ? params.SessionInUsed : null;
this.RelatedRuleID = 'RelatedRuleID' in params ? params.RelatedRuleID : null;
}
}
/**
* Key protection resource information
* @class
*/
class MajorEventsPkg extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Region = null;
/**
* Start time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BeginTime = null;
/**
* End time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EndTime = null;
/**
* Application Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.InquireNum = null;
/**
* Usage Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UsedNum = null;
/**
* Renewal flag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Billing item.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillingItem = null;
/**
* Protection Package Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.HWState = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.Status = 'Status' in params ? params.Status : null;
this.Region = 'Region' in params ? params.Region : null;
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.InquireNum = 'InquireNum' in params ? params.InquireNum : null;
this.UsedNum = 'UsedNum' in params ? params.UsedNum : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
this.BillingItem = 'BillingItem' in params ? params.BillingItem : null;
this.HWState = 'HWState' in params ? params.HWState : null;
}
}
/**
* ModifyObject request structure.
* @class
*/
class ModifyObjectRequest extends AbstractModel {
constructor(){
super();
/**
* Modifies the object identifier
* @type {string || null}
*/
this.ObjectId = null;
/**
* Action type. Status: change enabling status; InstanceId: bind to an instance; Proxy: set the proxy status.
* @type {string || null}
*/
this.OpType = null;
/**
* New WAF switch status, considered successful if identical to existing status
* @type {number || null}
*/
this.Status = null;
/**
* New instance ID: considered a successful modification if identical to an already bound instance
* @type {string || null}
*/
this.InstanceId = null;
/**
* Whether to enable proxy. 0: do not enable; 1: use the first IP address in XFF as the client IP address; 2: use remote_addr as the client IP address; 3: obtain the client IP address from the specified header field that is given in IpHeaders. (This value is effective when OpType is set to Status or Proxy.)
* @type {number || null}
*/
this.Proxy = null;
/**
* This parameter indicates a custom header and is required when IsCdn is set to 3. (The value is effective when OpType is set to Status or Proxy.)
* @type {Array.<string> || null}
*/
this.IpHeaders = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ObjectId = 'ObjectId' in params ? params.ObjectId : null;
this.OpType = 'OpType' in params ? params.OpType : null;
this.Status = 'Status' in params ? params.Status : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Proxy = 'Proxy' in params ? params.Proxy : null;
this.IpHeaders = 'IpHeaders' in params ? params.IpHeaders : null;
}
}
/**
* ModifyHostFlowMode request structure.
* @class
*/
class ModifyHostFlowModeRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* WAF traffic mode
0: mirror mode (default)
1: cleaning mode
* @type {number || null}
*/
this.FlowMode = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.FlowMode = 'FlowMode' in params ? params.FlowMode : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* UpsertCCRule response structure.
* @class
*/
class UpsertCCRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Normally null
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Data = null;
/**
* Operated RuleId
* @type {number || null}
*/
this.RuleId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Data = 'Data' in params ? params.Data : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* GetAttackHistogram request structure.
* @class
*/
class GetAttackHistogramRequest extends AbstractModel {
constructor(){
super();
/**
* Queried domain: use all for all domains
* @type {string || null}
*/
this.Domain = null;
/**
* Query start time
* @type {string || null}
*/
this.StartTime = null;
/**
* Query end time
* @type {string || null}
*/
this.EndTime = null;
/**
* Lucene syntax.
* @type {string || null}
*/
this.QueryString = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.QueryString = 'QueryString' in params ? params.QueryString : null;
}
}
/**
* SaaS and CLB information
* @class
*/
class UserDomainInfo extends AbstractModel {
constructor(){
super();
/**
* User ID
* @type {number || null}
*/
this.Appid = null;
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Instance name
* @type {string || null}
*/
this.InstanceName = null;
/**
* WAF type
* @type {string || null}
*/
this.Edition = null;
/**
* Version
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Level = null;
/**
* Switch for Specified Domain Access Log Fields
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.WriteConfig = null;
/**
* Whether to Write the CLS Switch for the Specified Domain 1: Yes, 0: No
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Cls = null;
/**
* Marks if it is hybrid cloud access. Hybrid indicates a hybrid cloud access domain
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CloudType = null;
/**
* CLB WAF type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AlbType = null;
/**
* Bot detection enabling status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.BotStatus = null;
/**
* API enabling status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ApiStatus = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Appid = 'Appid' in params ? params.Appid : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.Level = 'Level' in params ? params.Level : null;
this.WriteConfig = 'WriteConfig' in params ? params.WriteConfig : null;
this.Cls = 'Cls' in params ? params.Cls : null;
this.CloudType = 'CloudType' in params ? params.CloudType : null;
this.AlbType = 'AlbType' in params ? params.AlbType : null;
this.BotStatus = 'BotStatus' in params ? params.BotStatus : null;
this.ApiStatus = 'ApiStatus' in params ? params.ApiStatus : null;
}
}
/**
* ModifyAntiInfoLeakRules request structure.
* @class
*/
class ModifyAntiInfoLeakRulesRequest extends AbstractModel {
constructor(){
super();
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* Rule name
* @type {string || null}
*/
this.Name = null;
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Action value
* @type {number || null}
*/
this.ActionType = null;
/**
* Policy array
* @type {Array.<StrategyForAntiInfoLeak> || null}
*/
this.Strategies = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Name = 'Name' in params ? params.Name : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
if (params.Strategies) {
this.Strategies = new Array();
for (let z in params.Strategies) {
let obj = new StrategyForAntiInfoLeak();
obj.deserialize(params.Strategies[z]);
this.Strategies.push(obj);
}
}
}
}
/**
* ModifyProtectionStatus request structure.
* @class
*/
class ModifyProtectionStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Status
* @type {number || null}
*/
this.Status = null;
/**
* Version of WAF. clb-waf indicates CLB WAF; sparta-waf indicates SaaS WAF. sparta-waf by default.
* @type {string || null}
*/
this.Edition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Status = 'Status' in params ? params.Status : null;
this.Edition = 'Edition' in params ? params.Edition : null;
}
}
/**
* CC rule overview
* @class
*/
class CCRuleLists extends AbstractModel {
constructor(){
super();
/**
* Total number
* @type {number || null}
*/
this.TotalCount = null;
/**
* Rule
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<CCRuleItems> || null}
*/
this.Res = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
if (params.Res) {
this.Res = new Array();
for (let z in params.Res) {
let obj = new CCRuleItems();
obj.deserialize(params.Res[z]);
this.Res.push(obj);
}
}
}
}
/**
* ModifyApiAnalyzeStatus response structure.
* @class
*/
class ModifyApiAnalyzeStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Number of Activated. If the returned value is 3 (greater than the number of domains supported for activation), the activation has failed.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Count = null;
/**
* Domain list not supported to enable
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.UnSupportedList = null;
/**
* Domain list with enabling/disabling failed
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.FailDomainList = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Count = 'Count' in params ? params.Count : null;
this.UnSupportedList = 'UnSupportedList' in params ? params.UnSupportedList : null;
this.FailDomainList = 'FailDomainList' in params ? params.FailDomainList : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCustomWhiteRule request structure.
* @class
*/
class DescribeCustomWhiteRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Offset.
* @type {number || null}
*/
this.Offset = null;
/**
* Capacity
* @type {number || null}
*/
this.Limit = null;
/**
* Filter array. A name can be one of the following: RuleID, RuleName, and Match.
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
/**
* asc or desc
* @type {string || null}
*/
this.Order = null;
/**
* exp_ts or mod_ts
* @type {string || null}
*/
this.By = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Order = 'Order' in params ? params.Order : null;
this.By = 'By' in params ? params.By : null;
}
}
/**
* DeleteAntiFakeUrl response structure.
* @class
*/
class DeleteAntiFakeUrlResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* WAF module specifications
* @class
*/
class WafRuleLimit extends AbstractModel {
constructor(){
super();
/**
* Specifications of Custom CC
* @type {number || null}
*/
this.CC = null;
/**
* Specifications for Custom Policy
* @type {number || null}
*/
this.CustomRule = null;
/**
* Specifications for Blocklist/Allowlist
* @type {number || null}
*/
this.IPControl = null;
/**
* Specifications for Information Leakage Prevention
* @type {number || null}
*/
this.AntiLeak = null;
/**
* Tamper-proof Specifications
* @type {number || null}
*/
this.AntiTamper = null;
/**
* Specifications for Urgent CC
* @type {number || null}
*/
this.AutoCC = null;
/**
* Specifications for Region Banning
* @type {number || null}
*/
this.AreaBan = null;
/**
* Configure Session in Custom CC
* @type {number || null}
*/
this.CCSession = null;
/**
* AI Specifications
* @type {number || null}
*/
this.AI = null;
/**
* Specifications of Precision Allowlist
* @type {number || null}
*/
this.CustomWhite = null;
/**
* API Security Specification
* @type {number || null}
*/
this.ApiSecurity = null;
/**
* Specifications for client traffic flag
* @type {number || null}
*/
this.ClientMsg = null;
/**
* Specifications for Traffic Tagging
* @type {number || null}
*/
this.TrafficMarking = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.CC = 'CC' in params ? params.CC : null;
this.CustomRule = 'CustomRule' in params ? params.CustomRule : null;
this.IPControl = 'IPControl' in params ? params.IPControl : null;
this.AntiLeak = 'AntiLeak' in params ? params.AntiLeak : null;
this.AntiTamper = 'AntiTamper' in params ? params.AntiTamper : null;
this.AutoCC = 'AutoCC' in params ? params.AutoCC : null;
this.AreaBan = 'AreaBan' in params ? params.AreaBan : null;
this.CCSession = 'CCSession' in params ? params.CCSession : null;
this.AI = 'AI' in params ? params.AI : null;
this.CustomWhite = 'CustomWhite' in params ? params.CustomWhite : null;
this.ApiSecurity = 'ApiSecurity' in params ? params.ApiSecurity : null;
this.ClientMsg = 'ClientMsg' in params ? params.ClientMsg : null;
this.TrafficMarking = 'TrafficMarking' in params ? params.TrafficMarking : null;
}
}
/**
* DescribeAttackType request structure.
* @class
*/
class DescribeAttackTypeRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.FromTime = null;
/**
* End time
* @type {string || null}
*/
this.ToTime = null;
/**
* Compatible host, gradually phasing out Host field
* @type {string || null}
*/
this.Host = null;
/**
* Only two values are valid: sparta-waf, clb-waf. No filtering if not input.
* @type {string || null}
*/
this.Edition = null;
/**
* WAF instance ID. No filter will be carried out if it is not input.
* @type {string || null}
*/
this.InstanceID = null;
/**
* Domain filtering, not applied if not input, used to replace Host field and phase out Host
* @type {string || null}
*/
this.Domain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FromTime = 'FromTime' in params ? params.FromTime : null;
this.ToTime = 'ToTime' in params ? params.ToTime : null;
this.Host = 'Host' in params ? params.Host : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.Domain = 'Domain' in params ? params.Domain : null;
}
}
/**
* ModifyAntiFakeUrlStatus request structure.
* @class
*/
class ModifyAntiFakeUrlStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Status
* @type {number || null}
*/
this.Status = null;
/**
* ID List
* @type {Array.<number> || null}
*/
this.Ids = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Status = 'Status' in params ? params.Status : null;
this.Ids = 'Ids' in params ? params.Ids : null;
}
}
/**
* DeleteCustomWhiteRule request structure.
* @class
*/
class DeleteCustomWhiteRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Deleted domain
* @type {string || null}
*/
this.Domain = null;
/**
* Deleted rule ID
* @type {number || null}
*/
this.RuleId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
}
}
/**
* ModifyHostMode response structure.
* @class
*/
class ModifyHostModeResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyInstanceRenewFlag response structure.
* @class
*/
class ModifyInstanceRenewFlagResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCCRuleList request structure.
* @class
*/
class DescribeCCRuleListRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name of the API to be queried
* @type {string || null}
*/
this.Domain = null;
/**
* Offset
* @type {number || null}
*/
this.Offset = null;
/**
* Capacity
* @type {number || null}
*/
this.Limit = null;
/**
* Currently supports sorting by ts_version
* @type {string || null}
*/
this.By = null;
/**
* Filter array. A name can be one of the following values: RuleID, ParamName, Url, Action, Method, Source, and Status.
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
/**
* asc or desc
* @type {string || null}
*/
this.Order = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.By = 'By' in params ? params.By : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Order = 'Order' in params ? params.Order : null;
}
}
/**
* ModifyProtectionStatus response structure.
* @class
*/
class ModifyProtectionStatusResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Return code of the response body
* @class
*/
class ResponseCode extends AbstractModel {
constructor(){
super();
/**
* If successful, return a success; if failed, return Cloud API Defined Error Codes
* @type {string || null}
*/
this.Code = null;
/**
* If successful, return a success; if failed, return the secondary error code of WAF Definition
* @type {string || null}
*/
this.Message = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Code = 'Code' in params ? params.Code : null;
this.Message = 'Message' in params ? params.Message : null;
}
}
/**
* DescribeCustomRuleList response structure.
* @class
*/
class DescribeCustomRuleListResponse extends AbstractModel {
constructor(){
super();
/**
* Rule details
* @type {Array.<DescribeCustomRulesRspRuleListItem> || null}
*/
this.RuleList = null;
/**
* Number of rules
* @type {string || null}
*/
this.TotalCount = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.RuleList) {
this.RuleList = new Array();
for (let z in params.RuleList) {
let obj = new DescribeCustomRulesRspRuleListItem();
obj.deserialize(params.RuleList[z]);
this.RuleList.push(obj);
}
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyDomainsCLSStatus response structure.
* @class
*/
class ModifyDomainsCLSStatusResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ImportIpAccessControl response structure.
* @class
*/
class ImportIpAccessControlResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeVipInfo request structure.
* @class
*/
class DescribeVipInfoRequest extends AbstractModel {
constructor(){
super();
/**
* WAF instance ID list
* @type {Array.<string> || null}
*/
this.InstanceIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceIds = 'InstanceIds' in params ? params.InstanceIds : null;
}
}
/**
* DeleteIpAccessControlV2 request structure.
* @class
*/
class DeleteIpAccessControlV2Request extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Rule ID list. Batch deletion is supported. This parameter does not need to be specified when DeleteAll is true.
* @type {Array.<number> || null}
*/
this.RuleIds = null;
/**
* Whether to delete all IP blocklists/allowlists under the corresponding domain name. true: delete all lists; false: delete only the specified lists. Batch protection is not supported.
* @type {boolean || null}
*/
this.DeleteAll = null;
/**
* batch: indicates batch protection IP allowlists/blocklists.
* @type {string || null}
*/
this.SourceType = null;
/**
* IP blocklist/allowlist type. 40: IP allowlist; 42: IP blocklist. This parameter should be passed in when DeleteAll is true.
* @type {number || null}
*/
this.ActionType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleIds = 'RuleIds' in params ? params.RuleIds : null;
this.DeleteAll = 'DeleteAll' in params ? params.DeleteAll : null;
this.SourceType = 'SourceType' in params ? params.SourceType : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
}
}
/**
* Data structure of periodic rule execution
* @class
*/
class CronJob extends AbstractModel {
constructor(){
super();
/**
* Days in each month for execution
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.Days = null;
/**
* Days of each week for execution
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.WDays = null;
/**
* Start time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EndTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Days = 'Days' in params ? params.Days : null;
this.WDays = 'WDays' in params ? params.WDays : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
}
}
/**
* Data Encapsulation
* @class
*/
class IpAccessControlData extends AbstractModel {
constructor(){
super();
/**
* IP Blocklist/Allowlist
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<IpAccessControlItem> || null}
*/
this.Res = null;
/**
* Counting.
* @type {number || null}
*/
this.TotalCount = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Res) {
this.Res = new Array();
for (let z in params.Res) {
let obj = new IpAccessControlItem();
obj.deserialize(params.Res[z]);
this.Res.push(obj);
}
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
}
}
/**
* GetAttackHistogram response structure.
* @class
*/
class GetAttackHistogramResponse extends AbstractModel {
constructor(){
super();
/**
* Statistics details
* @type {Array.<LogHistogramInfo> || null}
*/
this.Data = null;
/**
* Time period size
* @type {number || null}
*/
this.Period = null;
/**
* Number of entries counted
* @type {number || null}
*/
this.TotalCount = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new LogHistogramInfo();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Period = 'Period' in params ? params.Period : null;
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* GetInstanceQpsLimit request structure.
* @class
*/
class GetInstanceQpsLimitRequest extends AbstractModel {
constructor(){
super();
/**
* Package instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Package type.
* @type {string || null}
*/
this.Type = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Type = 'Type' in params ? params.Type : null;
}
}
/**
* Filter array
* @class
*/
class FiltersItemNew extends AbstractModel {
constructor(){
super();
/**
* Field name, used for filtering
Filter the sub-order number (value) by DealName.
* @type {string || null}
*/
this.Name = null;
/**
* Values after filtering
* @type {Array.<string> || null}
*/
this.Values = null;
/**
* Exact search or not
* @type {boolean || null}
*/
this.ExactMatch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Values = 'Values' in params ? params.Values : null;
this.ExactMatch = 'ExactMatch' in params ? params.ExactMatch : null;
}
}
/**
* DeleteSpartaProtection response structure.
* @class
*/
class DeleteSpartaProtectionResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Parameter Wrapping
* @class
*/
class SessionData extends AbstractModel {
constructor(){
super();
/**
* Session definition
* @type {Array.<SessionItem> || null}
*/
this.Res = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Res) {
this.Res = new Array();
for (let z in params.Res) {
let obj = new SessionItem();
obj.deserialize(params.Res[z]);
this.Res.push(obj);
}
}
}
}
/**
* ModifyUserLevel request structure.
* @class
*/
class ModifyUserLevelRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Protection rule level: 300=standard, 400=extended
* @type {number || null}
*/
this.Level = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Level = 'Level' in params ? params.Level : null;
}
}
/**
* Obtain the default value for elastic QPS
* @class
*/
class QpsData extends AbstractModel {
constructor(){
super();
/**
* Elastic QPS Default Value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ElasticBillingDefault = null;
/**
* Elastic QPS Minimum Value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ElasticBillingMin = null;
/**
* Maximum Elastic QPS
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ElasticBillingMax = null;
/**
* Maximum QPS for Business Expansion Package
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.QPSExtendMax = null;
/**
* Maximum QPS for Overseas Business Expansion Package
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.QPSExtendIntlMax = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ElasticBillingDefault = 'ElasticBillingDefault' in params ? params.ElasticBillingDefault : null;
this.ElasticBillingMin = 'ElasticBillingMin' in params ? params.ElasticBillingMin : null;
this.ElasticBillingMax = 'ElasticBillingMax' in params ? params.ElasticBillingMax : null;
this.QPSExtendMax = 'QPSExtendMax' in params ? params.QPSExtendMax : null;
this.QPSExtendIntlMax = 'QPSExtendIntlMax' in params ? params.QPSExtendIntlMax : null;
}
}
/**
* DescribeAntiInfoLeakageRules request structure.
* @class
*/
class DescribeAntiInfoLeakageRulesRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Page turning support, read offset
* @type {number || null}
*/
this.Offset = null;
/**
* Paging support, read length limit
* @type {number || null}
*/
this.Limit = null;
/**
* Sort method, asc or desc
* @type {string || null}
*/
this.Order = null;
/**
* Filter. The following values are allowed:
RuleId,Match_field,Name,Action,Status
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Order = 'Order' in params ? params.Order : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* CreateHost response structure.
* @class
*/
class CreateHostResponse extends AbstractModel {
constructor(){
super();
/**
* Unique ID of domain
* @type {string || null}
*/
this.DomainId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Pie chart data type
* @class
*/
class PiechartItem extends AbstractModel {
constructor(){
super();
/**
* Type
* @type {string || null}
*/
this.Type = null;
/**
* Quantity
* @type {number || null}
*/
this.Count = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Type = 'Type' in params ? params.Type : null;
this.Count = 'Count' in params ? params.Count : null;
}
}
/**
* IP Blocklist/Allowlist
* @class
*/
class IpAccessControlItem extends AbstractModel {
constructor(){
super();
/**
* MongoDB Table Auto-increment ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Id = null;
/**
* Action
* @type {number || null}
*/
this.ActionType = null;
/**
* ip
* @type {string || null}
*/
this.Ip = null;
/**
* Remarks
* @type {string || null}
*/
this.Note = null;
/**
* Source.
* @type {string || null}
*/
this.Source = null;
/**
* Update Timestamp
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TsVersion = null;
/**
* Expiration Timestamp
* @type {number || null}
*/
this.ValidTs = null;
/**
* Effective status.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ValidStatus = null;
/**
* 55000001
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* IP list.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.IpList = null;
/**
* Rule creation time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CreateTime = null;
/**
* Scheduled task type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.JobType = null;
/**
* Periodic task type.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CronType = null;
/**
* Details of scheduled task configuration.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.Ip = 'Ip' in params ? params.Ip : null;
this.Note = 'Note' in params ? params.Note : null;
this.Source = 'Source' in params ? params.Source : null;
this.TsVersion = 'TsVersion' in params ? params.TsVersion : null;
this.ValidTs = 'ValidTs' in params ? params.ValidTs : null;
this.ValidStatus = 'ValidStatus' in params ? params.ValidStatus : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.IpList = 'IpList' in params ? params.IpList : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.JobType = 'JobType' in params ? params.JobType : null;
this.CronType = 'CronType' in params ? params.CronType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
}
}
/**
* DeleteHost response structure.
* @class
*/
class DeleteHostResponse extends AbstractModel {
constructor(){
super();
/**
* Domain name deletion result. Code represents the status code, and Message represents details.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* SwitchElasticMode response structure.
* @class
*/
class SwitchElasticModeResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* FreshAntiFakeUrl response structure.
* @class
*/
class FreshAntiFakeUrlResponse extends AbstractModel {
constructor(){
super();
/**
* Whether the result is successful
* @type {string || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Result = 'Result' in params ? params.Result : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyBotStatus request structure.
* @class
*/
class ModifyBotStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Category
* @type {string || null}
*/
this.Category = null;
/**
* Status
* @type {string || null}
*/
this.Status = null;
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
/**
* Whether it is the bot 4.0 version
* @type {boolean || null}
*/
this.IsVersionFour = null;
/**
* Enter the bot version number, scenario-based version: 4.1.0
* @type {string || null}
*/
this.BotVersion = null;
/**
* List of domain names on which bot detection is to be enabled or disabled in batch
* @type {Array.<string> || null}
*/
this.DomainList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Category = 'Category' in params ? params.Category : null;
this.Status = 'Status' in params ? params.Status : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.IsVersionFour = 'IsVersionFour' in params ? params.IsVersionFour : null;
this.BotVersion = 'BotVersion' in params ? params.BotVersion : null;
this.DomainList = 'DomainList' in params ? params.DomainList : null;
}
}
/**
* DeleteSpartaProtection request structure.
* @class
*/
class DeleteSpartaProtectionRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name list
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Instance type
* @type {string || null}
*/
this.Edition = null;
/**
* (Required) Instance ID of the domain name
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domains = 'Domains' in params ? params.Domains : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* Details of domain names protected by SaaS WAF
* @class
*/
class DomainsPartInfo extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Unique domain name ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Unique instance ID of the domain name
* @type {string || null}
*/
this.InstanceId = null;
/**
* Instance type of the domain name
* @type {string || null}
*/
this.Edition = null;
/**
* Instance name of the domain name
* @type {string || null}
*/
this.InstanceName = null;
/**
* Certificate
* @type {string || null}
*/
this.Cert = null;
/**
* Creation time
* @type {string || null}
*/
this.CreateTime = null;
/**
* Status of the rule engine and AI engine
1: initial status. Interception for the rule engine and disabled for the AI engine.
10: observation for the rule engine and disabled for the AI engine
11: observation for both the rule engine and AI engine
12: observation for the rule engine and interception for the AI engine
20: interception for the rule engine and disabled for the AI engine
21: interception for the rule engine and observation for the AI engine
22: interception for both the rule engine and AI engine
* @type {number || null}
*/
this.Engine = null;
/**
* Whether to enable forced redirection from HTTP to HTTPS
0: do not force redirection
1: enable forced redirection
* @type {number || null}
*/
this.HttpsRewrite = null;
/**
* HTTPS origin-pull port
* @type {string || null}
*/
this.HttpsUpstreamPort = null;
/**
* Whether a layer-7 proxy service is deployed before WAF
0: No proxy service deployed
1: Proxy service deployed, and WAF will use XFF to obtain the client IP address
2: Proxy service deployed and WAF will use remote_addr to obtain the client IP address
3: Proxy service deployed and WAF will use the custom header in ip_headers to obtain the client IP address
* @type {number || null}
*/
this.IsCdn = null;
/**
* This parameter has been deprecated.
* @type {number || null}
*/
this.IsGray = null;
/**
* Whether to enable HTTP2. You should enable HTTPS as well.
0: disable
1: enable
* @type {number || null}
*/
this.IsHttp2 = null;
/**
* Whether to enable support for WebSocket
0: disable
1: enable
* @type {number || null}
*/
this.IsWebsocket = null;
/**
* Load balancing policy for origin-pull
0: round-robin
1: IP hash
2: weighted round-robin
* @type {number || null}
*/
this.LoadBalance = null;
/**
* Protection mode
0: observation mode
1: interception mode
* @type {number || null}
*/
this.Mode = null;
/**
* Private key of the self-owned certificate
* @type {string || null}
*/
this.PrivateKey = null;
/**
* When CertType is 2, this parameter must be filled, indicating the certificate ID hosted on Tencent Cloud's SSL platform
* @type {string || null}
*/
this.SSLId = null;
/**
* Origin domain when domain is back to source. When UpstreamType=1, this field needs to be filled
* @type {string || null}
*/
this.UpstreamDomain = null;
/**
* Origin-pull type
0: origin-pull via IP address
1: origin-pull via domain name
* @type {number || null}
*/
this.UpstreamType = null;
/**
* Origin IP list when IP is back to source. When UpstreamType=0, this field is required
* @type {Array.<string> || null}
*/
this.SrcList = null;
/**
* Domain name port configuration
* @type {Array.<PortInfo> || null}
*/
this.Ports = null;
/**
* Certificate type
0: no certificate, with only the HTTP listening port configured
1: self-owned certificate
2: managed certificate
* @type {number || null}
*/
this.CertType = null;
/**
* Origin-pull protocol for HTTPS when the service is configured with an HTTPS port
http: Use the HTTP protocol for origin-pull. It is used together with HttpsUpstreamPort.
https: Use the HTTPS protocol for origin-pull.
* @type {string || null}
*/
this.UpstreamScheme = null;
/**
* Whether to enable access logging
0: disable
1: enable
* @type {number || null}
*/
this.Cls = null;
/**
* CNAME record for accessing a domain name protected by SaaS WAF
* @type {string || null}
*/
this.Cname = null;
/**
* Whether to enable persistent connection
0: non-persistent connection
1: persistent connection
* @type {number || null}
*/
this.IsKeepAlive = null;
/**
* Whether to enable proactive health check
0: disable
1: enable
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ActiveCheck = null;
/**
* TLS version information
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TLSVersion = null;
/**
* Custom encryption suite list. When CipherTemplate is 3, this field is required, indicating the custom encryption suite, value obtained through DescribeCiphersDetail API.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.Ciphers = null;
/**
* Cipher suite template
0: default template
1: general template
2: security template
3: custom template
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CipherTemplate = null;
/**
* Read timeout between WAF and origin server, 300s by default.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ProxyReadTimeout = null;
/**
* WAF and origin server write timeout, 300s by default.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ProxySendTimeout = null;
/**
* SNI type during WAF origin-pull
0: Disable SNI and do not configure server_name in client_hello.
1: Enable SNI. server_name in client_hello is a protected domain name.
2: Enable SNI. SNI is the origin server domain name during the domain name origin-pull.
3: Enable SNI. SNI is a custom domain name.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.SniType = null;
/**
* When SniType=3, this parameter is required, indicating a custom SNI;
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SniHost = null;
/**
* Weight of the IP address for origin-pull
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.Weights = null;
/**
* IsCdn=3 indicates custom header
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.IpHeaders = null;
/**
* Whether to enable XFF reset
0: disable
1: enable
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.XFFReset = null;
/**
* Domain name remarks
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Note = null;
/**
* Custom origin-pull host. The default value is a null string, indicating that a protected domain name is used as the origin-pull host.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.UpstreamHost = null;
/**
* Protection rule
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Level = null;
/**
* Whether to enable caching. 0: disable; 1: enable.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ProxyBuffer = null;
/**
* Whether to enable SM. 0: do not enable SM; 1: add support for SM based on the existing TLS option; 2: enable SM and support only SM client access.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.GmType = null;
/**
* SM certificate type. 0: no SM certificate is available; 1: the certificate is a self-owned SM certificate; 2: the certificate is a managed SM certificate.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.GmCertType = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the certificate chain of the self-owned SM certificate.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.GmCert = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the private key of the self-owned SM certificate.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.GmPrivateKey = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the encryption certificate of the self-owned SM certificate.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.GmEncCert = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the private key of the encryption certificate for the self-owned SM certificate.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.GmEncPrivateKey = null;
/**
* When GmCertType is 2, this parameter needs to be set, indicating the ID of the certificate managed by the Tencent Cloud SSL platform.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.GmSSLId = null;
/**
* Domain name tag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.Labels = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.Cert = 'Cert' in params ? params.Cert : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.Engine = 'Engine' in params ? params.Engine : null;
this.HttpsRewrite = 'HttpsRewrite' in params ? params.HttpsRewrite : null;
this.HttpsUpstreamPort = 'HttpsUpstreamPort' in params ? params.HttpsUpstreamPort : null;
this.IsCdn = 'IsCdn' in params ? params.IsCdn : null;
this.IsGray = 'IsGray' in params ? params.IsGray : null;
this.IsHttp2 = 'IsHttp2' in params ? params.IsHttp2 : null;
this.IsWebsocket = 'IsWebsocket' in params ? params.IsWebsocket : null;
this.LoadBalance = 'LoadBalance' in params ? params.LoadBalance : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.PrivateKey = 'PrivateKey' in params ? params.PrivateKey : null;
this.SSLId = 'SSLId' in params ? params.SSLId : null;
this.UpstreamDomain = 'UpstreamDomain' in params ? params.UpstreamDomain : null;
this.UpstreamType = 'UpstreamType' in params ? params.UpstreamType : null;
this.SrcList = 'SrcList' in params ? params.SrcList : null;
if (params.Ports) {
this.Ports = new Array();
for (let z in params.Ports) {
let obj = new PortInfo();
obj.deserialize(params.Ports[z]);
this.Ports.push(obj);
}
}
this.CertType = 'CertType' in params ? params.CertType : null;
this.UpstreamScheme = 'UpstreamScheme' in params ? params.UpstreamScheme : null;
this.Cls = 'Cls' in params ? params.Cls : null;
this.Cname = 'Cname' in params ? params.Cname : null;
this.IsKeepAlive = 'IsKeepAlive' in params ? params.IsKeepAlive : null;
this.ActiveCheck = 'ActiveCheck' in params ? params.ActiveCheck : null;
this.TLSVersion = 'TLSVersion' in params ? params.TLSVersion : null;
this.Ciphers = 'Ciphers' in params ? params.Ciphers : null;
this.CipherTemplate = 'CipherTemplate' in params ? params.CipherTemplate : null;
this.ProxyReadTimeout = 'ProxyReadTimeout' in params ? params.ProxyReadTimeout : null;
this.ProxySendTimeout = 'ProxySendTimeout' in params ? params.ProxySendTimeout : null;
this.SniType = 'SniType' in params ? params.SniType : null;
this.SniHost = 'SniHost' in params ? params.SniHost : null;
this.Weights = 'Weights' in params ? params.Weights : null;
this.IpHeaders = 'IpHeaders' in params ? params.IpHeaders : null;
this.XFFReset = 'XFFReset' in params ? params.XFFReset : null;
this.Note = 'Note' in params ? params.Note : null;
this.UpstreamHost = 'UpstreamHost' in params ? params.UpstreamHost : null;
this.Level = 'Level' in params ? params.Level : null;
this.ProxyBuffer = 'ProxyBuffer' in params ? params.ProxyBuffer : null;
this.GmType = 'GmType' in params ? params.GmType : null;
this.GmCertType = 'GmCertType' in params ? params.GmCertType : null;
this.GmCert = 'GmCert' in params ? params.GmCert : null;
this.GmPrivateKey = 'GmPrivateKey' in params ? params.GmPrivateKey : null;
this.GmEncCert = 'GmEncCert' in params ? params.GmEncCert : null;
this.GmEncPrivateKey = 'GmEncPrivateKey' in params ? params.GmEncPrivateKey : null;
this.GmSSLId = 'GmSSLId' in params ? params.GmSSLId : null;
this.Labels = 'Labels' in params ? params.Labels : null;
}
}
/**
* DescribeAntiFakeRules response structure.
* @class
*/
class DescribeAntiFakeRulesResponse extends AbstractModel {
constructor(){
super();
/**
* Total number
* @type {number || null}
*/
this.Total = null;
/**
* Returned value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<CacheUrlItems> || null}
*/
this.Data = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Total = 'Total' in params ? params.Total : null;
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new CacheUrlItems();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* AddAntiInfoLeakRules request structure.
* @class
*/
class AddAntiInfoLeakRulesRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Rule name
* @type {string || null}
*/
this.Name = null;
/**
* Actions: 0 (alarm), 1 (replace), 2 (only display the first four digits), 3 (only display the last four digits), 4 (block)
* @type {number || null}
*/
this.ActionType = null;
/**
* Policy details
* @type {Array.<StrategyForAntiInfoLeak> || null}
*/
this.Strategies = null;
/**
* URL
* @type {string || null}
*/
this.Uri = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Name = 'Name' in params ? params.Name : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
if (params.Strategies) {
this.Strategies = new Array();
for (let z in params.Strategies) {
let obj = new StrategyForAntiInfoLeak();
obj.deserialize(params.Strategies[z]);
this.Strategies.push(obj);
}
}
this.Uri = 'Uri' in params ? params.Uri : null;
}
}
/**
* ModifyObject response structure.
* @class
*/
class ModifyObjectResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Information on domain names protected by CLB WAF
* @class
*/
class HostRecord extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Unique domain name ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Primary Domain, empty upon input
* @type {string || null}
*/
this.MainDomain = null;
/**
* Rule engine protection mode
0: observation mode
1: interception mode
* @type {number || null}
*/
this.Mode = null;
/**
* Binding relationship between WAF and CLB
0: unbound
1: bound
* @type {number || null}
*/
this.Status = null;
/**
* Domain name listener status of CLB WAF
0: operation successful
4: CLB instance binding in progress
6: CLB instance unbinding in progress
7: CLB instance unbinding failed
8: CLB instance binding failed
10: internal error
* @type {number || null}
*/
this.State = null;
/**
* Status of the rule engine and AI engine
1: initial status. Interception for the rule engine and disabled for the AI engine.
10: observation for the rule engine and disabled for the AI engine
11: observation for both the rule engine and AI engine
12: observation for the rule engine and interception for the AI engine
20: interception for the rule engine and disabled for the AI engine
21: interception for the rule engine and observation for the AI engine
22: interception for both the rule engine and AI engine
* @type {number || null}
*/
this.Engine = null;
/**
* Whether a layer-7 proxy service is deployed before WAF. 0: No proxy service deployed; 1: Proxy service deployed, and WAF will use XFF to obtain the client IP address; 2: Proxy service deployed, and WAF will use remote_addr to obtain the client IP address; 3: Proxy service deployed, and WAF will use the custom header in ip_headers to obtain the client IP address.
* @type {number || null}
*/
this.IsCdn = null;
/**
* List of the information on the bound CLB instance
* @type {Array.<LoadBalancer> || null}
*/
this.LoadBalancerSet = null;
/**
* Region of the CLB instance bound to the domain name. Separate multiple regions by commas.
* @type {string || null}
*/
this.Region = null;
/**
* Instance type of the domain name. For CLB WAF, the value is "clb-waf".
* @type {string || null}
*/
this.Edition = null;
/**
* Traffic mode of domain names protected by CLB WAF
1: cleaning mode
0: mirror mode
* @type {number || null}
*/
this.FlowMode = null;
/**
* Whether to enable access logging
1: enable
0: disable
* @type {number || null}
*/
this.ClsStatus = null;
/**
* Protection Level, Optional Values: 100, 200, 300
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Level = null;
/**
* List of CDC clusters to which the domain name needs to be delivered. Specify this parameter for CDC scenes only.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.CdcClusters = null;
/**
* Application CLB type. Default value: clb.
clb: layer-7 CLB
tsegw: Tencent Cloud API Gateway
scf: Tencent Cloud Serverless
apisix: Other Tencent Cloud Gateway. eg: APISIX gateway
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AlbType = null;
/**
* IsCdn=3 required for this parameter, indicates custom header
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.IpHeaders = null;
/**
* Rule engine type
1: menshen
2: tiga
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.EngineType = null;
/**
* Cloud type
public: public cloud
private: private cloud
hybrid: hybrid cloud
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CloudType = null;
/**
* Domain name remarks
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Note = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.MainDomain = 'MainDomain' in params ? params.MainDomain : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Status = 'Status' in params ? params.Status : null;
this.State = 'State' in params ? params.State : null;
this.Engine = 'Engine' in params ? params.Engine : null;
this.IsCdn = 'IsCdn' in params ? params.IsCdn : null;
if (params.LoadBalancerSet) {
this.LoadBalancerSet = new Array();
for (let z in params.LoadBalancerSet) {
let obj = new LoadBalancer();
obj.deserialize(params.LoadBalancerSet[z]);
this.LoadBalancerSet.push(obj);
}
}
this.Region = 'Region' in params ? params.Region : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.FlowMode = 'FlowMode' in params ? params.FlowMode : null;
this.ClsStatus = 'ClsStatus' in params ? params.ClsStatus : null;
this.Level = 'Level' in params ? params.Level : null;
this.CdcClusters = 'CdcClusters' in params ? params.CdcClusters : null;
this.AlbType = 'AlbType' in params ? params.AlbType : null;
this.IpHeaders = 'IpHeaders' in params ? params.IpHeaders : null;
this.EngineType = 'EngineType' in params ? params.EngineType : null;
this.CloudType = 'CloudType' in params ? params.CloudType : null;
this.Note = 'Note' in params ? params.Note : null;
}
}
/**
* CreateHost request structure.
* @class
*/
class CreateHostRequest extends AbstractModel {
constructor(){
super();
/**
* Protection Domain Configuration Information
* @type {HostRecord || null}
*/
this.Host = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Host) {
let obj = new HostRecord();
obj.deserialize(params.Host)
this.Host = obj;
}
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* DescribeSpartaProtectionInfo response structure.
* @class
*/
class DescribeSpartaProtectionInfoResponse extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* CNAME value
* @type {string || null}
*/
this.Cname = null;
/**
* Status
* @type {string || null}
*/
this.Status = null;
/**
* Source IP address list
* @type {Array.<string> || null}
*/
this.SrcList = null;
/**
* Certificate type
* @type {string || null}
*/
this.CertType = null;
/**
* Certificate
* @type {string || null}
*/
this.Cert = null;
/**
* Private key
* @type {string || null}
*/
this.PrivateKey = null;
/**
* SSL ID
* @type {string || null}
*/
this.Sslid = null;
/**
* Whether it is a CDN
* @type {string || null}
*/
this.IsCdn = null;
/**
* Grayscale area list
* @type {Array.<string> || null}
*/
this.GrayAreas = null;
/**
* Engine
* @type {string || null}
*/
this.Engine = null;
/**
* HTTPS rewriting
* @type {string || null}
*/
this.HttpsRewrite = null;
/**
* upstreamType value
* @type {string || null}
*/
this.UpstreamType = null;
/**
* Value of upstreamDomain
* @type {string || null}
*/
this.UpstreamDomain = null;
/**
* Value of upstreamScheme
* @type {string || null}
*/
this.UpstreamScheme = null;
/**
* Whether it is HTTP2.
* @type {string || null}
*/
this.IsHttp2 = null;
/**
* Whether it includes WebSocket
* @type {string || null}
*/
this.IsWebsocket = null;
/**
* LoadBalance information
* @type {string || null}
*/
this.LoadBalance = null;
/**
* Value of httpsUpstreamPort
* @type {string || null}
*/
this.HttpsUpstreamPort = null;
/**
* Port information
* @type {Array.<PortItem> || null}
*/
this.Ports = null;
/**
* Whether it is grayscale
* @type {string || null}
*/
this.IsGray = null;
/**
* Mode
* @type {string || null}
*/
this.Mode = null;
/**
* Defense level: 100, 200, 300
* @type {string || null}
*/
this.Level = null;
/**
* Whether to maintain a long connection with the origin server
* @type {string || null}
*/
this.IsKeepAlive = null;
/**
* 0: BGP; 1: Anycast.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Anycast = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.Cname = 'Cname' in params ? params.Cname : null;
this.Status = 'Status' in params ? params.Status : null;
this.SrcList = 'SrcList' in params ? params.SrcList : null;
this.CertType = 'CertType' in params ? params.CertType : null;
this.Cert = 'Cert' in params ? params.Cert : null;
this.PrivateKey = 'PrivateKey' in params ? params.PrivateKey : null;
this.Sslid = 'Sslid' in params ? params.Sslid : null;
this.IsCdn = 'IsCdn' in params ? params.IsCdn : null;
this.GrayAreas = 'GrayAreas' in params ? params.GrayAreas : null;
this.Engine = 'Engine' in params ? params.Engine : null;
this.HttpsRewrite = 'HttpsRewrite' in params ? params.HttpsRewrite : null;
this.UpstreamType = 'UpstreamType' in params ? params.UpstreamType : null;
this.UpstreamDomain = 'UpstreamDomain' in params ? params.UpstreamDomain : null;
this.UpstreamScheme = 'UpstreamScheme' in params ? params.UpstreamScheme : null;
this.IsHttp2 = 'IsHttp2' in params ? params.IsHttp2 : null;
this.IsWebsocket = 'IsWebsocket' in params ? params.IsWebsocket : null;
this.LoadBalance = 'LoadBalance' in params ? params.LoadBalance : null;
this.HttpsUpstreamPort = 'HttpsUpstreamPort' in params ? params.HttpsUpstreamPort : null;
if (params.Ports) {
this.Ports = new Array();
for (let z in params.Ports) {
let obj = new PortItem();
obj.deserialize(params.Ports[z]);
this.Ports.push(obj);
}
}
this.IsGray = 'IsGray' in params ? params.IsGray : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Level = 'Level' in params ? params.Level : null;
this.IsKeepAlive = 'IsKeepAlive' in params ? params.IsKeepAlive : null;
this.Anycast = 'Anycast' in params ? params.Anycast : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* FreshAntiFakeUrl request structure.
* @class
*/
class FreshAntiFakeUrlRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Id
* @type {number || null}
*/
this.Id = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Id = 'Id' in params ? params.Id : null;
}
}
/**
* DescribeFindDomainList response structure.
* @class
*/
class DescribeFindDomainListResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of domain names
* @type {number || null}
*/
this.Total = null;
/**
* Domain information list
* @type {Array.<FindAllDomainDetail> || null}
*/
this.List = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Total = 'Total' in params ? params.Total : null;
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new FindAllDomainDetail();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* WAF Sparta - Edit port structure in the protection domain
* @class
*/
class SpartaProtectionPort extends AbstractModel {
constructor(){
super();
/**
* nginx Id
* @type {number || null}
*/
this.NginxServerId = null;
/**
* Port
* @type {string || null}
*/
this.Port = null;
/**
* Protocol
* @type {string || null}
*/
this.Protocol = null;
/**
* Backend port
* @type {string || null}
*/
this.UpstreamPort = null;
/**
* Backend protocol
* @type {string || null}
*/
this.UpstreamProtocol = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.NginxServerId = 'NginxServerId' in params ? params.NginxServerId : null;
this.Port = 'Port' in params ? params.Port : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.UpstreamPort = 'UpstreamPort' in params ? params.UpstreamPort : null;
this.UpstreamProtocol = 'UpstreamProtocol' in params ? params.UpstreamProtocol : null;
}
}
/**
* AddSpartaProtection request structure.
* @class
*/
class AddSpartaProtectionRequest extends AbstractModel {
constructor(){
super();
/**
* Domain requiring protection
* @type {string || null}
*/
this.Domain = null;
/**
* Certificate type
0: no certificate, with only the HTTP listening port configured
1: self-owned certificate
2: managed certificate
* @type {number || null}
*/
this.CertType = null;
/**
* Whether a layer-7 proxy service is deployed before WAF
0: No proxy service deployed
1: Proxy service deployed, and WAF will use XFF to obtain the client IP address
2: Proxy service deployed and WAF will use remote_addr to obtain the client IP address
3: Proxy service deployed, and WAF will use a custom header in ip_headers to obtain the client IP address
* @type {number || null}
*/
this.IsCdn = null;
/**
* Upstream type
0: proxy to upstream by IP address
1: proxy to upstream by domain name
* @type {number || null}
*/
this.UpstreamType = null;
/**
* Whether to enable websocket
0: disable
1: enable
* @type {number || null}
*/
this.IsWebsocket = null;
/**
* Load balancing policy for upstream
0: round-robin
1: IP hash
2: weighted round-robin
* @type {string || null}
*/
this.LoadBalance = null;
/**
* Service port list configuration
NginxServerId: fill in '0' in this function
Port: listening port number
Protocol: port protocol
UpstreamPort: same as Port
UpstreamProtocol: same as Protocol
* @type {Array.<PortItem> || null}
*/
this.Ports = null;
/**
* (Required) Whether to enable persistent connection
0: non-persistent connection
1: persistent connection
* @type {string || null}
*/
this.IsKeepAlive = null;
/**
* (Required) Instance ID of the domain name
* @type {string || null}
*/
this.InstanceID = null;
/**
* When CertType is 1, this parameter is required, indicating the self-owned certificate chain
* @type {string || null}
*/
this.Cert = null;
/**
* When CertType=1, this parameter is required, indicating the private key of the self-owned certificate.
* @type {string || null}
*/
this.PrivateKey = null;
/**
* When CertType is 2, this parameter must be filled, indicating the certificate ID hosted on Tencent Cloud's SSL platform
* @type {string || null}
*/
this.SSLId = null;
/**
* To be deprecated, not required. WAF resource ID.
* @type {string || null}
*/
this.ResourceId = null;
/**
* When IsCdn is 3, this parameter is required, indicating a custom header.
* @type {Array.<string> || null}
*/
this.IpHeaders = null;
/**
* Upstream protocol for HTTPS when the service is configured with an HTTPS port
http: Use the HTTP protocol for upstream. It is used together with HttpsUpstreamPort.
https: Use the HTTPS protocol for upstream.
* @type {string || null}
*/
this.UpstreamScheme = null;
/**
* HTTPS upstream port, required only when UpstreamScheme is http
* @type {string || null}
*/
this.HttpsUpstreamPort = null;
/**
* To be deprecated, can be left blank. Whether to enable grayscale: 0 indicates not to enable grayscale.
* @type {number || null}
*/
this.IsGray = null;
/**
* To be deprecated, can be left blank. Grayscale area.
* @type {Array.<string> || null}
*/
this.GrayAreas = null;
/**
* (Required) Whether to enable forced redirection from HTTP to HTTPS
0: do not force redirect
1: enable forced redirect
* @type {number || null}
*/
this.HttpsRewrite = null;
/**
* Upstream domain when proxy to upstream by domain. When UpstreamType=1, this field needs to be filled
* @type {string || null}
*/
this.UpstreamDomain = null;
/**
* Upstream IP list when IP is back to source. When UpstreamType=0, this field is required
* @type {Array.<string> || null}
*/
this.SrcList = null;
/**
* (Required) Whether to enable HTTP2. You should enable HTTPS as well.
0: disable
1: enable
* @type {number || null}
*/
this.IsHttp2 = null;
/**
* WAF instance type. This parameter will be deprecated in later versions and is not required in the current version.
sparta-waf: SaaS WAF
clb-waf: CLB WAF
cdn-waf: web protection capability on CDN
* @type {string || null}
*/
this.Edition = null;
/**
* To be deprecated, currently just fill in 0. Anycast IP type switch: 0 Ordinary IP, 1 Anycast IP
* @type {number || null}
*/
this.Anycast = null;
/**
* Weight of each IP in the back-to-source IP List, corresponding to SrcList. Required only when UpstreamType is 0, and SrcList contains multiple IPs, and LoadBalance is 2; otherwise, fill in [ ].
* @type {Array.<number> || null}
*/
this.Weights = null;
/**
* (Required) Whether to enable active health check
0: disable
1: enable
* @type {number || null}
*/
this.ActiveCheck = null;
/**
* TLS version information
* @type {number || null}
*/
this.TLSVersion = null;
/**
* (Required) Cipher suite template
0: default template
1: general template
2: security template
3: custom template
* @type {number || null}
*/
this.CipherTemplate = null;
/**
* Custom encryption suite list. When CipherTemplate is 3, this field is required, indicating the custom encryption suite, value obtained through DescribeCiphersDetail API.
* @type {Array.<number> || null}
*/
this.Ciphers = null;
/**
* Read timeout between WAF and upstream server, 300s by default.
* @type {number || null}
*/
this.ProxyReadTimeout = null;
/**
* WAF and upstream server write timeout, 300s by default.
* @type {number || null}
*/
this.ProxySendTimeout = null;
/**
* SNI type during WAF sending request to upstream
0: Disable SNI and do not configure server_name in client_hello.
1: Enable SNI. server_name in client_hello is a protected domain name.
2: Enable SNI. SNI is the origin server domain name during the domain name origin-pull.
3: Enable SNI. SNI is a custom domain name.
* @type {number || null}
*/
this.SniType = null;
/**
* When SniType=3, this parameter is required, indicating a custom SNI;
* @type {string || null}
*/
this.SniHost = null;
/**
* Whether to enable XFF reset. 0: disable; 1: enable.
* @type {number || null}
*/
this.XFFReset = null;
/**
* Domain name remarks
* @type {string || null}
*/
this.Note = null;
/**
* Custom upstream host. The default value is an empty string, indicating that protected domain is used as the upstream host.
* @type {string || null}
*/
this.UpstreamHost = null;
/**
* Whether to enable caching. 0: disable; 1: enable.
* @type {number || null}
*/
this.ProxyBuffer = null;
/**
* Whether to enable the test. 0: disable; 1: enable. The test is enabled by default.
* @type {number || null}
*/
this.ProbeStatus = null;
/**
* Whether to enable SM. 0: do not enable SM; 1: add support for SM based on the existing TLS option; 2: enable SM and support only SM client access.
* @type {number || null}
*/
this.GmType = null;
/**
* SM certificate type. 0: no SM certificate is available; 1: the certificate is a self-owned SM certificate; 2: the certificate is a managed SM certificate.
* @type {number || null}
*/
this.GmCertType = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the certificate chain of the self-owned SM certificate.
* @type {string || null}
*/
this.GmCert = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the private key of the self-owned SM certificate.
* @type {string || null}
*/
this.GmPrivateKey = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the encryption certificate of the self-owned SM certificate.
* @type {string || null}
*/
this.GmEncCert = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the private key of the encryption certificate for the self-owned SM certificate.
* @type {string || null}
*/
this.GmEncPrivateKey = null;
/**
* When GmCertType is 2, this parameter needs to be set, indicating the ID of the certificate managed by the Tencent Cloud SSL platform.
* @type {string || null}
*/
this.GmSSLId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.CertType = 'CertType' in params ? params.CertType : null;
this.IsCdn = 'IsCdn' in params ? params.IsCdn : null;
this.UpstreamType = 'UpstreamType' in params ? params.UpstreamType : null;
this.IsWebsocket = 'IsWebsocket' in params ? params.IsWebsocket : null;
this.LoadBalance = 'LoadBalance' in params ? params.LoadBalance : null;
if (params.Ports) {
this.Ports = new Array();
for (let z in params.Ports) {
let obj = new PortItem();
obj.deserialize(params.Ports[z]);
this.Ports.push(obj);
}
}
this.IsKeepAlive = 'IsKeepAlive' in params ? params.IsKeepAlive : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.Cert = 'Cert' in params ? params.Cert : null;
this.PrivateKey = 'PrivateKey' in params ? params.PrivateKey : null;
this.SSLId = 'SSLId' in params ? params.SSLId : null;
this.ResourceId = 'ResourceId' in params ? params.ResourceId : null;
this.IpHeaders = 'IpHeaders' in params ? params.IpHeaders : null;
this.UpstreamScheme = 'UpstreamScheme' in params ? params.UpstreamScheme : null;
this.HttpsUpstreamPort = 'HttpsUpstreamPort' in params ? params.HttpsUpstreamPort : null;
this.IsGray = 'IsGray' in params ? params.IsGray : null;
this.GrayAreas = 'GrayAreas' in params ? params.GrayAreas : null;
this.HttpsRewrite = 'HttpsRewrite' in params ? params.HttpsRewrite : null;
this.UpstreamDomain = 'UpstreamDomain' in params ? params.UpstreamDomain : null;
this.SrcList = 'SrcList' in params ? params.SrcList : null;
this.IsHttp2 = 'IsHttp2' in params ? params.IsHttp2 : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.Anycast = 'Anycast' in params ? params.Anycast : null;
this.Weights = 'Weights' in params ? params.Weights : null;
this.ActiveCheck = 'ActiveCheck' in params ? params.ActiveCheck : null;
this.TLSVersion = 'TLSVersion' in params ? params.TLSVersion : null;
this.CipherTemplate = 'CipherTemplate' in params ? params.CipherTemplate : null;
this.Ciphers = 'Ciphers' in params ? params.Ciphers : null;
this.ProxyReadTimeout = 'ProxyReadTimeout' in params ? params.ProxyReadTimeout : null;
this.ProxySendTimeout = 'ProxySendTimeout' in params ? params.ProxySendTimeout : null;
this.SniType = 'SniType' in params ? params.SniType : null;
this.SniHost = 'SniHost' in params ? params.SniHost : null;
this.XFFReset = 'XFFReset' in params ? params.XFFReset : null;
this.Note = 'Note' in params ? params.Note : null;
this.UpstreamHost = 'UpstreamHost' in params ? params.UpstreamHost : null;
this.ProxyBuffer = 'ProxyBuffer' in params ? params.ProxyBuffer : null;
this.ProbeStatus = 'ProbeStatus' in params ? params.ProbeStatus : null;
this.GmType = 'GmType' in params ? params.GmType : null;
this.GmCertType = 'GmCertType' in params ? params.GmCertType : null;
this.GmCert = 'GmCert' in params ? params.GmCert : null;
this.GmPrivateKey = 'GmPrivateKey' in params ? params.GmPrivateKey : null;
this.GmEncCert = 'GmEncCert' in params ? params.GmEncCert : null;
this.GmEncPrivateKey = 'GmEncPrivateKey' in params ? params.GmEncPrivateKey : null;
this.GmSSLId = 'GmSSLId' in params ? params.GmSSLId : null;
}
}
/**
* PeakPoints array item
* @class
*/
class PeakPointsItem extends AbstractModel {
constructor(){
super();
/**
* Second-level Timestamp
* @type {number || null}
*/
this.Time = null;
/**
* QPS
* @type {number || null}
*/
this.Access = null;
/**
* Upstream bandwidth peak, unit: B
* @type {number || null}
*/
this.Up = null;
/**
* Downstream bandwidth peak, unit: B
* @type {number || null}
*/
this.Down = null;
/**
* Web attack count
* @type {number || null}
*/
this.Attack = null;
/**
* CC attack count
* @type {number || null}
*/
this.Cc = null;
/**
* Bot qps
* @type {number || null}
*/
this.BotAccess = null;
/**
* Number of 5xx status codes returned by WAF to client
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.StatusServerError = null;
/**
* Number of times WAF returned 4xx status codes to client
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.StatusClientError = null;
/**
* WAF Returned to Client Status Code 302 Count
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.StatusRedirect = null;
/**
* Number of Times WAF Returns Status Code 202 to Client
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.StatusOk = null;
/**
* Number of Times the Origin Server Returned 5xx Status Codes to WAF
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UpstreamServerError = null;
/**
* Number of times the origin server returned 4xx status codes to WAF
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UpstreamClientError = null;
/**
* Number of times the original server returns status code 302 to WAF
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UpstreamRedirect = null;
/**
* Blocklist Count
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.BlackIP = null;
/**
* Tamper-Proof Attempts
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Tamper = null;
/**
* Information Leakage Prevention Count
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Leak = null;
/**
* Access control
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ACL = null;
/**
* Mini Program QPS
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.WxAccess = null;
/**
* Number of mini program requests
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.WxCount = null;
/**
* Peak upstream bandwidth of the mini program. Unit: B
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.WxUp = null;
/**
* Peak downstream bandwidth of the mini program. Unit: B
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.WxDown = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Time = 'Time' in params ? params.Time : null;
this.Access = 'Access' in params ? params.Access : null;
this.Up = 'Up' in params ? params.Up : null;
this.Down = 'Down' in params ? params.Down : null;
this.Attack = 'Attack' in params ? params.Attack : null;
this.Cc = 'Cc' in params ? params.Cc : null;
this.BotAccess = 'BotAccess' in params ? params.BotAccess : null;
this.StatusServerError = 'StatusServerError' in params ? params.StatusServerError : null;
this.StatusClientError = 'StatusClientError' in params ? params.StatusClientError : null;
this.StatusRedirect = 'StatusRedirect' in params ? params.StatusRedirect : null;
this.StatusOk = 'StatusOk' in params ? params.StatusOk : null;
this.UpstreamServerError = 'UpstreamServerError' in params ? params.UpstreamServerError : null;
this.UpstreamClientError = 'UpstreamClientError' in params ? params.UpstreamClientError : null;
this.UpstreamRedirect = 'UpstreamRedirect' in params ? params.UpstreamRedirect : null;
this.BlackIP = 'BlackIP' in params ? params.BlackIP : null;
this.Tamper = 'Tamper' in params ? params.Tamper : null;
this.Leak = 'Leak' in params ? params.Leak : null;
this.ACL = 'ACL' in params ? params.ACL : null;
this.WxAccess = 'WxAccess' in params ? params.WxAccess : null;
this.WxCount = 'WxCount' in params ? params.WxCount : null;
this.WxUp = 'WxUp' in params ? params.WxUp : null;
this.WxDown = 'WxDown' in params ? params.WxDown : null;
}
}
/**
* GetInstanceQpsLimit response structure.
* @class
*/
class GetInstanceQpsLimitResponse extends AbstractModel {
constructor(){
super();
/**
* Elastic QPS related value set
* @type {QpsData || null}
*/
this.QpsData = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.QpsData) {
let obj = new QpsData();
obj.deserialize(params.QpsData)
this.QpsData = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateDeals request structure.
* @class
*/
class CreateDealsRequest extends AbstractModel {
constructor(){
super();
/**
* Billing and ordering input parameters
* @type {Array.<CreateDealsGoods> || null}
*/
this.Goods = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Goods) {
this.Goods = new Array();
for (let z in params.Goods) {
let obj = new CreateDealsGoods();
obj.deserialize(params.Goods[z]);
this.Goods.push(obj);
}
}
}
}
/**
* Rule execution time structure
* @class
*/
class JobDateTime extends AbstractModel {
constructor(){
super();
/**
* Time parameters for scheduled execution
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TimedJob> || null}
*/
this.Timed = null;
/**
* Time parameters for periodic execution
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<CronJob> || null}
*/
this.Cron = null;
/**
* Time zone
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TimeTZone = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Timed) {
this.Timed = new Array();
for (let z in params.Timed) {
let obj = new TimedJob();
obj.deserialize(params.Timed[z]);
this.Timed.push(obj);
}
}
if (params.Cron) {
this.Cron = new Array();
for (let z in params.Cron) {
let obj = new CronJob();
obj.deserialize(params.Cron[z]);
this.Cron.push(obj);
}
}
this.TimeTZone = 'TimeTZone' in params ? params.TimeTZone : null;
}
}
/**
* ModifyCustomWhiteRule response structure.
* @class
*/
class ModifyCustomWhiteRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeSession request structure.
* @class
*/
class DescribeSessionRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* clb-waf or sparta-waf
* @type {string || null}
*/
this.Edition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Edition = 'Edition' in params ? params.Edition : null;
}
}
/**
* ModifyModuleStatus response structure.
* @class
*/
class ModifyModuleStatusResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribePolicyStatus request structure.
* @class
*/
class DescribePolicyStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* clb-waf or saas-waf
* @type {string || null}
*/
this.Edition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Edition = 'Edition' in params ? params.Edition : null;
}
}
/**
* DescribePorts response structure.
* @class
*/
class DescribePortsResponse extends AbstractModel {
constructor(){
super();
/**
* HTTP Port List
* @type {Array.<string> || null}
*/
this.HttpPorts = null;
/**
* HTTPS port list
* @type {Array.<string> || null}
*/
this.HttpsPorts = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.HttpPorts = 'HttpPorts' in params ? params.HttpPorts : null;
this.HttpsPorts = 'HttpsPorts' in params ? params.HttpsPorts : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyIpAccessControl request structure.
* @class
*/
class ModifyIpAccessControlRequest extends AbstractModel {
constructor(){
super();
/**
* Specific domain name, for example, test.qcloudwaf.com.
Global domain name, that is, global.
* @type {string || null}
*/
this.Domain = null;
/**
* IP parameter list.
* @type {Array.<string> || null}
*/
this.IpList = null;
/**
* 42: blocklist; 40: allowlist.
* @type {number || null}
*/
this.ActionType = null;
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* valid_ts indicates a valid date. Its value is a second-level timestamp, such as 1680570420, which indicates 2023-04-04 09:07:00.
* @type {number || null}
*/
this.ValidTS = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* WAF instance type: sparta-waf for SaaS WAF, clb-waf for CLB WAF.
* @type {string || null}
*/
this.Edition = null;
/**
* Batch protection IP blocklists/allowlists or not. If yes, the value is batch; otherwise, it is empty.
* @type {string || null}
*/
this.SourceType = null;
/**
* Remarks
* @type {string || null}
*/
this.Note = null;
/**
* Scheduled configuration type.
* @type {string || null}
*/
this.JobType = null;
/**
* Details of scheduled configuration.
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.IpList = 'IpList' in params ? params.IpList : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.ValidTS = 'ValidTS' in params ? params.ValidTS : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.SourceType = 'SourceType' in params ? params.SourceType : null;
this.Note = 'Note' in params ? params.Note : null;
this.JobType = 'JobType' in params ? params.JobType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
}
}
/**
* API security resource information
* @class
*/
class ApiPkg extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Region = null;
/**
* Start time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BeginTime = null;
/**
* End time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EndTime = null;
/**
* Application Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.InquireNum = null;
/**
* Usage Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UsedNum = null;
/**
* Renewal flag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Billing item.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillingItem = null;
/**
* API security 7-day trial flag. 1 for trial. 0 for no trial.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.IsAPISecurityTrial = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.Status = 'Status' in params ? params.Status : null;
this.Region = 'Region' in params ? params.Region : null;
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.InquireNum = 'InquireNum' in params ? params.InquireNum : null;
this.UsedNum = 'UsedNum' in params ? params.UsedNum : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
this.BillingItem = 'BillingItem' in params ? params.BillingItem : null;
this.IsAPISecurityTrial = 'IsAPISecurityTrial' in params ? params.IsAPISecurityTrial : null;
}
}
/**
* Attack Log Details
* @class
*/
class AttackLogInfo extends AbstractModel {
constructor(){
super();
/**
* Details of Attack Logs
* @type {string || null}
*/
this.Content = null;
/**
* CLS Returned Content
* @type {string || null}
*/
this.FileName = null;
/**
* CLS Returned Content
* @type {string || null}
*/
this.Source = null;
/**
* CLS Returned Content
* @type {string || null}
*/
this.TimeStamp = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Content = 'Content' in params ? params.Content : null;
this.FileName = 'FileName' in params ? params.FileName : null;
this.Source = 'Source' in params ? params.Source : null;
this.TimeStamp = 'TimeStamp' in params ? params.TimeStamp : null;
}
}
/**
* DescribeModuleStatus response structure.
* @class
*/
class DescribeModuleStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Whether web security rules are enabled
* @type {number || null}
*/
this.WebSecurity = null;
/**
* Whether access control rule is enabled
* @type {number || null}
*/
this.AccessControl = null;
/**
* Whether CC protection is enabled.
* @type {number || null}
*/
this.CcProtection = null;
/**
* Whether web tamper-proof is enabled
* @type {number || null}
*/
this.AntiTamper = null;
/**
* Whether information leakage prevention is enabled
* @type {number || null}
*/
this.AntiLeakage = null;
/**
* Whether API security is enabled
* @type {number || null}
*/
this.ApiProtection = null;
/**
* Traffic limiting module switch
* @type {number || null}
*/
this.RateLimit = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.WebSecurity = 'WebSecurity' in params ? params.WebSecurity : null;
this.AccessControl = 'AccessControl' in params ? params.AccessControl : null;
this.CcProtection = 'CcProtection' in params ? params.CcProtection : null;
this.AntiTamper = 'AntiTamper' in params ? params.AntiTamper : null;
this.AntiLeakage = 'AntiLeakage' in params ? params.AntiLeakage : null;
this.ApiProtection = 'ApiProtection' in params ? params.ApiProtection : null;
this.RateLimit = 'RateLimit' in params ? params.RateLimit : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeAttackOverview response structure.
* @class
*/
class DescribeAttackOverviewResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of access requests
* @type {number || null}
*/
this.AccessCount = null;
/**
* Total web attacks
* @type {number || null}
*/
this.AttackCount = null;
/**
* Total number of access controls
* @type {number || null}
*/
this.ACLCount = null;
/**
* Total CC attacks
* @type {number || null}
*/
this.CCCount = null;
/**
* Total bot attack count
* @type {number || null}
*/
this.BotCount = null;
/**
* Total API assets
* @type {number || null}
*/
this.ApiAssetsCount = null;
/**
* Number of API risk events
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ApiRiskEventCount = null;
/**
* Total number of blocklisted IP addresses.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.IPBlackCount = null;
/**
* Total number of tamper-proof items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TamperCount = null;
/**
* Total number of information leaks
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.LeakCount = null;
/**
* Weekly proportion of API risk events.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ApiRiskEventCircleCount = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AccessCount = 'AccessCount' in params ? params.AccessCount : null;
this.AttackCount = 'AttackCount' in params ? params.AttackCount : null;
this.ACLCount = 'ACLCount' in params ? params.ACLCount : null;
this.CCCount = 'CCCount' in params ? params.CCCount : null;
this.BotCount = 'BotCount' in params ? params.BotCount : null;
this.ApiAssetsCount = 'ApiAssetsCount' in params ? params.ApiAssetsCount : null;
this.ApiRiskEventCount = 'ApiRiskEventCount' in params ? params.ApiRiskEventCount : null;
this.IPBlackCount = 'IPBlackCount' in params ? params.IPBlackCount : null;
this.TamperCount = 'TamperCount' in params ? params.TamperCount : null;
this.LeakCount = 'LeakCount' in params ? params.LeakCount : null;
this.ApiRiskEventCircleCount = 'ApiRiskEventCircleCount' in params ? params.ApiRiskEventCircleCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCCRuleList response structure.
* @class
*/
class DescribeCCRuleListResponse extends AbstractModel {
constructor(){
super();
/**
* List of CC rules found
Note: This field may return null, indicating that no valid values can be obtained.
* @type {CCRuleLists || null}
*/
this.Data = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
let obj = new CCRuleLists();
obj.deserialize(params.Data)
this.Data = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDomainCountInfo response structure.
* @class
*/
class DescribeDomainCountInfoResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of domain names
* @type {number || null}
*/
this.AllDomain = null;
/**
* Last discovery time
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Total number of connected domains
* @type {number || null}
*/
this.WafDomainCount = null;
/**
* Remaining quota
* @type {number || null}
*/
this.LeftDomainCount = null;
/**
* Number of protected domain names
* @type {number || null}
*/
this.OpenWafDomain = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AllDomain = 'AllDomain' in params ? params.AllDomain : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.WafDomainCount = 'WafDomainCount' in params ? params.WafDomainCount : null;
this.LeftDomainCount = 'LeftDomainCount' in params ? params.LeftDomainCount : null;
this.OpenWafDomain = 'OpenWafDomain' in params ? params.OpenWafDomain : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribePorts request structure.
* @class
*/
class DescribePortsRequest extends AbstractModel {
constructor(){
super();
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
/**
* Instance type
* @type {string || null}
*/
this.Edition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.Edition = 'Edition' in params ? params.Edition : null;
}
}
/**
* ModifyHostMode request structure.
* @class
*/
class ModifyHostModeRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Protection status:
10: rule-based observation and AI disabling; 11: rule- and AI-based observation; 12: rule-based observation and AI-based interception
20: rule-based interception and AI disabling; 21: rule-based interception and AI-based observation; 22: rule- and AI-based interception
* @type {number || null}
*/
this.Mode = null;
/**
* 0: Change protection mode, 1: Modify AI
* @type {number || null}
*/
this.Type = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
/**
* Instance type
* @type {string || null}
*/
this.Edition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Type = 'Type' in params ? params.Type : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.Edition = 'Edition' in params ? params.Edition : null;
}
}
/**
* CLB-WAF QPS package new
* @class
*/
class QPSPackageNew extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Expiration time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ValidTime = null;
/**
* Auto-renewal, 1: Enabled, 0: Disabled
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Number of Package Purchases
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Count = null;
/**
* Package Purchase Region, currently not used in CLB-WAF
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Region = null;
/**
* Billing item.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillingItem = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.ValidTime = 'ValidTime' in params ? params.ValidTime : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
this.Count = 'Count' in params ? params.Count : null;
this.Region = 'Region' in params ? params.Region : null;
this.BillingItem = 'BillingItem' in params ? params.BillingItem : null;
}
}
/**
* ModifyAntiFakeUrl request structure.
* @class
*/
class ModifyAntiFakeUrlRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Name
* @type {string || null}
*/
this.Name = null;
/**
* uri
* @type {string || null}
*/
this.Uri = null;
/**
* ID
* @type {number || null}
*/
this.Id = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Name = 'Name' in params ? params.Name : null;
this.Uri = 'Uri' in params ? params.Uri : null;
this.Id = 'Id' in params ? params.Id : null;
}
}
/**
* DescribeDomainDetailsClb request structure.
* @class
*/
class DescribeDomainDetailsClbRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
}
}
/**
* ModifyAntiInfoLeakRuleStatus request structure.
* @class
*/
class ModifyAntiInfoLeakRuleStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Rule
* @type {number || null}
*/
this.RuleId = null;
/**
* Status
* @type {number || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DescribeDomainVerifyResult request structure.
* @class
*/
class DescribeDomainVerifyResultRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* Input/Output parameter goods of billing & ordering API
* @class
*/
class CreateDealsGoods extends AbstractModel {
constructor(){
super();
/**
* Number of products
* @type {number || null}
*/
this.GoodsNum = null;
/**
* Product Detail
* @type {CreateDealsGoodsDetail || null}
*/
this.GoodsDetail = null;
/**
* Order type ID, which is used to uniquely identify a business scene. (There are three scenes in total: new purchase, configuration change, and renewal.)
Advanced Edition: 102375 (new purchase), 102376 (renewal), and 102377 (configuration change)
Enterprise Edition: 102378 (new purchase), 102379 (renewal), and 102380 (configuration change)
Ultimate Edition: 102369 (new purchase), 102370 (renewal), and 102371 (configuration change)
Domain name package: 102372 (new purchase), 102373 (renewal), and 102374 (configuration change)
Business expansion package: 101040 (new purchase), 101041 (renewal), and 101042 (configuration change)
Advanced Edition - CLB: 101198 (new purchase), 101199 (renewal), and 101200 (configuration change)
Enterprise Edition - CLB: 101204 (new purchase), 101205 (renewal), and 101206 (configuration change)
Ultimate Edition - CLB: 101201 (new purchase), 101202 (renewal), and 101203 (configuration change)
Domain name package - CLB: 101207 (new purchase), 101208 (renewal), and 101209 (configuration change)
Business expansion package - CLB: 101210 (new purchase), 101211 (renewal), and 101212 (configuration adjustment)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.GoodsCategoryId = null;
/**
* Region ID for purchasing WAF instance
1 indicates purchasing resources in Chinese mainland.
9 indicates purchasing resources outside Chinese mainland.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RegionId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GoodsNum = 'GoodsNum' in params ? params.GoodsNum : null;
if (params.GoodsDetail) {
let obj = new CreateDealsGoodsDetail();
obj.deserialize(params.GoodsDetail)
this.GoodsDetail = obj;
}
this.GoodsCategoryId = 'GoodsCategoryId' in params ? params.GoodsCategoryId : null;
this.RegionId = 'RegionId' in params ? params.RegionId : null;
}
}
/**
* Rule-based scheduled task data structure
* @class
*/
class TimedJob extends AbstractModel {
constructor(){
super();
/**
* Start timestamp, in seconds
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.StartDateTime = null;
/**
* End timestamp, in seconds
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.EndDateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartDateTime = 'StartDateTime' in params ? params.StartDateTime : null;
this.EndDateTime = 'EndDateTime' in params ? params.EndDateTime : null;
}
}
/**
* DescribeTlsVersion request structure.
* @class
*/
class DescribeTlsVersionRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* DescribeCiphersDetail response structure.
* @class
*/
class DescribeCiphersDetailResponse extends AbstractModel {
constructor(){
super();
/**
* Cipher suite information
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TLSCiphers> || null}
*/
this.Ciphers = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Ciphers) {
this.Ciphers = new Array();
for (let z in params.Ciphers) {
let obj = new TLSCiphers();
obj.deserialize(params.Ciphers[z]);
this.Ciphers.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Billing order response entity
* @class
*/
class DealData extends AbstractModel {
constructor(){
super();
/**
* Order Number List: the number of elements matches the number of elements in the Goods array of the request package. Product details correspond to orders in sequence
* @type {Array.<string> || null}
*/
this.DealNames = null;
/**
* Large Order Number, a large order number can have multiple sub-orders, indicating the same order placement [{},{}]
* @type {string || null}
*/
this.BigDealId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DealNames = 'DealNames' in params ? params.DealNames : null;
this.BigDealId = 'BigDealId' in params ? params.BigDealId : null;
}
}
/**
* DeleteIpAccessControlV2 response structure.
* @class
*/
class DeleteIpAccessControlV2Response extends AbstractModel {
constructor(){
super();
/**
* Number of items that fail to be deleted during deletion in batches.
* @type {number || null}
*/
this.FailedCount = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FailedCount = 'FailedCount' in params ? params.FailedCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifySpartaProtectionMode response structure.
* @class
*/
class ModifySpartaProtectionModeResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyBotStatus response structure.
* @class
*/
class ModifyBotStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Normally null
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Data = null;
/**
* List of domain names for which no bots are purchased
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.UnSupportedList = null;
/**
* List of domain names which bots are purchased but the operation fails
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.FailDomainList = null;
/**
* Number of successes
* @type {number || null}
*/
this.Count = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Data = 'Data' in params ? params.Data : null;
this.UnSupportedList = 'UnSupportedList' in params ? params.UnSupportedList : null;
this.FailDomainList = 'FailDomainList' in params ? params.FailDomainList : null;
this.Count = 'Count' in params ? params.Count : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDomainDetailsSaas request structure.
* @class
*/
class DescribeDomainDetailsSaasRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
}
}
/**
* ModifyCustomRuleStatus response structure.
* @class
*/
class ModifyCustomRuleStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Matching criteria structure for preventing information leakage
* @class
*/
class StrategyForAntiInfoLeak extends AbstractModel {
constructor(){
super();
/**
* Matching Criteria, returncode (Response Code), keywords (Keywords), information (Sensitive Information)
* @type {string || null}
*/
this.Field = null;
/**
* Logical operator, fixed value: contains
* @type {string || null}
*/
this.CompareFunc = null;
/**
* Matching content
The following options are available when Field is set to information:
idcard (ID card), phone (phone number), and bankcard (bank card).
The following options are available when Field is set to returncode:
400 (status code 400), 403 (status code 403), 404 (status code 404), 4xx (other 4xx status codes), 500 (status code 500), 501 (status code 501), 502 (status code 502), 504 (status code 504), and 5xx (other 5xx status codes).
When Field is set to keywords, users need to input the matching content themselves.
* @type {string || null}
*/
this.Content = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Field = 'Field' in params ? params.Field : null;
this.CompareFunc = 'CompareFunc' in params ? params.CompareFunc : null;
this.Content = 'Content' in params ? params.Content : null;
}
}
/**
* AddSpartaProtection response structure.
* @class
*/
class AddSpartaProtectionResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeUserDomainInfo request structure.
* @class
*/
class DescribeUserDomainInfoRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* Domain name, which corresponds to the rule ID structure.
* @class
*/
class DomainRuleId extends AbstractModel {
constructor(){
super();
/**
* Domain name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Domain = null;
/**
* Rule ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RuleId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
}
}
/**
* DescribeModuleStatus request structure.
* @class
*/
class DescribeModuleStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain to query status
* @type {string || null}
*/
this.Domain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
}
}
/**
* Protection domain port configuration information
* @class
*/
class PortItem extends AbstractModel {
constructor(){
super();
/**
* Listening Port Configuration
* @type {string || null}
*/
this.Port = null;
/**
* Corresponds one-to-one with ports, indicating the protocol associated with the port.
* @type {string || null}
*/
this.Protocol = null;
/**
* Corresponds one-to-one with port, indicates the origin port
* @type {string || null}
*/
this.UpstreamPort = null;
/**
* Corresponds one-to-one with Port, indicating the origin protocol
* @type {string || null}
*/
this.UpstreamProtocol = null;
/**
* Nginx Server ID
* @type {string || null}
*/
this.NginxServerId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Port = 'Port' in params ? params.Port : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.UpstreamPort = 'UpstreamPort' in params ? params.UpstreamPort : null;
this.UpstreamProtocol = 'UpstreamProtocol' in params ? params.UpstreamProtocol : null;
this.NginxServerId = 'NginxServerId' in params ? params.NginxServerId : null;
}
}
/**
* Product details
* @class
*/
class CreateDealsGoodsDetail extends AbstractModel {
constructor(){
super();
/**
* Time interval
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TimeSpan = null;
/**
* Unit, support for purchasing d, m, y, i.e., (day, month, year)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TimeUnit = null;
/**
* Sub-product tag. It is mandatory for new purchase and renewal. For configuration change, it will be placed in oldConfig and newConfig.
SaaS Advanced Edition: sp_wsm_waf_premium
SaaS Enterprise Edition: sp_wsm_waf_enterprise
SaaS Ultimate Edition: sp_wsm_waf_ultimate
SaaS business expansion package: sp_wsm_waf_qpsep
SaaS domain name expansion package: sp_wsm_waf_domain
Advanced Edition - CLB: sp_wsm_waf_premium_clb
Enterprise Edition - CLB: sp_wsm_waf_enterprise_clb
Ultimate Edition - CLB: sp_wsm_waf_ultimate_clb
business expansion package - CLB: sp_wsm_waf_qpsep_clb
Domain name expansion package - CLB: sp_wsm_waf_domain_clb
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SubProductCode = null;
/**
* PID applied for a business product (corresponding to a pricing formula). The pricing model can be found through PID billing.
Advanced Edition: 1000827
Enterprise Edition: 1000830
Ultimate Edition: 1000832
Domain name package: 1000834
Business expansion package: 1000481
Advanced Edition - CLB: 1001150
Enterprise Edition - CLB: 1001152
Ultimate Edition - CLB: 1001154
Domain name package - CLB: 1001156
Business expansion package - CLB: 1001160
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pid = null;
/**
* WAF Instance Name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.InstanceName = null;
/**
* 1: Auto-renewal, 0: No Auto-renewal
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AutoRenewFlag = null;
/**
* Actual Geographic Information of WAF Purchase
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RealRegion = null;
/**
* Billing Detail Tag Array
SaaS Advanced Edition: sv_wsm_waf_package_premium
SaaS Enterprise Edition: sv_wsm_waf_package_enterprise
SaaS Ultimate Edition: sv_wsm_waf_package_ultimate
SaaS non-Chinese Mainland Advanced Edition: sv_wsm_waf_package_premium_intl
SaaS non-Chinese Mainland Enterprise Edition: sv_wsm_waf_package_enterprise_intl
SaaS non-Chinese Mainland Ultimate Edition: sv_wsm_waf_package_ultimate_intl
SaaS business expansion package: sv_wsm_waf_qps_ep
SaaS domain name expansion package: sv_wsm_waf_domain
Advanced Edition CLB: sv_wsm_waf_package_premium_clb
Enterprise Edition CLB: sv_wsm_waf_package_enterprise_clb
Ultimate Edition CLB: sv_wsm_waf_package_ultimate_clb
Non-Chinese Mainland Advanced Edition CLB: sv_wsm_waf_package_premium_clb_intl
Non-Chinese Mainland Enterprise Edition CLB: sv_wsm_waf_package_premium_clb_intl
Non-Chinese Mainland Ultimate Edition CLB: sv_wsm_waf_package_ultimate_clb_intl
Business expansion package CLB: sv_wsm_waf_qps_ep_clb
Domain name expansion package CLB: sv_wsm_waf_domain_clb
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.LabelTypes = null;
/**
* Number of Billing Detail Tags, Generally Corresponds One-to-One with SvLabelType
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.LabelCounts = null;
/**
* Dynamic Configuration Usage, Instance Expiration Time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CurDeadline = null;
/**
* Purchasing Bot or API Security for Existing Instances
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TimeSpan = 'TimeSpan' in params ? params.TimeSpan : null;
this.TimeUnit = 'TimeUnit' in params ? params.TimeUnit : null;
this.SubProductCode = 'SubProductCode' in params ? params.SubProductCode : null;
this.Pid = 'Pid' in params ? params.Pid : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.AutoRenewFlag = 'AutoRenewFlag' in params ? params.AutoRenewFlag : null;
this.RealRegion = 'RealRegion' in params ? params.RealRegion : null;
this.LabelTypes = 'LabelTypes' in params ? params.LabelTypes : null;
this.LabelCounts = 'LabelCounts' in params ? params.LabelCounts : null;
this.CurDeadline = 'CurDeadline' in params ? params.CurDeadline : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.ResourceId = 'ResourceId' in params ? params.ResourceId : null;
}
}
/**
* Complex Conditions on Access List Query
* @class
*/
class SearchItem extends AbstractModel {
constructor(){
super();
/**
* Log switch
* @type {string || null}
*/
this.ClsStatus = null;
/**
* WAF Switch
* @type {string || null}
*/
this.Status = null;
/**
* Traffic mode
* @type {string || null}
*/
this.FlowMode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ClsStatus = 'ClsStatus' in params ? params.ClsStatus : null;
this.Status = 'Status' in params ? params.Status : null;
this.FlowMode = 'FlowMode' in params ? params.FlowMode : null;
}
}
/**
* ModifyCustomWhiteRuleStatus response structure.
* @class
*/
class ModifyCustomWhiteRuleStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyHostStatus response structure.
* @class
*/
class ModifyHostStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Successful status code, needs JSON decoding before use, the returned format is {Domain:Status}, successful status code is Success, others are failed status codes (YunAPI Defined Error Codes)
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Returned description of the multi-domain blocklist/allowlist
* @class
*/
class BatchIpAccessControlData extends AbstractModel {
constructor(){
super();
/**
* Total number
* @type {number || null}
*/
this.TotalCount = null;
/**
* Entries of blocklist/allowlist
* @type {Array.<BatchIpAccessControlItem> || null}
*/
this.Res = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
if (params.Res) {
this.Res = new Array();
for (let z in params.Res) {
let obj = new BatchIpAccessControlItem();
obj.deserialize(params.Res[z]);
this.Res.push(obj);
}
}
}
}
/**
* ModifyCustomRuleStatus request structure.
* @class
*/
class ModifyCustomRuleStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* Status of the switch: 1 is On, 0 is Off
* @type {number || null}
*/
this.Status = null;
/**
* Version of WAF. clb-waf indicates CLB WAF; sparta-waf indicates SaaS WAF. sparta-waf by default.
* @type {string || null}
*/
this.Edition = null;
/**
* Rule ID
* @type {Array.<DomainRuleId> || null}
*/
this.DomainRuleIdList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Status = 'Status' in params ? params.Status : null;
this.Edition = 'Edition' in params ? params.Edition : null;
if (params.DomainRuleIdList) {
this.DomainRuleIdList = new Array();
for (let z in params.DomainRuleIdList) {
let obj = new DomainRuleId();
obj.deserialize(params.DomainRuleIdList[z]);
this.DomainRuleIdList.push(obj);
}
}
}
}
/**
* DescribePeakPoints response structure.
* @class
*/
class DescribePeakPointsResponse extends AbstractModel {
constructor(){
super();
/**
* Data points
* @type {Array.<PeakPointsItem> || null}
*/
this.Points = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Points) {
this.Points = new Array();
for (let z in params.Points) {
let obj = new PeakPointsItem();
obj.deserialize(params.Points[z]);
this.Points.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Input/Output parameter goods of billing & ordering API
* @class
*/
class GoodNews extends AbstractModel {
constructor(){
super();
/**
* Number of products
* @type {number || null}
*/
this.GoodsNum = null;
/**
* Product Detail
* @type {GoodsDetailNew || null}
*/
this.GoodsDetail = null;
/**
* Order type ID, which is used to uniquely identify a business scene. (There are three scenes in total: new purchase, configuration change, and renewal.)
Advanced Edition: 102375 (new purchase), 102376 (renewal), and 102377 (configuration change)
Enterprise Edition: 102378 (new purchase), 102379 (renewal), and 102380 (configuration change)
Ultimate Edition: 102369 (new purchase), 102370 (renewal), and 102371 (configuration change)
Domain name package: 102372 (new purchase), 102373 (renewal), and 102374 (configuration change)
Business expansion package: 101040 (new purchase), 101041 (renewal), and 101042 (configuration change)
Advanced Edition - CLB: 101198 (new purchase), 101199 (renewal), and 101200 (configuration change)
Enterprise Edition - CLB: 101204 (new purchase), 101205 (renewal), and 101206 (configuration change)
Ultimate Edition - CLB: 101201 (new purchase), 101202 (renewal), and 101203 (configuration change)
Domain name package - CLB: 101207 (new purchase), 101208 (renewal), and 101209 (configuration change)
Business expansion package - CLB: 101210 (new purchase), 101211 (renewal), and 101212 (configuration adjustment)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.GoodsCategoryId = null;
/**
* Region ID for purchasing WAF instance
1 indicates purchasing resources in Chinese mainland.
9 indicates purchasing resources outside Chinese mainland.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RegionId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GoodsNum = 'GoodsNum' in params ? params.GoodsNum : null;
if (params.GoodsDetail) {
let obj = new GoodsDetailNew();
obj.deserialize(params.GoodsDetail)
this.GoodsDetail = obj;
}
this.GoodsCategoryId = 'GoodsCategoryId' in params ? params.GoodsCategoryId : null;
this.RegionId = 'RegionId' in params ? params.RegionId : null;
}
}
/**
* ModifySpartaProtectionMode request structure.
* @class
*/
class ModifySpartaProtectionModeRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Protection status:
10: rule-based observation and AI disabling; 11: rule- and AI-based observation; 12: rule-based observation and AI-based interception
20: rule-based interception and AI disabling; 21: rule-based interception and AI-based observation; 22: rule- and AI-based interception
* @type {number || null}
*/
this.Mode = null;
/**
* Version of WAF. clb-waf indicates CLB WAF; sparta-waf indicates SaaS WAF. sparta-waf by default.
* @type {string || null}
*/
this.Edition = null;
/**
* 0 is for modifying the Rule Engine Status; 1 is for modifying the AI Status
* @type {number || null}
*/
this.Type = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.Type = 'Type' in params ? params.Type : null;
}
}
/**
* DescribeHost request structure.
* @class
*/
class DescribeHostRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* ModifyCustomRule request structure.
* @class
*/
class ModifyCustomRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Edited domain
* @type {string || null}
*/
this.Domain = null;
/**
* Edited rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* Edited rule name
* @type {string || null}
*/
this.RuleName = null;
/**
* Executed actions: 0-allow, 1-block, 2-CAPTCHA, 3-observe, 4-redirect
* @type {string || null}
*/
this.RuleAction = null;
/**
* Matching condition array
* @type {Array.<Strategy> || null}
*/
this.Strategies = null;
/**
* Version of WAF. clb-waf indicates CLB WAF; sparta-waf indicates SaaS WAF. sparta-waf by default.
* @type {string || null}
*/
this.Edition = null;
/**
* Redirected URL when action is set to redirect, / by default
* @type {string || null}
*/
this.Redirect = null;
/**
* Whether to continue executing other check logic upon allowing. geoip: continue region blocking protection; cc: continue CC policy protection; owasp: continue web application protection; ai: continue AI engine protection; antileakage: continue information leakage prevention. If multiple values are entered, separate them with commas (,).
The default value is "geoip,cc,owasp,ai,antileakage".
* @type {string || null}
*/
this.Bypass = null;
/**
* Priority, an integer from 1 to 100. The smaller the number, the higher the execution priority of this rule.
The default value is 100.
* @type {number || null}
*/
this.SortId = null;
/**
* Rule expiration deadline: 0 - permanently effective; other values correspond to the timestamp of the specified time.
The default value is 0.
* @type {number || null}
*/
this.ExpireTime = null;
/**
* Scheduled task type
* @type {string || null}
*/
this.JobType = null;
/**
* Scheduled task configuration
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
/**
* Rule source. This parameter checks whether the rule source is mini program.
* @type {string || null}
*/
this.Source = null;
/**
* Enabling status. Pass the value for rules of mini program risk control.
* @type {number || null}
*/
this.Status = null;
/**
* ID of the blocked page
* @type {string || null}
*/
this.PageId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RuleName = 'RuleName' in params ? params.RuleName : null;
this.RuleAction = 'RuleAction' in params ? params.RuleAction : null;
if (params.Strategies) {
this.Strategies = new Array();
for (let z in params.Strategies) {
let obj = new Strategy();
obj.deserialize(params.Strategies[z]);
this.Strategies.push(obj);
}
}
this.Edition = 'Edition' in params ? params.Edition : null;
this.Redirect = 'Redirect' in params ? params.Redirect : null;
this.Bypass = 'Bypass' in params ? params.Bypass : null;
this.SortId = 'SortId' in params ? params.SortId : null;
this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
this.JobType = 'JobType' in params ? params.JobType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
this.Source = 'Source' in params ? params.Source : null;
this.Status = 'Status' in params ? params.Status : null;
this.PageId = 'PageId' in params ? params.PageId : null;
}
}
/**
* DescribeAttackOverview request structure.
* @class
*/
class DescribeAttackOverviewRequest extends AbstractModel {
constructor(){
super();
/**
* Query start time
* @type {string || null}
*/
this.FromTime = null;
/**
* Query end time
* @type {string || null}
*/
this.ToTime = null;
/**
* Customer app ID
* @type {number || null}
*/
this.Appid = null;
/**
* Queried domain
* @type {string || null}
*/
this.Domain = null;
/**
* Only two values are valid: sparta-waf, clb-waf. No filtering if not input.
* @type {string || null}
*/
this.Edition = null;
/**
* WAF instance ID. No filter will be carried out if it is not input.
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FromTime = 'FromTime' in params ? params.FromTime : null;
this.ToTime = 'ToTime' in params ? params.ToTime : null;
this.Appid = 'Appid' in params ? params.Appid : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* DescribeUserLevel request structure.
* @class
*/
class DescribeUserLevelRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
}
}
/**
* Bot's QPS details
* @class
*/
class BotQPS extends AbstractModel {
constructor(){
super();
/**
* Resource ID
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Expiration time
* @type {string || null}
*/
this.ValidTime = null;
/**
* Resource quantity.
* @type {number || null}
*/
this.Count = null;
/**
* Resource Location
* @type {string || null}
*/
this.Region = null;
/**
* Maximum QPS Usage
* @type {number || null}
*/
this.MaxBotQPS = null;
/**
* Renewal flag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.ValidTime = 'ValidTime' in params ? params.ValidTime : null;
this.Count = 'Count' in params ? params.Count : null;
this.Region = 'Region' in params ? params.Region : null;
this.MaxBotQPS = 'MaxBotQPS' in params ? params.MaxBotQPS : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
}
}
/**
* DescribeDomainDetailsClb response structure.
* @class
*/
class DescribeDomainDetailsClbResponse extends AbstractModel {
constructor(){
super();
/**
* CLB domain details
* @type {ClbDomainsInfo || null}
*/
this.DomainsClbPartInfo = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.DomainsClbPartInfo) {
let obj = new ClbDomainsInfo();
obj.deserialize(params.DomainsClbPartInfo)
this.DomainsClbPartInfo = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Structure for setting WAF status
* @class
*/
class HostStatus extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* WAF switch. 1: On, 0: Off
* @type {number || null}
*/
this.Status = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.Status = 'Status' in params ? params.Status : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* Product details
* @class
*/
class GoodsDetailNew extends AbstractModel {
constructor(){
super();
/**
* Time interval
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TimeSpan = null;
/**
* Unit, support for purchasing d, m, y, i.e., (day, month, year)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TimeUnit = null;
/**
* Sub-product tag. It is mandatory for new purchase and renewal. For configuration change, it will be placed in oldConfig and newConfig.
SaaS Advanced Edition: sp_wsm_waf_premium
SaaS Enterprise Edition: sp_wsm_waf_enterprise
SaaS Ultimate Edition: sp_wsm_waf_ultimate
SaaS business expansion package: sp_wsm_waf_qpsep
SaaS domain name expansion package: sp_wsm_waf_domain
Advanced Edition - CLB: sp_wsm_waf_premium_clb
Enterprise Edition - CLB: sp_wsm_waf_enterprise_clb
Ultimate Edition - CLB: sp_wsm_waf_ultimate_clb
Business expansion package - CLB: sp_wsm_waf_qpsep_clb
Domain name expansion package - CLB: sp_wsm_waf_domain_clb
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SubProductCode = null;
/**
* PID applied for a business product (corresponding to a pricing formula). The pricing model can be found through PID billing.
Advanced Edition: 1000827
Enterprise Edition: 1000830
Ultimate Edition: 1000832
Domain name package: 1000834
Business expansion package: 1000481
Advanced Edition - CLB: 1001150
Enterprise Edition - CLB: 1001152
Ultimate Edition - CLB: 1001154
Domain name package - CLB: 1001156
Business expansion package - CLB: 1001160
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pid = null;
/**
* WAF Instance Name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.InstanceName = null;
/**
* 1: Auto-renewal, 0: No Auto-renewal
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AutoRenewFlag = null;
/**
* Actual Geographic Information of WAF Purchase
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RealRegion = null;
/**
* Billing Detail Tag Array
SaaS Advanced Edition: sv_wsm_waf_package_premium
SaaS Enterprise Edition: sv_wsm_waf_package_enterprise
SaaS Ultimate Edition: sv_wsm_waf_package_ultimate
SaaS non-Chinese Mainland Advanced Edition: sv_wsm_waf_package_premium_intl
SaaS non-Chinese Mainland Enterprise Edition: sv_wsm_waf_package_enterprise_intl
SaaS non-Chinese Mainland Ultimate Edition: sv_wsm_waf_package_ultimate_intl
SaaS business expansion package: sv_wsm_waf_qps_ep
SaaS domain name expansion package: sv_wsm_waf_domain
Advanced Edition CLB: sv_wsm_waf_package_premium_clb
Enterprise Edition CLB: sv_wsm_waf_package_enterprise_clb
Ultimate Edition CLB: sv_wsm_waf_package_ultimate_clb
Non-Chinese Mainland Advanced Edition CLB: sv_wsm_waf_package_premium_clb_intl
Non-Chinese Mainland Enterprise Edition CLB: sv_wsm_waf_package_premium_clb_intl
Non-Chinese Mainland Ultimate Edition CLB: sv_wsm_waf_package_ultimate_clb_intl
Business expansion package CLB: sv_wsm_waf_qps_ep_clb
Domain name expansion package CLB: sv_wsm_waf_domain_clb
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.LabelTypes = null;
/**
* Number of Billing Detail Tags, Generally Corresponds One-to-One with SvLabelType
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.LabelCounts = null;
/**
* Dynamic Configuration Usage, Instance Expiration Time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CurDeadline = null;
/**
* Purchasing Bot or API Security for Existing Instances
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceId = null;
/**
* CLB WAF or SaaS WAF mode.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.MicroVersion = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TimeSpan = 'TimeSpan' in params ? params.TimeSpan : null;
this.TimeUnit = 'TimeUnit' in params ? params.TimeUnit : null;
this.SubProductCode = 'SubProductCode' in params ? params.SubProductCode : null;
this.Pid = 'Pid' in params ? params.Pid : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.AutoRenewFlag = 'AutoRenewFlag' in params ? params.AutoRenewFlag : null;
this.RealRegion = 'RealRegion' in params ? params.RealRegion : null;
this.LabelTypes = 'LabelTypes' in params ? params.LabelTypes : null;
this.LabelCounts = 'LabelCounts' in params ? params.LabelCounts : null;
this.CurDeadline = 'CurDeadline' in params ? params.CurDeadline : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.ResourceId = 'ResourceId' in params ? params.ResourceId : null;
this.MicroVersion = 'MicroVersion' in params ? params.MicroVersion : null;
}
}
/**
* ModifyAntiFakeUrl response structure.
* @class
*/
class ModifyAntiFakeUrlResponse extends AbstractModel {
constructor(){
super();
/**
* Result
* @type {string || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Result = 'Result' in params ? params.Result : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* GetAttackTotalCount request structure.
* @class
*/
class GetAttackTotalCountRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Domain names queried. Fill in all for all domain names.
* @type {string || null}
*/
this.Domain = null;
/**
* Query criteria, "" by default
* @type {string || null}
*/
this.QueryString = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.QueryString = 'QueryString' in params ? params.QueryString : null;
}
}
/**
* ModifySpartaProtection response structure.
* @class
*/
class ModifySpartaProtectionResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Domain list
* @class
*/
class DomainInfo extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* CNAME Address
* @type {string || null}
*/
this.Cname = null;
/**
* Instance type of the domain name.
sparta-waf: SaaS WAF instance
clb-waf: CLB WAF instance
cdc-clb-waf: CLB WAF instances in the CDC environment
* @type {string || null}
*/
this.Edition = null;
/**
* Region
"Toronto": "ca"
"Guangzhou": "gz"
"Chengdu": "cd"
"Fuzhou": "fzec"
"Shenzhen": "szx"
"India": "in"
"Jinan": "jnec"
"Chongqing": "cq"
"Tianjin": "tsn"
"Northeast Europe": "ru"
"Nanjing": "nj"
"Silicon Valley, USA": "usw"
"Thailand": "th"
"Guangzhou Open": "gzopen"
"Shenzhen Finance": "szjr"
"Frankfurt": "de"
"Japan": "jp"
"Virginia": "use"
"Beijing": "bj"
"Hong Kong (China)": "hk"
"Hangzhou": "hzec"
"Beijing Finance": "bjjr"
"Shanghai Finance": "shjr"
"Taipei (China)": "tpe"
"Seoul": "kr"
"Shanghai": "sh"
"Singapore": "sg"
"Qingyuan": "qy"
* @type {string || null}
*/
this.Region = null;
/**
* Instance name
* @type {string || null}
*/
this.InstanceName = null;
/**
* Access log switch status
0: disabled
1: enabled
* @type {number || null}
*/
this.ClsStatus = null;
/**
* CLB WAF usage mode
0: image mode
1: cleaning mode
* @type {number || null}
*/
this.FlowMode = null;
/**
* WAF switch status
0: disabled
1: enabled
* @type {number || null}
*/
this.Status = null;
/**
* Rule engine protection mode
0: observation mode
1: interception mode
* @type {number || null}
*/
this.Mode = null;
/**
* Joint status of rule engine and AI engine protection modes.
1: initial status: interception for the rule engine and disabled for the AI engine
10: observation for the rule engine and disabled for the AI engine
11: observation for both the rule engine and AI engine
12: observation for the rule engine and interception for the AI engine
20: interception for the rule engine and disabled for the AI engine
21: interception for the rule engine and observation for the AI engine
22: interception for both the rule engine and AI engine
* @type {number || null}
*/
this.Engine = null;
/**
* Sandbox cluster origin-pull outbound IP list
* @type {Array.<string> || null}
*/
this.CCList = null;
/**
* Production cluster origin-pull outbound IP list
* @type {Array.<string> || null}
*/
this.RsList = null;
/**
* Service port configuration
* @type {Array.<PortInfo> || null}
*/
this.Ports = null;
/**
* CLB-related configuration
* @type {Array.<LoadBalancerPackageNew> || null}
*/
this.LoadBalancerSet = null;
/**
* User ID
* @type {number || null}
*/
this.AppId = null;
/**
* LB listener status of the domain name protected by CLB WAF0: Operation successful.
4: The LB is being bound.
6: The LB is being unbound.
7: Failed to unbind the LB.
8: Failed to bind the LB.
10: Internal error.
* @type {number || null}
*/
this.State = null;
/**
* Creation time
* @type {string || null}
*/
this.CreateTime = null;
/**
* IPv6 switch status.
0: disabled
1: enabled
* @type {number || null}
*/
this.Ipv6Status = null;
/**
* Bot switch status.
0: disabled
1: disabled
2: enabled
3: enabled
* @type {number || null}
*/
this.BotStatus = null;
/**
* Instance version information.
101: Small and Micro Agile Edition
102: Small and Micro Ultra-light Edition
2: Advanced Edition
3: Enterprise Edition
4: Ultimate Edition
6: Exclusive Edition
* @type {number || null}
*/
this.Level = null;
/**
* Shipping status of CLS.
0: disabled
1: enabled
* @type {number || null}
*/
this.PostCLSStatus = null;
/**
* Shipping status of CKafka.
0: disabled
1: enabled
* @type {number || null}
*/
this.PostCKafkaStatus = null;
/**
* Cluster information accessed by the CDC instance domain name, which can be ignored for non-CDC instances.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CdcClusters = null;
/**
* API security switch status.
0: disabled
1: enabled
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ApiStatus = null;
/**
* Application-based CLB type. The default value is clb.
clb: layer-7 CLB
apisix: APISIX gateway
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AlbType = null;
/**
* Security group status.
0: not display
1: non-Tencent Cloud origin server
2: Security group binding failed.
3: security groups changed.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.SgState = null;
/**
* Detailed Explanation of Security Group Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SgDetail = null;
/**
* Domain name cloud environment. hybrid: hybrid cloud domain name
public: public cloud domain name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CloudType = null;
/**
* Domain name remarks
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Note = null;
/**
* SaaS WAF origin server IP list
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.SrcList = null;
/**
* SaaS WAF origin server domain name list
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.UpstreamDomainList = null;
/**
* Security group ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SgID = null;
/**
* CLB WAF access status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AccessStatus = null;
/**
* Domain name tag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.Labels = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Cname = 'Cname' in params ? params.Cname : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.Region = 'Region' in params ? params.Region : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.ClsStatus = 'ClsStatus' in params ? params.ClsStatus : null;
this.FlowMode = 'FlowMode' in params ? params.FlowMode : null;
this.Status = 'Status' in params ? params.Status : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Engine = 'Engine' in params ? params.Engine : null;
this.CCList = 'CCList' in params ? params.CCList : null;
this.RsList = 'RsList' in params ? params.RsList : null;
if (params.Ports) {
this.Ports = new Array();
for (let z in params.Ports) {
let obj = new PortInfo();
obj.deserialize(params.Ports[z]);
this.Ports.push(obj);
}
}
if (params.LoadBalancerSet) {
this.LoadBalancerSet = new Array();
for (let z in params.LoadBalancerSet) {
let obj = new LoadBalancerPackageNew();
obj.deserialize(params.LoadBalancerSet[z]);
this.LoadBalancerSet.push(obj);
}
}
this.AppId = 'AppId' in params ? params.AppId : null;
this.State = 'State' in params ? params.State : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.Ipv6Status = 'Ipv6Status' in params ? params.Ipv6Status : null;
this.BotStatus = 'BotStatus' in params ? params.BotStatus : null;
this.Level = 'Level' in params ? params.Level : null;
this.PostCLSStatus = 'PostCLSStatus' in params ? params.PostCLSStatus : null;
this.PostCKafkaStatus = 'PostCKafkaStatus' in params ? params.PostCKafkaStatus : null;
this.CdcClusters = 'CdcClusters' in params ? params.CdcClusters : null;
this.ApiStatus = 'ApiStatus' in params ? params.ApiStatus : null;
this.AlbType = 'AlbType' in params ? params.AlbType : null;
this.SgState = 'SgState' in params ? params.SgState : null;
this.SgDetail = 'SgDetail' in params ? params.SgDetail : null;
this.CloudType = 'CloudType' in params ? params.CloudType : null;
this.Note = 'Note' in params ? params.Note : null;
this.SrcList = 'SrcList' in params ? params.SrcList : null;
this.UpstreamDomainList = 'UpstreamDomainList' in params ? params.UpstreamDomainList : null;
this.SgID = 'SgID' in params ? params.SgID : null;
this.AccessStatus = 'AccessStatus' in params ? params.AccessStatus : null;
this.Labels = 'Labels' in params ? params.Labels : null;
}
}
/**
* DescribeBatchIpAccessControl request structure.
* @class
*/
class DescribeBatchIpAccessControlRequest extends AbstractModel {
constructor(){
super();
/**
* Filter criteria: supports ActionType 40/42, IP: IP address, Domain: Three types of domains
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
/**
* Offset
* @type {number || null}
*/
this.OffSet = null;
/**
* Limit
* @type {number || null}
*/
this.Limit = null;
/**
* Sort parameters
* @type {string || null}
*/
this.Sort = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.OffSet = 'OffSet' in params ? params.OffSet : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Sort = 'Sort' in params ? params.Sort : null;
}
}
/**
* DescribePolicyStatus response structure.
* @class
*/
class DescribePolicyStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Protection status
* @type {number || null}
*/
this.Status = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Status = 'Status' in params ? params.Status : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeInstances request structure.
* @class
*/
class DescribeInstancesRequest extends AbstractModel {
constructor(){
super();
/**
* Offset.
* @type {number || null}
*/
this.Offset = null;
/**
* Capacity
* @type {number || null}
*/
this.Limit = null;
/**
* Filter array
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
/**
* Deletion delay flag.
* @type {number || null}
*/
this.FreeDelayFlag = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.FreeDelayFlag = 'FreeDelayFlag' in params ? params.FreeDelayFlag : null;
}
}
/**
* ModifyCustomWhiteRule request structure.
* @class
*/
class ModifyCustomWhiteRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Edited domain
* @type {string || null}
*/
this.Domain = null;
/**
* Edited rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* Edited rule name
* @type {string || null}
*/
this.RuleName = null;
/**
* Whether to continue executing other check logics when bypassing, continue executing regional ban protection - geoip; continue executing CC policy protection - cc; continue executing WEB application protection: owasp; continue executing AI engine protection - ai; continue executing information leakage protection - antileakage. If multiple items are selected, concatenate with commas (,).
* @type {string || null}
*/
this.Bypass = null;
/**
* Priority, an integer from 1 to 100. The smaller the number, the higher the execution priority of this rule.
* @type {number || null}
*/
this.SortId = null;
/**
* Rule expiration deadline: 0 - permanently effective; other values correspond to the timestamp of the specified time.
* @type {number || null}
*/
this.ExpireTime = null;
/**
* Matching condition array
* @type {Array.<Strategy> || null}
*/
this.Strategies = null;
/**
* Scheduled task type
* @type {string || null}
*/
this.JobType = null;
/**
* Scheduled task configuration
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RuleName = 'RuleName' in params ? params.RuleName : null;
this.Bypass = 'Bypass' in params ? params.Bypass : null;
this.SortId = 'SortId' in params ? params.SortId : null;
this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
if (params.Strategies) {
this.Strategies = new Array();
for (let z in params.Strategies) {
let obj = new Strategy();
obj.deserialize(params.Strategies[z]);
this.Strategies.push(obj);
}
}
this.JobType = 'JobType' in params ? params.JobType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
}
}
/**
* GetAttackTotalCount response structure.
* @class
*/
class GetAttackTotalCountResponse extends AbstractModel {
constructor(){
super();
/**
* Total attack count
* @type {number || null}
*/
this.TotalCount = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeObjects response structure.
* @class
*/
class DescribeObjectsResponse extends AbstractModel {
constructor(){
super();
/**
* Object list
* @type {Array.<ClbObject> || null}
*/
this.ClbObjects = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.ClbObjects) {
this.ClbObjects = new Array();
for (let z in params.ClbObjects) {
let obj = new ClbObject();
obj.deserialize(params.ClbObjects[z]);
this.ClbObjects.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Batch multi-domain blocklist/allowlist IP list
* @class
*/
class BatchIpAccessControlItem extends AbstractModel {
constructor(){
super();
/**
* MongoDB Table Auto-increment ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Id = null;
/**
* Blocklist 42 or allowlist 40
* @type {number || null}
*/
this.ActionType = null;
/**
* IP of the blocklist/allowlist
* @type {string || null}
*/
this.Ip = null;
/**
* Remarks
* @type {string || null}
*/
this.Note = null;
/**
* Path addition
* @type {string || null}
*/
this.Source = null;
/**
* Modification time
* @type {number || null}
*/
this.TsVersion = null;
/**
* Timeout period
* @type {number || null}
*/
this.ValidTs = null;
/**
* Domain name list
* @type {Array.<string> || null}
*/
this.Hosts = null;
/**
* 55101145
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* IP list
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.IpList = null;
/**
* Creation time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CreateTime = null;
/**
* Scheduled task type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.JobType = null;
/**
* Periodic task type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CronType = null;
/**
* Scheduled task configuration details
Note: This field may return null, indicating that no valid values can be obtained.
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
/**
* Effective status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ValidStatus = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.Ip = 'Ip' in params ? params.Ip : null;
this.Note = 'Note' in params ? params.Note : null;
this.Source = 'Source' in params ? params.Source : null;
this.TsVersion = 'TsVersion' in params ? params.TsVersion : null;
this.ValidTs = 'ValidTs' in params ? params.ValidTs : null;
this.Hosts = 'Hosts' in params ? params.Hosts : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.IpList = 'IpList' in params ? params.IpList : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.JobType = 'JobType' in params ? params.JobType : null;
this.CronType = 'CronType' in params ? params.CronType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
this.ValidStatus = 'ValidStatus' in params ? params.ValidStatus : null;
}
}
/**
* Detailed information of an instance
* @class
*/
class InstanceInfo extends AbstractModel {
constructor(){
super();
/**
* Unique Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Instance name
* @type {string || null}
*/
this.InstanceName = null;
/**
* Resource ID corresponding to the Instance, for billing usage
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Instance region
* @type {string || null}
*/
this.Region = null;
/**
* Payment mode
* @type {number || null}
*/
this.PayMode = null;
/**
* Auto-renewal flag.
0: disable
1: enable
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Elastic billing switch.
0: disable
1: enable
* @type {number || null}
*/
this.Mode = null;
/**
* Instance package version.
101: Small and Micro Edition.
102: Ultra-light Edition.
2: Advanced Edition.
3: Enterprise Edition.
4: Ultimate Edition.
6: Exclusive Edition
* @type {number || null}
*/
this.Level = null;
/**
* Instance expiration time
* @type {string || null}
*/
this.ValidTime = null;
/**
* Instance Start Time
* @type {string || null}
*/
this.BeginTime = null;
/**
* Configured Domain Count
* @type {number || null}
*/
this.DomainCount = null;
/**
* Maximum Domain Count
* @type {number || null}
*/
this.SubDomainLimit = null;
/**
* Configured Primary Domain Count
* @type {number || null}
*/
this.MainDomainCount = null;
/**
* Maximum Number of Primary Domain Names
* @type {number || null}
*/
this.MainDomainLimit = null;
/**
* Instance QPS Peak within 30 Days
* @type {number || null}
*/
this.MaxQPS = null;
/**
* QPS Expansion Package Information
* @type {QPSPackageNew || null}
*/
this.QPS = null;
/**
* Domain Extension Package Information
* @type {DomainPackageNew || null}
*/
this.DomainPkg = null;
/**
* User appid.
* @type {number || null}
*/
this.AppId = null;
/**
* CLB or SaaS
* @type {string || null}
*/
this.Edition = null;
/**
* Business Security Package
Note: This field may return null, indicating that no valid values can be obtained.
* @type {FraudPkg || null}
*/
this.FraudPkg = null;
/**
* Bot Resource Package
Note: This field may return null, indicating that no valid values can be obtained.
* @type {BotPkg || null}
*/
this.BotPkg = null;
/**
* Bot's QPS details
Note: This field may return null, indicating that no valid values can be obtained.
* @type {BotQPS || null}
*/
this.BotQPS = null;
/**
* QPS Elastic Billing Cap
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ElasticBilling = null;
/**
* Attack Log Shipping Switch
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackLogPost = null;
/**
* Peak Bandwidth, in B/s (Bytes per Second)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.MaxBandwidth = null;
/**
* Whether API security is purchased
* @type {number || null}
*/
this.APISecurity = null;
/**
* Purchased QPS Specification
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.QpsStandard = null;
/**
* Purchased Bandwidth Specification
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.BandwidthStandard = null;
/**
* Instance status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Instance Sandbox QPS Value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.SandboxQps = null;
/**
* Whether API Security is on Trial
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.IsAPISecurityTrial = null;
/**
* Premium Package
Note: This field may return null, indicating that no valid values can be obtained.
* @type {MajorEventsPkg || null}
*/
this.MajorEventsPkg = null;
/**
* Hybrid Cloud Sub-node Package
Note: This field may return null, indicating that no valid values can be obtained.
* @type {HybridPkg || null}
*/
this.HybridPkg = null;
/**
* API security resource package
Note: This field may return null, indicating that no valid values can be obtained.
* @type {ApiPkg || null}
*/
this.ApiPkg = null;
/**
* MMPS Acceleration Package
Note: This field may return null, indicating that no valid values can be obtained.
* @type {MiniPkg || null}
*/
this.MiniPkg = null;
/**
* Mini Program QPS Specification
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.MiniQpsStandard = null;
/**
* Mini Program QPS Peak
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.MiniMaxQPS = null;
/**
* Last overage time.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LastQpsExceedTime = null;
/**
* ID quantity expansion package for secure mini program access.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {MiniExtendPkg || null}
*/
this.MiniExtendPkg = null;
/**
* Billing item.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillingItem = null;
/**
* Flag for delay of instance deletion.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.FreeDelayFlag = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.Region = 'Region' in params ? params.Region : null;
this.PayMode = 'PayMode' in params ? params.PayMode : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Level = 'Level' in params ? params.Level : null;
this.ValidTime = 'ValidTime' in params ? params.ValidTime : null;
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.DomainCount = 'DomainCount' in params ? params.DomainCount : null;
this.SubDomainLimit = 'SubDomainLimit' in params ? params.SubDomainLimit : null;
this.MainDomainCount = 'MainDomainCount' in params ? params.MainDomainCount : null;
this.MainDomainLimit = 'MainDomainLimit' in params ? params.MainDomainLimit : null;
this.MaxQPS = 'MaxQPS' in params ? params.MaxQPS : null;
if (params.QPS) {
let obj = new QPSPackageNew();
obj.deserialize(params.QPS)
this.QPS = obj;
}
if (params.DomainPkg) {
let obj = new DomainPackageNew();
obj.deserialize(params.DomainPkg)
this.DomainPkg = obj;
}
this.AppId = 'AppId' in params ? params.AppId : null;
this.Edition = 'Edition' in params ? params.Edition : null;
if (params.FraudPkg) {
let obj = new FraudPkg();
obj.deserialize(params.FraudPkg)
this.FraudPkg = obj;
}
if (params.BotPkg) {
let obj = new BotPkg();
obj.deserialize(params.BotPkg)
this.BotPkg = obj;
}
if (params.BotQPS) {
let obj = new BotQPS();
obj.deserialize(params.BotQPS)
this.BotQPS = obj;
}
this.ElasticBilling = 'ElasticBilling' in params ? params.ElasticBilling : null;
this.AttackLogPost = 'AttackLogPost' in params ? params.AttackLogPost : null;
this.MaxBandwidth = 'MaxBandwidth' in params ? params.MaxBandwidth : null;
this.APISecurity = 'APISecurity' in params ? params.APISecurity : null;
this.QpsStandard = 'QpsStandard' in params ? params.QpsStandard : null;
this.BandwidthStandard = 'BandwidthStandard' in params ? params.BandwidthStandard : null;
this.Status = 'Status' in params ? params.Status : null;
this.SandboxQps = 'SandboxQps' in params ? params.SandboxQps : null;
this.IsAPISecurityTrial = 'IsAPISecurityTrial' in params ? params.IsAPISecurityTrial : null;
if (params.MajorEventsPkg) {
let obj = new MajorEventsPkg();
obj.deserialize(params.MajorEventsPkg)
this.MajorEventsPkg = obj;
}
if (params.HybridPkg) {
let obj = new HybridPkg();
obj.deserialize(params.HybridPkg)
this.HybridPkg = obj;
}
if (params.ApiPkg) {
let obj = new ApiPkg();
obj.deserialize(params.ApiPkg)
this.ApiPkg = obj;
}
if (params.MiniPkg) {
let obj = new MiniPkg();
obj.deserialize(params.MiniPkg)
this.MiniPkg = obj;
}
this.MiniQpsStandard = 'MiniQpsStandard' in params ? params.MiniQpsStandard : null;
this.MiniMaxQPS = 'MiniMaxQPS' in params ? params.MiniMaxQPS : null;
this.LastQpsExceedTime = 'LastQpsExceedTime' in params ? params.LastQpsExceedTime : null;
if (params.MiniExtendPkg) {
let obj = new MiniExtendPkg();
obj.deserialize(params.MiniExtendPkg)
this.MiniExtendPkg = obj;
}
this.BillingItem = 'BillingItem' in params ? params.BillingItem : null;
this.FreeDelayFlag = 'FreeDelayFlag' in params ? params.FreeDelayFlag : null;
}
}
/**
* IP blocklist/allowlist parameters structure, which is mainly used for IP blocklist/allowlist import.
* @class
*/
class IpAccessControlParam extends AbstractModel {
constructor(){
super();
/**
* IP list.
* @type {Array.<string> || null}
*/
this.IpList = null;
/**
* valid_ts indicates a valid date. Its value is a second-level timestamp, such as 1680570420, which indicates 2023-04-04 09:07:00.
* @type {number || null}
*/
this.ValidTs = null;
/**
* 42: blocklist; 40: allowlist.
* @type {number || null}
*/
this.ActionType = null;
/**
* Remarks
* @type {string || null}
*/
this.Note = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.IpList = 'IpList' in params ? params.IpList : null;
this.ValidTs = 'ValidTs' in params ? params.ValidTs : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.Note = 'Note' in params ? params.Note : null;
}
}
/**
* ModifyInstanceRenewFlag request structure.
* @class
*/
class ModifyInstanceRenewFlagRequest extends AbstractModel {
constructor(){
super();
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Renewal switch
* @type {number || null}
*/
this.RenewFlag = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
}
}
/**
* DescribeBatchIpAccessControl response structure.
* @class
*/
class DescribeBatchIpAccessControlResponse extends AbstractModel {
constructor(){
super();
/**
* Output
Note: This field may return null, indicating that no valid values can be obtained.
* @type {BatchIpAccessControlData || null}
*/
this.Data = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
let obj = new BatchIpAccessControlData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDomainDetailsSaas response structure.
* @class
*/
class DescribeDomainDetailsSaasResponse extends AbstractModel {
constructor(){
super();
/**
* Domain name details
* @type {DomainsPartInfo || null}
*/
this.DomainsPartInfo = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.DomainsPartInfo) {
let obj = new DomainsPartInfo();
obj.deserialize(params.DomainsPartInfo)
this.DomainsPartInfo = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDomainVerifyResult response structure.
* @class
*/
class DescribeDomainVerifyResultResponse extends AbstractModel {
constructor(){
super();
/**
* Result description: if possible, return an empty string
* @type {string || null}
*/
this.Msg = null;
/**
* Inspection status. 0 indicates that it can be added; greater than 0 indicates that it cannot be added.
* @type {number || null}
*/
this.VerifyCode = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Msg = 'Msg' in params ? params.Msg : null;
this.VerifyCode = 'VerifyCode' in params ? params.VerifyCode : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyApiAnalyzeStatus request structure.
* @class
*/
class ModifyApiAnalyzeStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Enabling status
* @type {number || null}
*/
this.Status = null;
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* List of entities to be bulk enabled
* @type {Array.<TargetEntity> || null}
*/
this.TargetList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Status = 'Status' in params ? params.Status : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
if (params.TargetList) {
this.TargetList = new Array();
for (let z in params.TargetList) {
let obj = new TargetEntity();
obj.deserialize(params.TargetList[z]);
this.TargetList.push(obj);
}
}
}
}
/**
* AddCustomRule request structure.
* @class
*/
class AddCustomRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Rule name
* @type {string || null}
*/
this.Name = null;
/**
* Priority
* @type {string || null}
*/
this.SortId = null;
/**
* Policy details
* @type {Array.<Strategy> || null}
*/
this.Strategies = null;
/**
* Domain name for adding policy
* @type {string || null}
*/
this.Domain = null;
/**
* Action type: 1 for Block, 2 captcha, 3 for Observe, 4 for Redirect
* @type {string || null}
*/
this.ActionType = null;
/**
* If the action is redirect, it indicates the redirect address; otherwise, it can be left blank.
* @type {string || null}
*/
this.Redirect = null;
/**
* Expiration time: in second-level timestamp, for example, 1677254399 indicates the expiration time is 2023-02-24 23:59:59; 0 indicates it will never expire.
* @type {string || null}
*/
this.ExpireTime = null;
/**
* WAF instance type: sparta-waf for SaaS WAF, clb-waf for CLB WAF.
* @type {string || null}
*/
this.Edition = null;
/**
* Details of release
* @type {string || null}
*/
this.Bypass = null;
/**
* Source of the rule addition, default is empty
* @type {string || null}
*/
this.EventId = null;
/**
* Rule execution mode: TimedJob indicates scheduled execution. CronJob indicates periodic execution.
* @type {string || null}
*/
this.JobType = null;
/**
* Rule execution time
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
/**
* Rule source. You can determine whether a rule comes from a mini program.
* @type {string || null}
*/
this.Source = null;
/**
* Rule tag. It is used for mini program rules and identifies whether a rule is a built-in rule or a custom rule.
* @type {string || null}
*/
this.Label = null;
/**
* Switch status. This value is passed when mini program risk control rules are used.
* @type {number || null}
*/
this.Status = null;
/**
* Interception page ID
* @type {string || null}
*/
this.PageId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.SortId = 'SortId' in params ? params.SortId : null;
if (params.Strategies) {
this.Strategies = new Array();
for (let z in params.Strategies) {
let obj = new Strategy();
obj.deserialize(params.Strategies[z]);
this.Strategies.push(obj);
}
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.Redirect = 'Redirect' in params ? params.Redirect : null;
this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.Bypass = 'Bypass' in params ? params.Bypass : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.JobType = 'JobType' in params ? params.JobType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
this.Source = 'Source' in params ? params.Source : null;
this.Label = 'Label' in params ? params.Label : null;
this.Status = 'Status' in params ? params.Status : null;
this.PageId = 'PageId' in params ? params.PageId : null;
}
}
/**
* ModifyAntiInfoLeakRuleStatus response structure.
* @class
*/
class ModifyAntiInfoLeakRuleStatusResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Business security resource information
* @class
*/
class FraudPkg extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Region = null;
/**
* Start time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BeginTime = null;
/**
* End time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EndTime = null;
/**
* Application Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.InquireNum = null;
/**
* Usage Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UsedNum = null;
/**
* Renewal flag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.Status = 'Status' in params ? params.Status : null;
this.Region = 'Region' in params ? params.Region : null;
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.InquireNum = 'InquireNum' in params ? params.InquireNum : null;
this.UsedNum = 'UsedNum' in params ? params.UsedNum : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
}
}
/**
* DeleteCCRule request structure.
* @class
*/
class DeleteCCRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Rule name
* @type {string || null}
*/
this.Name = null;
/**
* clb-waf or sparta-waf
* @type {string || null}
*/
this.Edition = null;
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Name = 'Name' in params ? params.Name : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
}
}
/**
* DescribeAttackType response structure.
* @class
*/
class DescribeAttackTypeResponse extends AbstractModel {
constructor(){
super();
/**
* Quantity
* @type {Array.<PiechartItem> || null}
*/
this.Piechart = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Piechart) {
this.Piechart = new Array();
for (let z in params.Piechart) {
let obj = new PiechartItem();
obj.deserialize(params.Piechart[z]);
this.Piechart.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* GenerateDealsAndPayNew response structure.
* @class
*/
class GenerateDealsAndPayNewResponse extends AbstractModel {
constructor(){
super();
/**
* Billing order response structure
Note: This field may return null, indicating that no valid values can be obtained.
* @type {DealData || null}
*/
this.Data = null;
/**
* 1: Success, 0: Failure
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ReturnMessage = null;
/**
* Purchased instance ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.InstanceId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
let obj = new DealData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.ReturnMessage = 'ReturnMessage' in params ? params.ReturnMessage : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteCustomRule request structure.
* @class
*/
class DeleteCustomRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Deleted domain
* @type {string || null}
*/
this.Domain = null;
/**
* Deleted rule ID
* @type {string || null}
*/
this.RuleId = null;
/**
* Version of WAF. clb-waf indicates CLB WAF; sparta-waf indicates SaaS WAF. sparta-waf by default.
* @type {string || null}
*/
this.Edition = null;
/**
* List of rules to be deleted in batches
* @type {Array.<DomainRuleId> || null}
*/
this.DomainRuleIdList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Edition = 'Edition' in params ? params.Edition : null;
if (params.DomainRuleIdList) {
this.DomainRuleIdList = new Array();
for (let z in params.DomainRuleIdList) {
let obj = new DomainRuleId();
obj.deserialize(params.DomainRuleIdList[z]);
this.DomainRuleIdList.push(obj);
}
}
}
}
/**
* DescribeInstances response structure.
* @class
*/
class DescribeInstancesResponse extends AbstractModel {
constructor(){
super();
/**
* Total number
* @type {number || null}
*/
this.Total = null;
/**
* Instance list
* @type {Array.<InstanceInfo> || null}
*/
this.Instances = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Total = 'Total' in params ? params.Total : null;
if (params.Instances) {
this.Instances = new Array();
for (let z in params.Instances) {
let obj = new InstanceInfo();
obj.deserialize(params.Instances[z]);
this.Instances.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCCRule response structure.
* @class
*/
class DescribeCCRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Result
Note: This field may return null, indicating that no valid values can be obtained.
* @type {CCRuleData || null}
*/
this.Data = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
let obj = new CCRuleData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Mobile Mini Programs Security access ID extension resource information.
* @class
*/
class MiniExtendPkg extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Region = null;
/**
* Start time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BeginTime = null;
/**
* End time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EndTime = null;
/**
* Purchase quantity.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Count = null;
/**
* Renewal flag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Billing item.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillingItem = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.Status = 'Status' in params ? params.Status : null;
this.Region = 'Region' in params ? params.Region : null;
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Count = 'Count' in params ? params.Count : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
this.BillingItem = 'BillingItem' in params ? params.BillingItem : null;
}
}
/**
* Matching criteria structure for custom rules
* @class
*/
class Strategy extends AbstractModel {
constructor(){
super();
/**
* Matching field
Different matching fields result in different matching parameters, logical operators, and matching contents. The details are as follows:
<table><thead><tr><th>Matching Field</th> <th>Matching Parameter</th> <th>Logical Symbol</th> <th>Matching Content</th></tr></thead> <tbody><tr><td>IP (source IP)</td> <td>Parameters are not supported.</td> <td>ipmatch (match)<br/>ipnmatch (mismatch)</td> <td>Multiple IP addresses are separated by commas. A maximum of 20 IP addresses are allowed.</td></tr> <tr><td>IPv6 (source IPv6)</td> <td>Parameters are not supported.</td> <td>ipmatch (match)<br/>ipnmatch (mismatch)</td> <td>A single IPv6 address is supported.</td></tr> <tr><td>Referer (referer)</td> <td>Parameters are not supported.</td> <td>empty (Content is empty.)<br/>null (do not exist)<br/>eq (equal to)<br/>neq (not equal to)<br/>contains (contain)<br/>ncontains (do not contain)<br/>len_eq (length equals to)<br/>len_gt (length is greater than)<br/>len_lt (length is less than)<br/>strprefix (prefix matching)<br/>strsuffix (suffix matching)<br/>rematch (regular expression matching)</td> <td>Enter the content, with a maximum of 512 characters.</td></tr> <tr><td>URL (request path)</td> <td>Parameters are not supported.</td> <td>eq (equal to)<br/>neq (not equal to)<br/>contains (contain)<br/>ncontains (do not contain)<br/>len_eq (length equals to)<br/>len_gt (length is greater than)<br/>len_lt (length is
less than)<br/>strprefix (prefix matching)<br/>strsuffix (suffix matching)<br/>rematch (regular expression matching)</td> <td>Enter the content starting with /, with a maximum of 512 characters.</td></tr> <tr><td>UserAgent (UserAgent)</td> <td>Parameters are not supported.</td><td>Same logical symbols as the matching field <font color="Red">Referer</font></td> <td>Enter the content with a maximum of 512 characters.</td></tr> <tr><td>HTTP_METHOD (HTTP request method)</td> <td>Parameters are not supported.</td> <td>eq (equal to)<br/>neq (not equal to)</td> <td>Enter the method name. The uppercase is recommended.</td></tr> <tr><td>QUERY_STRING (request string)</td> <td>Parameters are not supported.</td> <td>Same logical symbol as the matching field <font color="Red">Request Path</font></td><td>Enter the content with a maximum of 512 characters.</td></tr> <tr><td>GET (GET parameter value)</td> <td>Parameter entry is supported.</td> <td>contains (contain)<br/>ncontains (do not contain)<br/>len_eq (length equals to)<br/>len_gt (length is greater than)<br/>len_lt (length is less than)<br/>strprefix (prefix matching)<br/>strsuffix (suffix matching)</td> <td>Enter the content with a maximum of 512 characters.</td></tr> <tr><td>GET_PARAMS_NAMES (GET parameter name)</td> <td>Parameters are not supported.</td> <td>exist (Parameter exists.)<br/>nexist (Parameter does not exist.)<br/>len_eq (length equals to)<br/>len_gt (length is greater than)<br/>len_lt (length is less than)<br/>strprefix (prefix matching)<br/>strsuffix (suffix matching)</td><td>Enter the content with a maximum of 512 characters.</td></tr> <tr><td>POST (POST parameter value)</td> <td>Parameter entry is supported.</td> <td>Same logical symbol as the matching field <font color="Red">GET Parameter Value</font></td> <td>Enter the content with a maximum of 512 characters.</td></tr> <tr><td>GET_POST_NAMES (POST parameter name)</td> <td>Parameters are not supported.</td> <td>Same logical symbol as the matching field <font color="Red">GET Parameter Name</font></td> <td>Enter the content with a maximum of 512 characters.</td></tr> <tr><td>POST_BODY (complete body)</td> <td>Parameters are not supported.</td> <td>Same logical symbol as the matching field <font color="Red">Request Path</font></td><td>Enter the body content with a maximum of 512 characters.</td></tr> <tr><td>COOKIE (cookie)</td> <td>Parameters are not supported.</td> <td>empty (Content is empty.)<br/>null (do not exist)<br/>rematch (regular expression matching)</td> <td><font color="Red">Unsupported currently</font></td></tr> <tr><td>GET_COOKIES_NAMES (cookie parameter name)</td> <td>Parameters are not supported.</td> <td>Same logical symbol as the matching field <font color="Red">GET Parameter Name</font></td> <td>Enter the content with a maximum of 512 characters.</td></tr> <tr><td>ARGS_COOKIE (cookie parameter value)</td> <td>Parameter entry is supported.</td> <td>Same logical symbol as the matching field <font color="Red">GET Parameter Value</font></td> <td>Enter the contentwith a maximum of 512 characters.</td></tr> <tr><td>GET_HEADERS_NAMES (header parameter name)</td> <td>Parameters are not supported.</td> <td>exist (Parameter exists.)<br/>nexist (Parameter does not exist.)<br/>len_eq (length equals to)<br/>len_gt (length is greater than)<br/>len_lt (length is less than)<br/>strprefix (prefix matching)<br/>strsuffix (suffix matching)<br/>rematch (regular expression matching)</td> <td>Enter the content with a maximum of 512 characters. The lowercase is recommended.</td> </tr><tr><td>ARGS_HEADER (header parameter value)</td> <td>Parameter entry is supported.</td> <td>contains (contain)<br/>ncontains (do not contain)<br/>len_eq (length equals to)<br/>len_gt (length is greater than)<br/>len_lt (length is less than)<br/>strprefix (prefix matching)<br/>strsuffix (suffix matching)<br/>rematch (regular expression matching)</td> <td>Enter the content with a maximum of 512 characters.</td></tr></tbody></table>
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Field = null;
/**
* Logic symbol
Logical symbols are divided into the following types:
empty (content is empty)
null (do not exist)
eq (equal to)
neq (not equal to)
contains (contain)
ncontains (do not contain)
strprefix (prefix matching)
strsuffix (suffix matching)
len_eq (length equals to)
len_gt (length is greater than)
len_lt (length is less than)
ipmatch (belong to)
ipnmatch (do not belong to)
Different matching fields correspond to different logical operators. For details, see the matching field table above.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CompareFunc = null;
/**
* Matching content
Currently, when the matching field is COOKIE (cookie), the matching content is not required. In other scenes, the matching content is required.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Content = null;
/**
* Matching parameter
There are two types of configuration parameters: unsupported parameters and supported parameters.
The matching parameter can be entered only when the matching field is one of the following four. Otherwise, the parameter is not supported.
GET (GET parameter value)
POST (POST parameter value)
ARGS_COOKIE (Cookie parameter value)
ARGS_HEADER (Header parameter value)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Arg = null;
/**
* 0: case-sensitive.
1: case-insensitive.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CaseNotSensitive = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Field = 'Field' in params ? params.Field : null;
this.CompareFunc = 'CompareFunc' in params ? params.CompareFunc : null;
this.Content = 'Content' in params ? params.Content : null;
this.Arg = 'Arg' in params ? params.Arg : null;
this.CaseNotSensitive = 'CaseNotSensitive' in params ? params.CaseNotSensitive : null;
}
}
/**
* DescribeTopAttackDomain request structure.
* @class
*/
class DescribeTopAttackDomainRequest extends AbstractModel {
constructor(){
super();
/**
* Query start time
* @type {string || null}
*/
this.FromTime = null;
/**
* Query end time
* @type {string || null}
*/
this.ToTime = null;
/**
* Top N, selectable from 0-10. The default is 10.
* @type {number || null}
*/
this.Count = null;
/**
* Only two values are valid: sparta-waf, clb-waf. No filtering if not input.
* @type {string || null}
*/
this.Edition = null;
/**
* WAF instance ID. No filter will be carried out if it is not input.
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FromTime = 'FromTime' in params ? params.FromTime : null;
this.ToTime = 'ToTime' in params ? params.ToTime : null;
this.Count = 'Count' in params ? params.Count : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* DescribeIpAccessControl request structure.
* @class
*/
class DescribeIpAccessControlRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Count identifier
* @type {number || null}
*/
this.Count = null;
/**
* Action. 40 for querying the allowlist, 42 for querying the blocklist
* @type {number || null}
*/
this.ActionType = null;
/**
* Timestamp of the minimum valid time
* @type {number || null}
*/
this.VtsMin = null;
/**
* Timestamp of the maximum valid time
* @type {number || null}
*/
this.VtsMax = null;
/**
* Timestamp for minimum creation time
* @type {number || null}
*/
this.CtsMin = null;
/**
* Timestamp for Maximum Creation Time
* @type {number || null}
*/
this.CtsMax = null;
/**
* Paging offset, a multiple of limit. The minimum value is 0, and the maximum value is Total/Limit rounded up.
* @type {number || null}
*/
this.OffSet = null;
/**
* Number of records returned per page, which is 20 by default.
* @type {number || null}
*/
this.Limit = null;
/**
* Source.
* @type {string || null}
*/
this.Source = null;
/**
* Sort parameters
* @type {string || null}
*/
this.Sort = null;
/**
* IP
* @type {string || null}
*/
this.Ip = null;
/**
* Effective status.
* @type {number || null}
*/
this.ValidStatus = null;
/**
* Timestamp of the minimum valid time
* @type {string || null}
*/
this.ValidTimeStampMin = null;
/**
* Timestamp of the maximum valid time
* @type {string || null}
*/
this.ValidTimeStampMax = null;
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* Filter by scheduled task type. Valid values: 0, 1, 2, 3, 4.
* @type {number || null}
*/
this.TimerType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Count = 'Count' in params ? params.Count : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.VtsMin = 'VtsMin' in params ? params.VtsMin : null;
this.VtsMax = 'VtsMax' in params ? params.VtsMax : null;
this.CtsMin = 'CtsMin' in params ? params.CtsMin : null;
this.CtsMax = 'CtsMax' in params ? params.CtsMax : null;
this.OffSet = 'OffSet' in params ? params.OffSet : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Source = 'Source' in params ? params.Source : null;
this.Sort = 'Sort' in params ? params.Sort : null;
this.Ip = 'Ip' in params ? params.Ip : null;
this.ValidStatus = 'ValidStatus' in params ? params.ValidStatus : null;
this.ValidTimeStampMin = 'ValidTimeStampMin' in params ? params.ValidTimeStampMin : null;
this.ValidTimeStampMax = 'ValidTimeStampMax' in params ? params.ValidTimeStampMax : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.TimerType = 'TimerType' in params ? params.TimerType : null;
}
}
/**
* DescribeFindDomainList request structure.
* @class
*/
class DescribeFindDomainListRequest extends AbstractModel {
constructor(){
super();
/**
* Pagination
* @type {number || null}
*/
this.Offset = null;
/**
* Capacity per page
* @type {number || null}
*/
this.Limit = null;
/**
* Filter criteria.
* @type {string || null}
*/
this.Key = null;
/**
* Whether to access WAF
* @type {string || null}
*/
this.IsWafDomain = null;
/**
* Sort parameters
* @type {string || null}
*/
this.By = null;
/**
* Sorting method
* @type {string || null}
*/
this.Order = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Key = 'Key' in params ? params.Key : null;
this.IsWafDomain = 'IsWafDomain' in params ? params.IsWafDomain : null;
this.By = 'By' in params ? params.By : null;
this.Order = 'Order' in params ? params.Order : null;
}
}
/**
* ModifyAntiFakeUrlStatus response structure.
* @class
*/
class ModifyAntiFakeUrlStatusResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeHosts request structure.
* @class
*/
class DescribeHostsRequest extends AbstractModel {
constructor(){
super();
/**
* Protection domain. If a specific protection domain is to be queried, this parameter should be input. It requires an accurate domain and does not support fuzzy search.
* @type {string || null}
*/
this.Domain = null;
/**
* Protection domain ID. If it is to query a specific protection domain, this parameter is input, requiring the accurate domain ID. This parameter does not support fuzzy search.
* @type {string || null}
*/
this.DomainId = null;
/**
* Searching criteria, fuzzy search on domain based on this parameter
* @type {string || null}
*/
this.Search = null;
/**
* Complex search criteria
* @type {SearchItem || null}
*/
this.Item = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.Search = 'Search' in params ? params.Search : null;
if (params.Item) {
let obj = new SearchItem();
obj.deserialize(params.Item)
this.Item = obj;
}
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* ModifyInstanceElasticMode request structure.
* @class
*/
class ModifyInstanceElasticModeRequest extends AbstractModel {
constructor(){
super();
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Elastic billing switch.
* @type {number || null}
*/
this.Mode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Mode = 'Mode' in params ? params.Mode : null;
}
}
/**
* DescribeHostLimit response structure.
* @class
*/
class DescribeHostLimitResponse extends AbstractModel {
constructor(){
super();
/**
* Successfully returned status code
Note: This field may return null, indicating that no valid values can be obtained.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* UpsertCCRule request structure.
* @class
*/
class UpsertCCRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Name
* @type {string || null}
*/
this.Name = null;
/**
* Status
* @type {number || null}
*/
this.Status = null;
/**
* Advanced mode (whether to use session detection). 0: disabled; 1: enabled
* @type {string || null}
*/
this.Advance = null;
/**
* CC detection threshold
* @type {string || null}
*/
this.Limit = null;
/**
* CC detection cycle
* @type {string || null}
*/
this.Interval = null;
/**
* Detection URL
* @type {string || null}
*/
this.Url = null;
/**
* Matching method. 0: equal to; 1: prefix matching; 2: included
* @type {number || null}
*/
this.MatchFunc = null;
/**
* Action. 20: observation; 21: CAPTCHA; 22: interception; 23: precise interception
* @type {string || null}
*/
this.ActionType = null;
/**
* Priority
* @type {number || null}
*/
this.Priority = null;
/**
* Valid time for action
* @type {number || null}
*/
this.ValidTime = null;
/**
* Additional Parameters
* @type {string || null}
*/
this.OptionsArr = null;
/**
* WAF version. The value can be sparta-waf or clb-waf.
* @type {string || null}
*/
this.Edition = null;
/**
* Operation type
* @type {number || null}
*/
this.Type = null;
/**
* Source event ID for adding rules
* @type {string || null}
*/
this.EventId = null;
/**
* Session ID that needs to be enabled for the rule
* @type {Array.<number> || null}
*/
this.SessionApplied = null;
/**
* Rule ID: fill in 0 when adding
* @type {number || null}
*/
this.RuleId = null;
/**
* Rule creation time
* @type {number || null}
*/
this.CreateTime = null;
/**
* URL length
* @type {number || null}
*/
this.Length = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Name = 'Name' in params ? params.Name : null;
this.Status = 'Status' in params ? params.Status : null;
this.Advance = 'Advance' in params ? params.Advance : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.Url = 'Url' in params ? params.Url : null;
this.MatchFunc = 'MatchFunc' in params ? params.MatchFunc : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.Priority = 'Priority' in params ? params.Priority : null;
this.ValidTime = 'ValidTime' in params ? params.ValidTime : null;
this.OptionsArr = 'OptionsArr' in params ? params.OptionsArr : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.Type = 'Type' in params ? params.Type : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.SessionApplied = 'SessionApplied' in params ? params.SessionApplied : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.Length = 'Length' in params ? params.Length : null;
}
}
/**
* DescribeWebshellStatus response structure.
* @class
*/
class DescribeWebshellStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Webshell domain
* @type {string || null}
*/
this.Domain = null;
/**
* Enabling status
* @type {number || null}
*/
this.Status = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Status = 'Status' in params ? params.Status : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyCustomWhiteRuleStatus request structure.
* @class
*/
class ModifyCustomWhiteRuleStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* Status of the switch: 1 is On, 0 is Off
* @type {number || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DeleteAntiFakeUrl request structure.
* @class
*/
class DeleteAntiFakeUrlRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Id
* @type {number || null}
*/
this.Id = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Id = 'Id' in params ? params.Id : null;
}
}
/**
* DescribeSpartaProtectionInfo request structure.
* @class
*/
class DescribeSpartaProtectionInfoRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Version
* @type {string || null}
*/
this.Edition = null;
/**
* Instance
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* Tamper-proof URL Elements
* @class
*/
class CacheUrlItems extends AbstractModel {
constructor(){
super();
/**
* Identifier
* @type {number || null}
*/
this.Id = null;
/**
* Name
* @type {string || null}
*/
this.Name = null;
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* URL
* @type {string || null}
*/
this.Uri = null;
/**
* Protocol
* @type {string || null}
*/
this.Protocol = null;
/**
* Status
* @type {number || null}
*/
this.Status = null;
/**
* Modification time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ModifyTime = null;
/**
* Creation time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CreateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.Uri = 'Uri' in params ? params.Uri : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.Status = 'Status' in params ? params.Status : null;
this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
}
}
/**
* ModifyInstanceQpsLimit response structure.
* @class
*/
class ModifyInstanceQpsLimitResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* User Rule Update Output Rule Subitem
* @class
*/
class ReqUserRule extends AbstractModel {
constructor(){
super();
/**
* Feature serial number
* @type {string || null}
*/
this.Id = null;
/**
* Rule switch
0: disabled
1: enabled
2: alarm only
* @type {number || null}
*/
this.Status = null;
/**
* Reason for modification
0: none (Compatibility records are empty.)
1: avoidance of false positives due to business characteristics
2: reporting of rule-based false positives
3: grayscale release of core business rules
4: others
* @type {number || null}
*/
this.Reason = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Status = 'Status' in params ? params.Status : null;
this.Reason = 'Reason' in params ? params.Reason : null;
}
}
/**
* ModifyWebshellStatus response structure.
* @class
*/
class ModifyWebshellStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Successful status code, needs JSON decoding before use, the returned format is {Domain:Status}, successful status code is Success, others are failed status codes (YunAPI Defined Error Codes)
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CLB-WAF Regional Information
* @class
*/
class ClbWafRegionItem extends AbstractModel {
constructor(){
super();
/**
* Region ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Id = null;
/**
* Regional Chinese Description
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Text = null;
/**
* Full English Name of the Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Value = null;
/**
* Region encoding
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Code = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Text = 'Text' in params ? params.Text : null;
this.Value = 'Value' in params ? params.Value : null;
this.Code = 'Code' in params ? params.Code : null;
}
}
/**
* Domain name list
* @class
*/
class FindAllDomainDetail extends AbstractModel {
constructor(){
super();
/**
* User ID
* @type {number || null}
*/
this.Appid = null;
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Domain IP
* @type {Array.<string> || null}
*/
this.Ips = null;
/**
* Detection time
* @type {string || null}
*/
this.FindTime = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Domain ID
* @type {string || null}
*/
this.DomainId = null;
/**
* WAF type
* @type {string || null}
*/
this.Edition = null;
/**
* Whether to access WAF
* @type {number || null}
*/
this.IsWafDomain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Appid = 'Appid' in params ? params.Appid : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.Ips = 'Ips' in params ? params.Ips : null;
this.FindTime = 'FindTime' in params ? params.FindTime : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.IsWafDomain = 'IsWafDomain' in params ? params.IsWafDomain : null;
}
}
/**
* DeleteAntiInfoLeakRule request structure.
* @class
*/
class DeleteAntiInfoLeakRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
}
}
/**
* ModifyInstanceElasticMode response structure.
* @class
*/
class ModifyInstanceElasticModeResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeUserLevel response structure.
* @class
*/
class DescribeUserLevelResponse extends AbstractModel {
constructor(){
super();
/**
* 300: Normal, 400: Strict
* @type {number || null}
*/
this.Level = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Level = 'Level' in params ? params.Level : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeVipInfo response structure.
* @class
*/
class DescribeVipInfoResponse extends AbstractModel {
constructor(){
super();
/**
* VIP information
* @type {Array.<VipInfo> || null}
*/
this.VipInfo = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.VipInfo) {
this.VipInfo = new Array();
for (let z in params.VipInfo) {
let obj = new VipInfo();
obj.deserialize(params.VipInfo[z]);
this.VipInfo.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyIpAccessControl response structure.
* @class
*/
class ModifyIpAccessControlResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCCRule request structure.
* @class
*/
class DescribeCCRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Page number
* @type {number || null}
*/
this.Offset = null;
/**
* Number of pages
* @type {number || null}
*/
this.Limit = null;
/**
* Sort parameters
* @type {string || null}
*/
this.Sort = null;
/**
* clb-waf or sparta-waf
* @type {string || null}
*/
this.Edition = null;
/**
* Filter criteria.
* @type {string || null}
*/
this.Name = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Sort = 'Sort' in params ? params.Sort : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.Name = 'Name' in params ? params.Name : null;
}
}
/**
* ModifyModuleStatus request structure.
* @class
*/
class ModifyModuleStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain to be set
* @type {string || null}
*/
this.Domain = null;
/**
* Enabling status of the web security module. The value is 0 or 1.
* @type {number || null}
*/
this.WebSecurity = null;
/**
* Access control module switch: 0 or 1
* @type {number || null}
*/
this.AccessControl = null;
/**
* CC module switch, 0 or 1
* @type {number || null}
*/
this.CcProtection = null;
/**
* API security module switch, 0 or 1
* @type {number || null}
*/
this.ApiProtection = null;
/**
* Tamper-proof module switch: 0 or 1
* @type {number || null}
*/
this.AntiTamper = null;
/**
* Leakage prevention module switch: 0 or 1
* @type {number || null}
*/
this.AntiLeakage = null;
/**
* Traffic limiting module switch: 0 or 1
* @type {number || null}
*/
this.RateLimit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.WebSecurity = 'WebSecurity' in params ? params.WebSecurity : null;
this.AccessControl = 'AccessControl' in params ? params.AccessControl : null;
this.CcProtection = 'CcProtection' in params ? params.CcProtection : null;
this.ApiProtection = 'ApiProtection' in params ? params.ApiProtection : null;
this.AntiTamper = 'AntiTamper' in params ? params.AntiTamper : null;
this.AntiLeakage = 'AntiLeakage' in params ? params.AntiLeakage : null;
this.RateLimit = 'RateLimit' in params ? params.RateLimit : null;
}
}
/**
* API security resource information
* @class
*/
class MiniPkg extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Region = null;
/**
* Start time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BeginTime = null;
/**
* End time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EndTime = null;
/**
* Purchase quantity.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Count = null;
/**
* Renewal flag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Billing item.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillingItem = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.Status = 'Status' in params ? params.Status : null;
this.Region = 'Region' in params ? params.Region : null;
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Count = 'Count' in params ? params.Count : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
this.BillingItem = 'BillingItem' in params ? params.BillingItem : null;
}
}
/**
* DescribeRuleLimit request structure.
* @class
*/
class DescribeRuleLimitRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
}
}
/**
* Entity combining instance + domain that requires enabling/disabling API security
* @class
*/
class TargetEntity extends AbstractModel {
constructor(){
super();
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Domain = 'Domain' in params ? params.Domain : null;
}
}
/**
* CC rules
* @class
*/
class CCRuleItem extends AbstractModel {
constructor(){
super();
/**
* Action
* @type {number || null}
*/
this.ActionType = null;
/**
* Advanced mode
* @type {number || null}
*/
this.Advance = null;
/**
* Time period
* @type {number || null}
*/
this.Interval = null;
/**
* Limit Attempts
* @type {number || null}
*/
this.Limit = null;
/**
* Matching Method
* @type {number || null}
*/
this.MatchFunc = null;
/**
* Name
* @type {string || null}
*/
this.Name = null;
/**
* Priority
* @type {number || null}
*/
this.Priority = null;
/**
* Status
* @type {number || null}
*/
this.Status = null;
/**
* Update Timestamp
* @type {number || null}
*/
this.TsVersion = null;
/**
* Matching URL
* @type {string || null}
*/
this.Url = null;
/**
* Policy Action Validity Period
* @type {number || null}
*/
this.ValidTime = null;
/**
* Advanced Parameters
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.OptionsArr = null;
/**
* URL length
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Length = null;
/**
* Rule ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* Event ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EventId = null;
/**
* Associated session rules
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.SessionApplied = null;
/**
* Creation time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CreateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.Advance = 'Advance' in params ? params.Advance : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.MatchFunc = 'MatchFunc' in params ? params.MatchFunc : null;
this.Name = 'Name' in params ? params.Name : null;
this.Priority = 'Priority' in params ? params.Priority : null;
this.Status = 'Status' in params ? params.Status : null;
this.TsVersion = 'TsVersion' in params ? params.TsVersion : null;
this.Url = 'Url' in params ? params.Url : null;
this.ValidTime = 'ValidTime' in params ? params.ValidTime : null;
this.OptionsArr = 'OptionsArr' in params ? params.OptionsArr : null;
this.Length = 'Length' in params ? params.Length : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.SessionApplied = 'SessionApplied' in params ? params.SessionApplied : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
}
}
/**
* DescribeDomainCountInfo request structure.
* @class
*/
class DescribeDomainCountInfoRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* ModifyDomainsCLSStatus request structure.
* @class
*/
class ModifyDomainsCLSStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name list to be modified
* @type {Array.<DomainURI> || null}
*/
this.Domains = null;
/**
* Change the access log switch of the domain to Status
* @type {number || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Domains) {
this.Domains = new Array();
for (let z in params.Domains) {
let obj = new DomainURI();
obj.deserialize(params.Domains[z]);
this.Domains.push(obj);
}
}
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DescribeCustomWhiteRule response structure.
* @class
*/
class DescribeCustomWhiteRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Rule details
* @type {Array.<DescribeCustomRulesRspRuleListItem> || null}
*/
this.RuleList = null;
/**
* Number of rules
* @type {string || null}
*/
this.TotalCount = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.RuleList) {
this.RuleList = new Array();
for (let z in params.RuleList) {
let obj = new DescribeCustomRulesRspRuleListItem();
obj.deserialize(params.RuleList[z]);
this.RuleList.push(obj);
}
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifySpartaProtection request structure.
* @class
*/
class ModifySpartaProtectionRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Required. Unique domain name ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Required. Instance ID of the domain name
* @type {string || null}
*/
this.InstanceID = null;
/**
* Certificate type. 0: no certificate, with only the HTTP listening port configured; 1: self-owned certificate; 2: managed certificate.
* @type {number || null}
*/
this.CertType = null;
/**
* When CertType is 1, this parameter is required, indicating the self-owned certificate chain
* @type {string || null}
*/
this.Cert = null;
/**
* When CertType=1, this parameter is required, indicating the private key of the self-owned certificate.
* @type {string || null}
*/
this.PrivateKey = null;
/**
* When CertType is 2, this parameter must be filled, indicating the certificate ID hosted on Tencent Cloud's SSL platform
* @type {string || null}
*/
this.SSLId = null;
/**
* Whether a layer-7 proxy service is deployed before the WAF. 0: No proxy service is deployed; 1: The proxy service is deployed. The WAF will use XFF to obtain the client IP address; 2: The proxy service is deployed. The WAF will use remote_addr to obtain the client IP address; 3: The proxy service is deployed. The WAF will use a custom header in ip_headers to obtain the client IP address.
* @type {number || null}
*/
this.IsCdn = null;
/**
* Origin-pull protocol for HTTPS when the service is configured with an HTTPS port.
http: Use the HTTP protocol for origin-pull. It is used with HttpsUpstreamPort.
https: Use the HTTPS protocol for origin-pull.
* @type {string || null}
*/
this.UpstreamScheme = null;
/**
* HTTPS upstream port, required only when UpstreamScheme is http
* @type {string || null}
*/
this.HttpsUpstreamPort = null;
/**
* Whether to enable forced redirection from HTTP to HTTPS. 0: disable; 1: enable
* @type {number || null}
*/
this.HttpsRewrite = null;
/**
* upstream type. 0: proxy to upstream by IP; 1: proxy to upstream by domain name
* @type {number || null}
*/
this.UpstreamType = null;
/**
* Upstream domain when proxy to upstream by domain. When UpstreamType=1, this field needs to be filled
* @type {string || null}
*/
this.UpstreamDomain = null;
/**
* Upstream IP list when proxy to upstream by IP. When UpstreamType=0, this field is required
* @type {Array.<string> || null}
*/
this.SrcList = null;
/**
* Whether to enable HTTP2. You should enable HTTPS as well. 0: disable; 1: enable
* @type {number || null}
*/
this.IsHttp2 = null;
/**
* Whether to enable WebSocket. 0: disable; 1: enable
* @type {number || null}
*/
this.IsWebsocket = null;
/**
* Load balancing policy for upstream. 0: round-robin scheduling; 1: IP hash; 2: weighted round-robin scheduling
* @type {number || null}
*/
this.LoadBalance = null;
/**
* To be deprecated, can be left blank. Whether to enable grayscale: 0 indicates not to enable grayscale.
* @type {number || null}
*/
this.IsGray = null;
/**
* Instance type of the domain name
* @type {string || null}
*/
this.Edition = null;
/**
* Port information, which can be obtained through the DescribeDomains API
* @type {Array.<SpartaProtectionPort> || null}
*/
this.Ports = null;
/**
* Whether to enable persistent connection. 0: non-persistent connection; 1: persistent connection
* @type {string || null}
*/
this.IsKeepAlive = null;
/**
* To be deprecated. Currently, set this parameter to 0. Anycast IP type switch. 0: common IP; 1: Anycast IP
* @type {number || null}
*/
this.Anycast = null;
/**
* Weight of each IP in the upstream IP List, corresponding to SrcList. Required only when UpstreamType is 0, and SrcList contains multiple IPs, and LoadBalance is 2; otherwise, fill in [ ].
* @type {Array.<number> || null}
*/
this.Weights = null;
/**
* Whether to enable proactive health detection. 0: disable; 1: enable
* @type {number || null}
*/
this.ActiveCheck = null;
/**
* TLS version information
* @type {number || null}
*/
this.TLSVersion = null;
/**
* Cipher suite information
* @type {Array.<number> || null}
*/
this.Ciphers = null;
/**
* Cipher suite template. 0: default template (no selection); 1: general template; 2: secure template; 3: custom template
* @type {number || null}
*/
this.CipherTemplate = null;
/**
* Read timeout between WAF and upstream server, 300s by default.
* @type {number || null}
*/
this.ProxyReadTimeout = null;
/**
* WAF and origin server write timeout, 300s by default.
* @type {number || null}
*/
this.ProxySendTimeout = null;
/**
* SNI type when proxy to upstream.
0: Disable SNI and do not configure server_name in client_hello.
1: Enable SNI. server_name in client_hello is the protected domain name.
2: Enable SNI. SNI is the origin server domain name when proxy to upstream by domain.
3: Enable SNI. SNI is the custom domain name.
* @type {number || null}
*/
this.SniType = null;
/**
* When SniType=3, this parameter is required, indicating a custom SNI;
* @type {string || null}
*/
this.SniHost = null;
/**
* IsCdn=3 required for this parameter, indicates custom header
* @type {Array.<string> || null}
*/
this.IpHeaders = null;
/**
* Whether to enable XFF reset. 0: disable; 1: enable
* @type {number || null}
*/
this.XFFReset = null;
/**
* Domain name remarks
* @type {string || null}
*/
this.Note = null;
/**
* Custom upstream host. The default value is a null string, indicating that the protected domain name is used as the upstream host.
* @type {string || null}
*/
this.UpstreamHost = null;
/**
* Whether to enable caching. 0: disable; 1: enable.
* @type {number || null}
*/
this.ProxyBuffer = null;
/**
* Whether to enable the test. 0: disable; 1: enable. The test is enabled by default.
* @type {number || null}
*/
this.ProbeStatus = null;
/**
* SM option. 0: do not enable SM; 1: add support for SM based on the existing TLS option; 2: enable SM and support only SM client access.
* @type {number || null}
*/
this.GmType = null;
/**
* SM certificate type. 0: no SM certificate is available; 1: the certificate is a self-owned SM certificate; 2: the certificate is a managed SM certificate.
* @type {number || null}
*/
this.GmCertType = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the certificate chain of the self-owned SM certificate.
* @type {string || null}
*/
this.GmCert = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the private key of the self-owned SM certificate.
* @type {string || null}
*/
this.GmPrivateKey = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the encryption certificate of the self-owned SM certificate.
* @type {string || null}
*/
this.GmEncCert = null;
/**
* When GmCertType is 1, this parameter needs to be set, indicating the private key of the encryption certificate for the self-owned SM certificate.
* @type {string || null}
*/
this.GmEncPrivateKey = null;
/**
* When GmCertType is 2, this parameter needs to be set, indicating the ID of the certificate managed by the Tencent Cloud SSL platform.
* @type {string || null}
*/
this.GmSSLId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.CertType = 'CertType' in params ? params.CertType : null;
this.Cert = 'Cert' in params ? params.Cert : null;
this.PrivateKey = 'PrivateKey' in params ? params.PrivateKey : null;
this.SSLId = 'SSLId' in params ? params.SSLId : null;
this.IsCdn = 'IsCdn' in params ? params.IsCdn : null;
this.UpstreamScheme = 'UpstreamScheme' in params ? params.UpstreamScheme : null;
this.HttpsUpstreamPort = 'HttpsUpstreamPort' in params ? params.HttpsUpstreamPort : null;
this.HttpsRewrite = 'HttpsRewrite' in params ? params.HttpsRewrite : null;
this.UpstreamType = 'UpstreamType' in params ? params.UpstreamType : null;
this.UpstreamDomain = 'UpstreamDomain' in params ? params.UpstreamDomain : null;
this.SrcList = 'SrcList' in params ? params.SrcList : null;
this.IsHttp2 = 'IsHttp2' in params ? params.IsHttp2 : null;
this.IsWebsocket = 'IsWebsocket' in params ? params.IsWebsocket : null;
this.LoadBalance = 'LoadBalance' in params ? params.LoadBalance : null;
this.IsGray = 'IsGray' in params ? params.IsGray : null;
this.Edition = 'Edition' in params ? params.Edition : null;
if (params.Ports) {
this.Ports = new Array();
for (let z in params.Ports) {
let obj = new SpartaProtectionPort();
obj.deserialize(params.Ports[z]);
this.Ports.push(obj);
}
}
this.IsKeepAlive = 'IsKeepAlive' in params ? params.IsKeepAlive : null;
this.Anycast = 'Anycast' in params ? params.Anycast : null;
this.Weights = 'Weights' in params ? params.Weights : null;
this.ActiveCheck = 'ActiveCheck' in params ? params.ActiveCheck : null;
this.TLSVersion = 'TLSVersion' in params ? params.TLSVersion : null;
this.Ciphers = 'Ciphers' in params ? params.Ciphers : null;
this.CipherTemplate = 'CipherTemplate' in params ? params.CipherTemplate : null;
this.ProxyReadTimeout = 'ProxyReadTimeout' in params ? params.ProxyReadTimeout : null;
this.ProxySendTimeout = 'ProxySendTimeout' in params ? params.ProxySendTimeout : null;
this.SniType = 'SniType' in params ? params.SniType : null;
this.SniHost = 'SniHost' in params ? params.SniHost : null;
this.IpHeaders = 'IpHeaders' in params ? params.IpHeaders : null;
this.XFFReset = 'XFFReset' in params ? params.XFFReset : null;
this.Note = 'Note' in params ? params.Note : null;
this.UpstreamHost = 'UpstreamHost' in params ? params.UpstreamHost : null;
this.ProxyBuffer = 'ProxyBuffer' in params ? params.ProxyBuffer : null;
this.ProbeStatus = 'ProbeStatus' in params ? params.ProbeStatus : null;
this.GmType = 'GmType' in params ? params.GmType : null;
this.GmCertType = 'GmCertType' in params ? params.GmCertType : null;
this.GmCert = 'GmCert' in params ? params.GmCert : null;
this.GmPrivateKey = 'GmPrivateKey' in params ? params.GmPrivateKey : null;
this.GmEncCert = 'GmEncCert' in params ? params.GmEncCert : null;
this.GmEncPrivateKey = 'GmEncPrivateKey' in params ? params.GmEncPrivateKey : null;
this.GmSSLId = 'GmSSLId' in params ? params.GmSSLId : null;
}
}
/**
* DescribeTlsVersion response structure.
* @class
*/
class DescribeTlsVersionResponse extends AbstractModel {
constructor(){
super();
/**
* TLS key value
* @type {Array.<TLSVersion> || null}
*/
this.TLS = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.TLS) {
this.TLS = new Array();
for (let z in params.TLS) {
let obj = new TLSVersion();
obj.deserialize(params.TLS[z]);
this.TLS.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyDomainPostAction request structure.
* @class
*/
class ModifyDomainPostActionRequest extends AbstractModel {
constructor(){
super();
/**
* www.tx.com
* @type {string || null}
*/
this.Domain = null;
/**
* 0- Disable shipping, 1- Enable shipping
* @type {number || null}
*/
this.PostCLSAction = null;
/**
* 0- Disable shipping, 1- Enable shipping
* @type {number || null}
*/
this.PostCKafkaAction = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.PostCLSAction = 'PostCLSAction' in params ? params.PostCLSAction : null;
this.PostCKafkaAction = 'PostCKafkaAction' in params ? params.PostCKafkaAction : null;
}
}
/**
* VIP information
* @class
*/
class VipInfo extends AbstractModel {
constructor(){
super();
/**
* Virtual IP
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Vip = null;
/**
* WAF Instance ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.InstanceId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Vip = 'Vip' in params ? params.Vip : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
}
}
/**
* DescribeTopAttackDomain response structure.
* @class
*/
class DescribeTopAttackDomainResponse extends AbstractModel {
constructor(){
super();
/**
* CC attack domain list
* @type {Array.<KVInt> || null}
*/
this.CC = null;
/**
* Web attack domain list
* @type {Array.<KVInt> || null}
*/
this.Web = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.CC) {
this.CC = new Array();
for (let z in params.CC) {
let obj = new KVInt();
obj.deserialize(params.CC[z]);
this.CC.push(obj);
}
}
if (params.Web) {
this.Web = new Array();
for (let z in params.Web) {
let obj = new KVInt();
obj.deserialize(params.Web[z]);
this.Web.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeSession response structure.
* @class
*/
class DescribeSessionResponse extends AbstractModel {
constructor(){
super();
/**
* Returned result
Note: This field may return null, indicating that no valid values can be obtained.
* @type {SessionData || null}
*/
this.Data = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
let obj = new SessionData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* AddAntiInfoLeakRules response structure.
* @class
*/
class AddAntiInfoLeakRulesResponse extends AbstractModel {
constructor(){
super();
/**
* Rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeAntiFakeRules request structure.
* @class
*/
class DescribeAntiFakeRulesRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Offset
* @type {number || null}
*/
this.Offset = null;
/**
* Capacity
* @type {number || null}
*/
this.Limit = null;
/**
* Filter array. A name can be one of the following values: RuleID, ParamName, Url, Action, Method, Source, and Status.
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
/**
* asc or desc
* @type {string || null}
*/
this.Order = null;
/**
* Currently supports sorting by TS
* @type {string || null}
*/
this.By = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Order = 'Order' in params ? params.Order : null;
this.By = 'By' in params ? params.By : null;
}
}
/**
* AddCustomWhiteRule request structure.
* @class
*/
class AddCustomWhiteRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Rule name
* @type {string || null}
*/
this.Name = null;
/**
* Priority
* @type {string || null}
*/
this.SortId = null;
/**
* Expiration time
* @type {string || null}
*/
this.ExpireTime = null;
/**
* Policy details
* @type {Array.<Strategy> || null}
*/
this.Strategies = null;
/**
* Domain name for adding policy
* @type {string || null}
*/
this.Domain = null;
/**
* Details of release
* @type {string || null}
*/
this.Bypass = null;
/**
* Scheduled task type
* @type {string || null}
*/
this.JobType = null;
/**
* Scheduled task configuration
* @type {JobDateTime || null}
*/
this.JobDateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.SortId = 'SortId' in params ? params.SortId : null;
this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
if (params.Strategies) {
this.Strategies = new Array();
for (let z in params.Strategies) {
let obj = new Strategy();
obj.deserialize(params.Strategies[z]);
this.Strategies.push(obj);
}
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Bypass = 'Bypass' in params ? params.Bypass : null;
this.JobType = 'JobType' in params ? params.JobType : null;
if (params.JobDateTime) {
let obj = new JobDateTime();
obj.deserialize(params.JobDateTime)
this.JobDateTime = obj;
}
}
}
/**
* Service port configuration
* @class
*/
class PortInfo extends AbstractModel {
constructor(){
super();
/**
* Nginx Server ID
* @type {number || null}
*/
this.NginxServerId = null;
/**
* Listening Port Configuration
* @type {string || null}
*/
this.Port = null;
/**
* Protocol Corresponding to the Port
* @type {string || null}
*/
this.Protocol = null;
/**
* Origin-pull port
* @type {string || null}
*/
this.UpstreamPort = null;
/**
* Origin-pull protocol
* @type {string || null}
*/
this.UpstreamProtocol = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.NginxServerId = 'NginxServerId' in params ? params.NginxServerId : null;
this.Port = 'Port' in params ? params.Port : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.UpstreamPort = 'UpstreamPort' in params ? params.UpstreamPort : null;
this.UpstreamProtocol = 'UpstreamProtocol' in params ? params.UpstreamProtocol : null;
}
}
/**
* DescribeWebshellStatus request structure.
* @class
*/
class DescribeWebshellStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
}
}
/**
* ImportIpAccessControl request structure.
* @class
*/
class ImportIpAccessControlRequest extends AbstractModel {
constructor(){
super();
/**
* List of imported IP allowlists/blocklists.
* @type {Array.<IpAccessControlParam> || null}
*/
this.Data = null;
/**
* Specific domain name, for example, test.qcloudwaf.com.
Global domain name, that is, global.
* @type {string || null}
*/
this.Domain = null;
/**
* Batch protection IP blocklists/allowlists or not. If yes, the value is batch; otherwise, it is empty.
* @type {string || null}
*/
this.SourceType = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new IpAccessControlParam();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.SourceType = 'SourceType' in params ? params.SourceType : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
}
}
/**
* DeleteAntiInfoLeakRule response structure.
* @class
*/
class DeleteAntiInfoLeakRuleResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteSession response structure.
* @class
*/
class DeleteSessionResponse extends AbstractModel {
constructor(){
super();
/**
* Result
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Data = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Data = 'Data' in params ? params.Data : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* UpsertSession request structure.
* @class
*/
class UpsertSessionRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Session source location
* @type {string || null}
*/
this.Source = null;
/**
* Extraction category
* @type {string || null}
*/
this.Category = null;
/**
* Extract key or initial match mode
* @type {string || null}
*/
this.KeyOrStartMat = null;
/**
* End match mode
* @type {string || null}
*/
this.EndMat = null;
/**
* Start offset position
* @type {string || null}
*/
this.StartOffset = null;
/**
* End offset position
* @type {string || null}
*/
this.EndOffset = null;
/**
* Version
* @type {string || null}
*/
this.Edition = null;
/**
* Session Name
* @type {string || null}
*/
this.SessionName = null;
/**
* ID corresponding to session
* @type {number || null}
*/
this.SessionID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Source = 'Source' in params ? params.Source : null;
this.Category = 'Category' in params ? params.Category : null;
this.KeyOrStartMat = 'KeyOrStartMat' in params ? params.KeyOrStartMat : null;
this.EndMat = 'EndMat' in params ? params.EndMat : null;
this.StartOffset = 'StartOffset' in params ? params.StartOffset : null;
this.EndOffset = 'EndOffset' in params ? params.EndOffset : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.SessionName = 'SessionName' in params ? params.SessionName : null;
this.SessionID = 'SessionID' in params ? params.SessionID : null;
}
}
/**
* DescribeRuleLimit response structure.
* @class
*/
class DescribeRuleLimitResponse extends AbstractModel {
constructor(){
super();
/**
* WAF module specifications
* @type {WafRuleLimit || null}
*/
this.Res = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Res) {
let obj = new WafRuleLimit();
obj.deserialize(params.Res)
this.Res = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeHostLimit request structure.
* @class
*/
class DescribeHostLimitRequest extends AbstractModel {
constructor(){
super();
/**
* Added domain
* @type {string || null}
*/
this.Domain = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceID = null;
/**
* Traffic source
* @type {string || null}
*/
this.AlbType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.AlbType = 'AlbType' in params ? params.AlbType : null;
}
}
/**
* DeleteCustomRule response structure.
* @class
*/
class DeleteCustomRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyUserSignatureRule request structure.
* @class
*/
class ModifyUserSignatureRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Main class ID
* @type {string || null}
*/
this.MainClassID = null;
/**
* Main class switch 0=off, 1=on, 2=alarm only
* @type {number || null}
*/
this.Status = null;
/**
* List of rules issued for modification
* @type {Array.<ReqUserRule> || null}
*/
this.RuleID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.MainClassID = 'MainClassID' in params ? params.MainClassID : null;
this.Status = 'Status' in params ? params.Status : null;
if (params.RuleID) {
this.RuleID = new Array();
for (let z in params.RuleID) {
let obj = new ReqUserRule();
obj.deserialize(params.RuleID[z]);
this.RuleID.push(obj);
}
}
}
}
/**
* Details about the domain name protected by CLB WAF
* @class
*/
class ClbDomainsInfo extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Unique domain name ID
* @type {string || null}
*/
this.DomainId = null;
/**
* Instance ID of the domain name
* @type {string || null}
*/
this.InstanceId = null;
/**
* Name of the instance of the domain name
* @type {string || null}
*/
this.InstanceName = null;
/**
* Instance type of the domain name
* @type {string || null}
*/
this.Edition = null;
/**
* Whether a layer-7 proxy service is deployed before the WAF. 0: No proxy service is deployed; 1: The proxy service is deployed. The WAF will use XFF to obtain the client IP address; 2: The proxy service is deployed. The WAF will use remote_addr to obtain the client IP address; 3: The proxy service is deployed. The WAF will use a custom header in ip_headers to obtain the client IP address.
* @type {number || null}
*/
this.IsCdn = null;
/**
* CLB information when the CLB type is clb
* @type {Array.<LoadBalancerPackageNew> || null}
*/
this.LoadBalancerSet = null;
/**
* CLB WAF traffic mode. 1: cleaning mode; 0: image mode
* @type {number || null}
*/
this.FlowMode = null;
/**
* Domain name-bound CLB status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.State = null;
/**
* CLB Type, either CLB or Apisix
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AlbType = null;
/**
* IsCdn=3 indicates custom header
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.IpHeaders = null;
/**
* CDC cluster information for the WAF of the cdc-clb-waf type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CdcClusters = null;
/**
* Cloud Type: public: Public Cloud; private: Private Cloud; hybrid: Hybrid Cloud
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CloudType = null;
/**
* Domain name remarks
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Note = null;
/**
* Domain name tag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.Labels = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.DomainId = 'DomainId' in params ? params.DomainId : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.IsCdn = 'IsCdn' in params ? params.IsCdn : null;
if (params.LoadBalancerSet) {
this.LoadBalancerSet = new Array();
for (let z in params.LoadBalancerSet) {
let obj = new LoadBalancerPackageNew();
obj.deserialize(params.LoadBalancerSet[z]);
this.LoadBalancerSet.push(obj);
}
}
this.FlowMode = 'FlowMode' in params ? params.FlowMode : null;
this.State = 'State' in params ? params.State : null;
this.AlbType = 'AlbType' in params ? params.AlbType : null;
this.IpHeaders = 'IpHeaders' in params ? params.IpHeaders : null;
this.CdcClusters = 'CdcClusters' in params ? params.CdcClusters : null;
this.CloudType = 'CloudType' in params ? params.CloudType : null;
this.Note = 'Note' in params ? params.Note : null;
this.Labels = 'Labels' in params ? params.Labels : null;
}
}
/**
* CreateDeals response structure.
* @class
*/
class CreateDealsResponse extends AbstractModel {
constructor(){
super();
/**
* Billing order response structure
Note: This field may return null, indicating that no valid values can be obtained.
* @type {DealData || null}
*/
this.Data = null;
/**
* 1: Success, 0: Failure
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ReturnMessage = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
let obj = new DealData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.ReturnMessage = 'ReturnMessage' in params ? params.ReturnMessage : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeHistogram request structure.
* @class
*/
class DescribeHistogramRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.FromTime = null;
/**
* End time
* @type {string || null}
*/
this.ToTime = null;
/**
* Clustering fields. ip: IP aggregation; art: response time aggregation; url: URL aggregation; local: city aggregation after IP conversion; qps: second-level peak request count aggregation; up: peak upstream bandwidth aggregation; down: peak downstream bandwidth aggregation
* @type {string || null}
*/
this.QueryField = null;
/**
* Condition, access for access logs, attack for attack logs
* @type {string || null}
*/
this.Source = null;
/**
* Compatible host, gradually phasing out Host field
* @type {string || null}
*/
this.Host = null;
/**
* Only two values are valid: sparta-waf, clb-waf. No filtering if not input.
* @type {string || null}
*/
this.Edition = null;
/**
* WAF instance ID. No filter will be carried out if it is not input.
* @type {string || null}
*/
this.InstanceID = null;
/**
* Domain filtering, not applied if not input, used to replace Host field and phase out Host
* @type {string || null}
*/
this.Domain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FromTime = 'FromTime' in params ? params.FromTime : null;
this.ToTime = 'ToTime' in params ? params.ToTime : null;
this.QueryField = 'QueryField' in params ? params.QueryField : null;
this.Source = 'Source' in params ? params.Source : null;
this.Host = 'Host' in params ? params.Host : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
this.Domain = 'Domain' in params ? params.Domain : null;
}
}
/**
* DescribeHost response structure.
* @class
*/
class DescribeHostResponse extends AbstractModel {
constructor(){
super();
/**
* Domain name details
* @type {HostRecord || null}
*/
this.Host = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Host) {
let obj = new HostRecord();
obj.deserialize(params.Host)
this.Host = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteCCRule response structure.
* @class
*/
class DeleteCCRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Normally null
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Data = null;
/**
* Operational rule ID
* @type {number || null}
*/
this.RuleId = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Data = 'Data' in params ? params.Data : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Attack Log Statistical Details
* @class
*/
class LogHistogramInfo extends AbstractModel {
constructor(){
super();
/**
* Number of logs.
* @type {number || null}
*/
this.Count = null;
/**
* Timestamp.
* @type {number || null}
*/
this.TimeStamp = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Count = 'Count' in params ? params.Count : null;
this.TimeStamp = 'TimeStamp' in params ? params.TimeStamp : null;
}
}
/**
* Unique positioning domain
* @class
*/
class DomainURI extends AbstractModel {
constructor(){
super();
/**
* Domain name
* @type {string || null}
*/
this.Domain = null;
/**
* Version
* @type {string || null}
*/
this.Edition = null;
/**
* Instance ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Domain = 'Domain' in params ? params.Domain : null;
this.Edition = 'Edition' in params ? params.Edition : null;
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* ModifyHost request structure.
* @class
*/
class ModifyHostRequest extends AbstractModel {
constructor(){
super();
/**
* Edited domain configuration information
* @type {HostRecord || null}
*/
this.Host = null;
/**
* Unique Instance ID
* @type {string || null}
*/
this.InstanceID = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Host) {
let obj = new HostRecord();
obj.deserialize(params.Host)
this.Host = obj;
}
this.InstanceID = 'InstanceID' in params ? params.InstanceID : null;
}
}
/**
* DescribeDomains request structure.
* @class
*/
class DescribeDomainsRequest extends AbstractModel {
constructor(){
super();
/**
* Paging offset, a multiple of limit. The minimum value is 0, and the maximum value is Total/Limit rounded up.
* @type {number || null}
*/
this.Offset = null;
/**
* Number of returned domains
* @type {number || null}
*/
this.Limit = null;
/**
* Filter array. The filter fields are as follows. Edition: instance version, which can be set to sparta-waf or clb-waf; Domain: domain name; DomainId: domain name ID; InstanceName: instance name; InstanceId: instance ID; FlowMode: traffic access mode, which supports only CLB WAF; FlowCheckMode: traffic inspection mode, which supports only CLB WAF; ClsStatus: log switch; Status: WAF switch; BotStatus: BOT switch; ApiStatus: API security switch; Engine: engine mode; UpstreamIP: origin server IP address, which supports only SaaS WAF; UpstreamDomain: origin server domain name, which supports only SaaS WAF; DomainState: domain name status, which supports only SaaS WAF; SgState: security group status, which supports only SaaS WAF; Label: group tag, which supports the filtering of only one tag at a time.
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* Hybrid cloud node resource information
* @class
*/
class HybridPkg extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Region = null;
/**
* Start time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BeginTime = null;
/**
* End time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EndTime = null;
/**
* Application Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.InquireNum = null;
/**
* Usage Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UsedNum = null;
/**
* Renewal flag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.Status = 'Status' in params ? params.Status : null;
this.Region = 'Region' in params ? params.Region : null;
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.InquireNum = 'InquireNum' in params ? params.InquireNum : null;
this.UsedNum = 'UsedNum' in params ? params.UsedNum : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
}
}
/**
* Bot Resource Information
* @class
*/
class BotPkg extends AbstractModel {
constructor(){
super();
/**
* Resource ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceIds = null;
/**
* Status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Region = null;
/**
* Start time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BeginTime = null;
/**
* End time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EndTime = null;
/**
* Application Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.InquireNum = null;
/**
* Usage Quantity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.UsedNum = null;
/**
* Sub-product code.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Type = null;
/**
* Renewal flag.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Purchase Page Bot 40% Off
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.BotCPWaf = null;
/**
* Console Buy Bot with 50% Off
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.BotNPWaf = null;
/**
* 7-day Bot Trial Identification, 1 for Trial, 0 for No Trial
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.IsBotTrial = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
this.Status = 'Status' in params ? params.Status : null;
this.Region = 'Region' in params ? params.Region : null;
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.InquireNum = 'InquireNum' in params ? params.InquireNum : null;
this.UsedNum = 'UsedNum' in params ? params.UsedNum : null;
this.Type = 'Type' in params ? params.Type : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
this.BotCPWaf = 'BotCPWaf' in params ? params.BotCPWaf : null;
this.BotNPWaf = 'BotNPWaf' in params ? params.BotNPWaf : null;
this.IsBotTrial = 'IsBotTrial' in params ? params.IsBotTrial : null;
}
}
/**
* DescribeObjects request structure.
* @class
*/
class DescribeObjectsRequest extends AbstractModel {
constructor(){
super();
/**
* Supported filters:
ObjectId: CLB instance ID
VIP: public IP address of the CLB instance
InstanceId: WAF instance ID
Domain: precise domain name
Status: WAF protection switch status. 0: disabled; 1: enabled
ClsStatus: WAF log switch. 0: disabled; 1: enabled
* @type {Array.<FiltersItemNew> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new FiltersItemNew();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* DescribeUserDomainInfo response structure.
* @class
*/
class DescribeUserDomainInfoResponse extends AbstractModel {
constructor(){
super();
/**
* SaaS and CLB domain information
* @type {Array.<UserDomainInfo> || null}
*/
this.UsersInfo = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.UsersInfo) {
this.UsersInfo = new Array();
for (let z in params.UsersInfo) {
let obj = new UserDomainInfo();
obj.deserialize(params.UsersInfo[z]);
this.UsersInfo.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyHostStatus request structure.
* @class
*/
class ModifyHostStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Domain status list
* @type {Array.<HostStatus> || null}
*/
this.HostsStatus = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.HostsStatus) {
this.HostsStatus = new Array();
for (let z in params.HostsStatus) {
let obj = new HostStatus();
obj.deserialize(params.HostsStatus[z]);
this.HostsStatus.push(obj);
}
}
}
}
/**
* DescribeHistogram response structure.
* @class
*/
class DescribeHistogramResponse extends AbstractModel {
constructor(){
super();
/**
* Statistical data
* @type {Array.<string> || null}
*/
this.Histogram = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Histogram = 'Histogram' in params ? params.Histogram : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyCustomRule response structure.
* @class
*/
class ModifyCustomRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Operation status code: if all resource operations succeed, the success status code is returned; if any resource operation fails, the content of Message needs to be parsed to see which resource failed.
* @type {ResponseCode || null}
*/
this.Success = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Success) {
let obj = new ResponseCode();
obj.deserialize(params.Success)
this.Success = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CLB listener
* @class
*/
class LoadBalancer extends AbstractModel {
constructor(){
super();
/**
* CLB LD's ID
* @type {string || null}
*/
this.LoadBalancerId = null;
/**
* CLB LD's Name
* @type {string || null}
*/
this.LoadBalancerName = null;
/**
* CLB Listener ID
* @type {string || null}
*/
this.ListenerId = null;
/**
* Name of CLB Listener
* @type {string || null}
*/
this.ListenerName = null;
/**
* IP of CLB Instance
* @type {string || null}
*/
this.Vip = null;
/**
* Port of the CLB Instance
* @type {number || null}
*/
this.Vport = null;
/**
* CLB LD's Region
* @type {string || null}
*/
this.Region = null;
/**
* Listener Protocol, HTTP, HTTPS
* @type {string || null}
*/
this.Protocol = null;
/**
* Zone of the CLB Listener
* @type {string || null}
*/
this.Zone = null;
/**
* CLB's VPC ID, -1 for public network, fill in the actual number for private network
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.NumericalVpcId = null;
/**
* CLB Network Type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LoadBalancerType = null;
/**
* CLB Domain Name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LoadBalancerDomain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null;
this.LoadBalancerName = 'LoadBalancerName' in params ? params.LoadBalancerName : null;
this.ListenerId = 'ListenerId' in params ? params.ListenerId : null;
this.ListenerName = 'ListenerName' in params ? params.ListenerName : null;
this.Vip = 'Vip' in params ? params.Vip : null;
this.Vport = 'Vport' in params ? params.Vport : null;
this.Region = 'Region' in params ? params.Region : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.Zone = 'Zone' in params ? params.Zone : null;
this.NumericalVpcId = 'NumericalVpcId' in params ? params.NumericalVpcId : null;
this.LoadBalancerType = 'LoadBalancerType' in params ? params.LoadBalancerType : null;
this.LoadBalancerDomain = 'LoadBalancerDomain' in params ? params.LoadBalancerDomain : null;
}
}
/**
* CLB type protection object
* @class
*/
class ClbObject extends AbstractModel {
constructor(){
super();
/**
* Object ID
* @type {string || null}
*/
this.ObjectId = null;
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Instance name
* @type {string || null}
*/
this.InstanceName = null;
/**
* Precise Domain List
* @type {Array.<string> || null}
*/
this.PreciseDomains = null;
/**
* WAF Feature Switch Status, 0 Off 1 On
* @type {number || null}
*/
this.Status = null;
/**
* WAF Log Switch Status, 0 Off 1 On
* @type {number || null}
*/
this.ClsStatus = null;
/**
* Virtual Domain Name Corresponding to CLB Object
* @type {string || null}
*/
this.VirtualDomain = null;
/**
* Object name
* @type {string || null}
*/
this.ObjectName = null;
/**
* Public network address
* @type {Array.<string> || null}
*/
this.PublicIp = null;
/**
* Private network address
* @type {Array.<string> || null}
*/
this.PrivateIp = null;
/**
* VPC name
* @type {string || null}
*/
this.VpcName = null;
/**
* VPC ID
* @type {string || null}
*/
this.Vpc = null;
/**
* WAF instance level, if no instance is bound, it is 0
* @type {number || null}
*/
this.InstanceLevel = null;
/**
* CLB Shipping Switch
* @type {number || null}
*/
this.PostCLSStatus = null;
/**
* Kafka Shipping Switch
* @type {number || null}
*/
this.PostCKafkaStatus = null;
/**
* Object type: CLB: Load Balancer, TSE: Cloud-native Gateway
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Type = null;
/**
* Object Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Region = null;
/**
* Proxy status. 0: disabled; 1: Use the first IP address in XFF as the client IP address; 2: Use remote_addr as the client IP address; 3: Obtain the client IP address from the specified header field. The field is given by the IpHeaders field.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Proxy = null;
/**
* List of header fields for obtaining the client IP. This parameter is effective when IsCdn is 3.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.IpHeaders = null;
/**
* Bot protection switch
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.BotStatus = null;
/**
* API protection switch
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ApiStatus = null;
/**
* Object access mode. 0: image mode; 1: cleaning mode; 2: examination mode. By default, the cleaning mode is used.Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ObjectFlowMode = null;
/**
* VPC ID in numerical format
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.NumericalVpcId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ObjectId = 'ObjectId' in params ? params.ObjectId : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.PreciseDomains = 'PreciseDomains' in params ? params.PreciseDomains : null;
this.Status = 'Status' in params ? params.Status : null;
this.ClsStatus = 'ClsStatus' in params ? params.ClsStatus : null;
this.VirtualDomain = 'VirtualDomain' in params ? params.VirtualDomain : null;
this.ObjectName = 'ObjectName' in params ? params.ObjectName : null;
this.PublicIp = 'PublicIp' in params ? params.PublicIp : null;
this.PrivateIp = 'PrivateIp' in params ? params.PrivateIp : null;
this.VpcName = 'VpcName' in params ? params.VpcName : null;
this.Vpc = 'Vpc' in params ? params.Vpc : null;
this.InstanceLevel = 'InstanceLevel' in params ? params.InstanceLevel : null;
this.PostCLSStatus = 'PostCLSStatus' in params ? params.PostCLSStatus : null;
this.PostCKafkaStatus = 'PostCKafkaStatus' in params ? params.PostCKafkaStatus : null;
this.Type = 'Type' in params ? params.Type : null;
this.Region = 'Region' in params ? params.Region : null;
this.Proxy = 'Proxy' in params ? params.Proxy : null;
this.IpHeaders = 'IpHeaders' in params ? params.IpHeaders : null;
this.BotStatus = 'BotStatus' in params ? params.BotStatus : null;
this.ApiStatus = 'ApiStatus' in params ? params.ApiStatus : null;
this.ObjectFlowMode = 'ObjectFlowMode' in params ? params.ObjectFlowMode : null;
this.NumericalVpcId = 'NumericalVpcId' in params ? params.NumericalVpcId : null;
}
}
module.exports = {
ModifyUserLevelResponse: ModifyUserLevelResponse,
SearchAttackLogResponse: SearchAttackLogResponse,
KVInt: KVInt,
DescribeCustomRulesRspRuleListItem: DescribeCustomRulesRspRuleListItem,
ModifyAntiInfoLeakRulesResponse: ModifyAntiInfoLeakRulesResponse,
ModifyWebshellStatusRequest: ModifyWebshellStatusRequest,
DescribeCertificateVerifyResultRequest: DescribeCertificateVerifyResultRequest,
DescribeUserClbWafRegionsResponse: DescribeUserClbWafRegionsResponse,
CreateIpAccessControlRequest: CreateIpAccessControlRequest,
TLSCiphers: TLSCiphers,
AddAntiFakeUrlRequest: AddAntiFakeUrlRequest,
WebshellStatus: WebshellStatus,
AddCustomWhiteRuleResponse: AddCustomWhiteRuleResponse,
SearchAttackLogRequest: SearchAttackLogRequest,
ModifyHostFlowModeResponse: ModifyHostFlowModeResponse,
DomainPackageNew: DomainPackageNew,
SwitchElasticModeRequest: SwitchElasticModeRequest,
ModifyInstanceNameRequest: ModifyInstanceNameRequest,
HostDel: HostDel,
DeleteCustomWhiteRuleResponse: DeleteCustomWhiteRuleResponse,
DescribeIpAccessControlResponse: DescribeIpAccessControlResponse,
DescribeAntiLeakageItem: DescribeAntiLeakageItem,
LoadBalancerPackageNew: LoadBalancerPackageNew,
ModifyDomainIpv6StatusResponse: ModifyDomainIpv6StatusResponse,
CCRuleData: CCRuleData,
DescribeCustomRuleListRequest: DescribeCustomRuleListRequest,
DescribeUserClbWafRegionsRequest: DescribeUserClbWafRegionsRequest,
DescribeHostsResponse: DescribeHostsResponse,
DescribePeakPointsRequest: DescribePeakPointsRequest,
ModifyInstanceQpsLimitRequest: ModifyInstanceQpsLimitRequest,
DeleteHostRequest: DeleteHostRequest,
ModifyDomainPostActionResponse: ModifyDomainPostActionResponse,
DescribeCertificateVerifyResultResponse: DescribeCertificateVerifyResultResponse,
ModifyUserSignatureRuleResponse: ModifyUserSignatureRuleResponse,
DescribeAntiInfoLeakRulesStrategyItem: DescribeAntiInfoLeakRulesStrategyItem,
ModifyInstanceNameResponse: ModifyInstanceNameResponse,
TLSVersion: TLSVersion,
UpsertSessionResponse: UpsertSessionResponse,
DescribeDomainsResponse: DescribeDomainsResponse,
DeleteSessionRequest: DeleteSessionRequest,
GenerateDealsAndPayNewRequest: GenerateDealsAndPayNewRequest,
RefreshAccessCheckResultRequest: RefreshAccessCheckResultRequest,
AddAntiFakeUrlResponse: AddAntiFakeUrlResponse,
ModifyHostResponse: ModifyHostResponse,
DescribeCiphersDetailRequest: DescribeCiphersDetailRequest,
AddCustomRuleResponse: AddCustomRuleResponse,
CCRuleItems: CCRuleItems,
ModifyDomainIpv6StatusRequest: ModifyDomainIpv6StatusRequest,
CreateIpAccessControlResponse: CreateIpAccessControlResponse,
RefreshAccessCheckResultResponse: RefreshAccessCheckResultResponse,
DescribeAntiInfoLeakageRulesResponse: DescribeAntiInfoLeakageRulesResponse,
SessionItem: SessionItem,
MajorEventsPkg: MajorEventsPkg,
ModifyObjectRequest: ModifyObjectRequest,
ModifyHostFlowModeRequest: ModifyHostFlowModeRequest,
UpsertCCRuleResponse: UpsertCCRuleResponse,
GetAttackHistogramRequest: GetAttackHistogramRequest,
UserDomainInfo: UserDomainInfo,
ModifyAntiInfoLeakRulesRequest: ModifyAntiInfoLeakRulesRequest,
ModifyProtectionStatusRequest: ModifyProtectionStatusRequest,
CCRuleLists: CCRuleLists,
ModifyApiAnalyzeStatusResponse: ModifyApiAnalyzeStatusResponse,
DescribeCustomWhiteRuleRequest: DescribeCustomWhiteRuleRequest,
DeleteAntiFakeUrlResponse: DeleteAntiFakeUrlResponse,
WafRuleLimit: WafRuleLimit,
DescribeAttackTypeRequest: DescribeAttackTypeRequest,
ModifyAntiFakeUrlStatusRequest: ModifyAntiFakeUrlStatusRequest,
DeleteCustomWhiteRuleRequest: DeleteCustomWhiteRuleRequest,
ModifyHostModeResponse: ModifyHostModeResponse,
ModifyInstanceRenewFlagResponse: ModifyInstanceRenewFlagResponse,
DescribeCCRuleListRequest: DescribeCCRuleListRequest,
ModifyProtectionStatusResponse: ModifyProtectionStatusResponse,
ResponseCode: ResponseCode,
DescribeCustomRuleListResponse: DescribeCustomRuleListResponse,
ModifyDomainsCLSStatusResponse: ModifyDomainsCLSStatusResponse,
ImportIpAccessControlResponse: ImportIpAccessControlResponse,
DescribeVipInfoRequest: DescribeVipInfoRequest,
DeleteIpAccessControlV2Request: DeleteIpAccessControlV2Request,
CronJob: CronJob,
IpAccessControlData: IpAccessControlData,
GetAttackHistogramResponse: GetAttackHistogramResponse,
GetInstanceQpsLimitRequest: GetInstanceQpsLimitRequest,
FiltersItemNew: FiltersItemNew,
DeleteSpartaProtectionResponse: DeleteSpartaProtectionResponse,
SessionData: SessionData,
ModifyUserLevelRequest: ModifyUserLevelRequest,
QpsData: QpsData,
DescribeAntiInfoLeakageRulesRequest: DescribeAntiInfoLeakageRulesRequest,
CreateHostResponse: CreateHostResponse,
PiechartItem: PiechartItem,
IpAccessControlItem: IpAccessControlItem,
DeleteHostResponse: DeleteHostResponse,
SwitchElasticModeResponse: SwitchElasticModeResponse,
FreshAntiFakeUrlResponse: FreshAntiFakeUrlResponse,
ModifyBotStatusRequest: ModifyBotStatusRequest,
DeleteSpartaProtectionRequest: DeleteSpartaProtectionRequest,
DomainsPartInfo: DomainsPartInfo,
DescribeAntiFakeRulesResponse: DescribeAntiFakeRulesResponse,
AddAntiInfoLeakRulesRequest: AddAntiInfoLeakRulesRequest,
ModifyObjectResponse: ModifyObjectResponse,
HostRecord: HostRecord,
CreateHostRequest: CreateHostRequest,
DescribeSpartaProtectionInfoResponse: DescribeSpartaProtectionInfoResponse,
FreshAntiFakeUrlRequest: FreshAntiFakeUrlRequest,
DescribeFindDomainListResponse: DescribeFindDomainListResponse,
SpartaProtectionPort: SpartaProtectionPort,
AddSpartaProtectionRequest: AddSpartaProtectionRequest,
PeakPointsItem: PeakPointsItem,
GetInstanceQpsLimitResponse: GetInstanceQpsLimitResponse,
CreateDealsRequest: CreateDealsRequest,
JobDateTime: JobDateTime,
ModifyCustomWhiteRuleResponse: ModifyCustomWhiteRuleResponse,
DescribeSessionRequest: DescribeSessionRequest,
ModifyModuleStatusResponse: ModifyModuleStatusResponse,
DescribePolicyStatusRequest: DescribePolicyStatusRequest,
DescribePortsResponse: DescribePortsResponse,
ModifyIpAccessControlRequest: ModifyIpAccessControlRequest,
ApiPkg: ApiPkg,
AttackLogInfo: AttackLogInfo,
DescribeModuleStatusResponse: DescribeModuleStatusResponse,
DescribeAttackOverviewResponse: DescribeAttackOverviewResponse,
DescribeCCRuleListResponse: DescribeCCRuleListResponse,
DescribeDomainCountInfoResponse: DescribeDomainCountInfoResponse,
DescribePortsRequest: DescribePortsRequest,
ModifyHostModeRequest: ModifyHostModeRequest,
QPSPackageNew: QPSPackageNew,
ModifyAntiFakeUrlRequest: ModifyAntiFakeUrlRequest,
DescribeDomainDetailsClbRequest: DescribeDomainDetailsClbRequest,
ModifyAntiInfoLeakRuleStatusRequest: ModifyAntiInfoLeakRuleStatusRequest,
DescribeDomainVerifyResultRequest: DescribeDomainVerifyResultRequest,
CreateDealsGoods: CreateDealsGoods,
TimedJob: TimedJob,
DescribeTlsVersionRequest: DescribeTlsVersionRequest,
DescribeCiphersDetailResponse: DescribeCiphersDetailResponse,
DealData: DealData,
DeleteIpAccessControlV2Response: DeleteIpAccessControlV2Response,
ModifySpartaProtectionModeResponse: ModifySpartaProtectionModeResponse,
ModifyBotStatusResponse: ModifyBotStatusResponse,
DescribeDomainDetailsSaasRequest: DescribeDomainDetailsSaasRequest,
ModifyCustomRuleStatusResponse: ModifyCustomRuleStatusResponse,
StrategyForAntiInfoLeak: StrategyForAntiInfoLeak,
AddSpartaProtectionResponse: AddSpartaProtectionResponse,
DescribeUserDomainInfoRequest: DescribeUserDomainInfoRequest,
DomainRuleId: DomainRuleId,
DescribeModuleStatusRequest: DescribeModuleStatusRequest,
PortItem: PortItem,
CreateDealsGoodsDetail: CreateDealsGoodsDetail,
SearchItem: SearchItem,
ModifyCustomWhiteRuleStatusResponse: ModifyCustomWhiteRuleStatusResponse,
ModifyHostStatusResponse: ModifyHostStatusResponse,
BatchIpAccessControlData: BatchIpAccessControlData,
ModifyCustomRuleStatusRequest: ModifyCustomRuleStatusRequest,
DescribePeakPointsResponse: DescribePeakPointsResponse,
GoodNews: GoodNews,
ModifySpartaProtectionModeRequest: ModifySpartaProtectionModeRequest,
DescribeHostRequest: DescribeHostRequest,
ModifyCustomRuleRequest: ModifyCustomRuleRequest,
DescribeAttackOverviewRequest: DescribeAttackOverviewRequest,
DescribeUserLevelRequest: DescribeUserLevelRequest,
BotQPS: BotQPS,
DescribeDomainDetailsClbResponse: DescribeDomainDetailsClbResponse,
HostStatus: HostStatus,
GoodsDetailNew: GoodsDetailNew,
ModifyAntiFakeUrlResponse: ModifyAntiFakeUrlResponse,
GetAttackTotalCountRequest: GetAttackTotalCountRequest,
ModifySpartaProtectionResponse: ModifySpartaProtectionResponse,
DomainInfo: DomainInfo,
DescribeBatchIpAccessControlRequest: DescribeBatchIpAccessControlRequest,
DescribePolicyStatusResponse: DescribePolicyStatusResponse,
DescribeInstancesRequest: DescribeInstancesRequest,
ModifyCustomWhiteRuleRequest: ModifyCustomWhiteRuleRequest,
GetAttackTotalCountResponse: GetAttackTotalCountResponse,
DescribeObjectsResponse: DescribeObjectsResponse,
BatchIpAccessControlItem: BatchIpAccessControlItem,
InstanceInfo: InstanceInfo,
IpAccessControlParam: IpAccessControlParam,
ModifyInstanceRenewFlagRequest: ModifyInstanceRenewFlagRequest,
DescribeBatchIpAccessControlResponse: DescribeBatchIpAccessControlResponse,
DescribeDomainDetailsSaasResponse: DescribeDomainDetailsSaasResponse,
DescribeDomainVerifyResultResponse: DescribeDomainVerifyResultResponse,
ModifyApiAnalyzeStatusRequest: ModifyApiAnalyzeStatusRequest,
AddCustomRuleRequest: AddCustomRuleRequest,
ModifyAntiInfoLeakRuleStatusResponse: ModifyAntiInfoLeakRuleStatusResponse,
FraudPkg: FraudPkg,
DeleteCCRuleRequest: DeleteCCRuleRequest,
DescribeAttackTypeResponse: DescribeAttackTypeResponse,
GenerateDealsAndPayNewResponse: GenerateDealsAndPayNewResponse,
DeleteCustomRuleRequest: DeleteCustomRuleRequest,
DescribeInstancesResponse: DescribeInstancesResponse,
DescribeCCRuleResponse: DescribeCCRuleResponse,
MiniExtendPkg: MiniExtendPkg,
Strategy: Strategy,
DescribeTopAttackDomainRequest: DescribeTopAttackDomainRequest,
DescribeIpAccessControlRequest: DescribeIpAccessControlRequest,
DescribeFindDomainListRequest: DescribeFindDomainListRequest,
ModifyAntiFakeUrlStatusResponse: ModifyAntiFakeUrlStatusResponse,
DescribeHostsRequest: DescribeHostsRequest,
ModifyInstanceElasticModeRequest: ModifyInstanceElasticModeRequest,
DescribeHostLimitResponse: DescribeHostLimitResponse,
UpsertCCRuleRequest: UpsertCCRuleRequest,
DescribeWebshellStatusResponse: DescribeWebshellStatusResponse,
ModifyCustomWhiteRuleStatusRequest: ModifyCustomWhiteRuleStatusRequest,
DeleteAntiFakeUrlRequest: DeleteAntiFakeUrlRequest,
DescribeSpartaProtectionInfoRequest: DescribeSpartaProtectionInfoRequest,
CacheUrlItems: CacheUrlItems,
ModifyInstanceQpsLimitResponse: ModifyInstanceQpsLimitResponse,
ReqUserRule: ReqUserRule,
ModifyWebshellStatusResponse: ModifyWebshellStatusResponse,
ClbWafRegionItem: ClbWafRegionItem,
FindAllDomainDetail: FindAllDomainDetail,
DeleteAntiInfoLeakRuleRequest: DeleteAntiInfoLeakRuleRequest,
ModifyInstanceElasticModeResponse: ModifyInstanceElasticModeResponse,
DescribeUserLevelResponse: DescribeUserLevelResponse,
DescribeVipInfoResponse: DescribeVipInfoResponse,
ModifyIpAccessControlResponse: ModifyIpAccessControlResponse,
DescribeCCRuleRequest: DescribeCCRuleRequest,
ModifyModuleStatusRequest: ModifyModuleStatusRequest,
MiniPkg: MiniPkg,
DescribeRuleLimitRequest: DescribeRuleLimitRequest,
TargetEntity: TargetEntity,
CCRuleItem: CCRuleItem,
DescribeDomainCountInfoRequest: DescribeDomainCountInfoRequest,
ModifyDomainsCLSStatusRequest: ModifyDomainsCLSStatusRequest,
DescribeCustomWhiteRuleResponse: DescribeCustomWhiteRuleResponse,
ModifySpartaProtectionRequest: ModifySpartaProtectionRequest,
DescribeTlsVersionResponse: DescribeTlsVersionResponse,
ModifyDomainPostActionRequest: ModifyDomainPostActionRequest,
VipInfo: VipInfo,
DescribeTopAttackDomainResponse: DescribeTopAttackDomainResponse,
DescribeSessionResponse: DescribeSessionResponse,
AddAntiInfoLeakRulesResponse: AddAntiInfoLeakRulesResponse,
DescribeAntiFakeRulesRequest: DescribeAntiFakeRulesRequest,
AddCustomWhiteRuleRequest: AddCustomWhiteRuleRequest,
PortInfo: PortInfo,
DescribeWebshellStatusRequest: DescribeWebshellStatusRequest,
ImportIpAccessControlRequest: ImportIpAccessControlRequest,
DeleteAntiInfoLeakRuleResponse: DeleteAntiInfoLeakRuleResponse,
DeleteSessionResponse: DeleteSessionResponse,
UpsertSessionRequest: UpsertSessionRequest,
DescribeRuleLimitResponse: DescribeRuleLimitResponse,
DescribeHostLimitRequest: DescribeHostLimitRequest,
DeleteCustomRuleResponse: DeleteCustomRuleResponse,
ModifyUserSignatureRuleRequest: ModifyUserSignatureRuleRequest,
ClbDomainsInfo: ClbDomainsInfo,
CreateDealsResponse: CreateDealsResponse,
DescribeHistogramRequest: DescribeHistogramRequest,
DescribeHostResponse: DescribeHostResponse,
DeleteCCRuleResponse: DeleteCCRuleResponse,
LogHistogramInfo: LogHistogramInfo,
DomainURI: DomainURI,
ModifyHostRequest: ModifyHostRequest,
DescribeDomainsRequest: DescribeDomainsRequest,
HybridPkg: HybridPkg,
BotPkg: BotPkg,
DescribeObjectsRequest: DescribeObjectsRequest,
DescribeUserDomainInfoResponse: DescribeUserDomainInfoResponse,
ModifyHostStatusRequest: ModifyHostStatusRequest,
DescribeHistogramResponse: DescribeHistogramResponse,
ModifyCustomRuleResponse: ModifyCustomRuleResponse,
LoadBalancer: LoadBalancer,
ClbObject: ClbObject,
}