tencentcloud-sdk-nodejs-intl-en
Version:
17,659 lines • 439 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");
/**
* Smart compression
* @class
*/
class Compression extends AbstractModel {
constructor(){
super();
/**
* Whether to enable Smart compression
`on`: Enable
`off`: Disable
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* Web attack log data
* @class
*/
class WebLogData extends AbstractModel {
constructor(){
super();
/**
* Data
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<WebLogs> || null}
*/
this.List = null;
/**
* Current page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Total number of pages
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new WebLogs();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
}
}
/**
* Certificate configurations for domain names
* @class
*/
class HostCertSetting extends AbstractModel {
constructor(){
super();
/**
* Domain name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Host = null;
/**
* Server certificate configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<ServerCertInfo> || null}
*/
this.CertInfo = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Host = 'Host' in params ? params.Host : null;
if (params.CertInfo) {
this.CertInfo = new Array();
for (let z in params.CertInfo) {
let obj = new ServerCertInfo();
obj.deserialize(params.CertInfo[z]);
this.CertInfo.push(obj);
}
}
}
}
/**
* Custom ACL rule
* @class
*/
class ACLUserRule extends AbstractModel {
constructor(){
super();
/**
* Name of the rule
* @type {string || null}
*/
this.RuleName = null;
/**
* Action
* @type {string || null}
*/
this.Action = null;
/**
* Status of the rule
* @type {string || null}
*/
this.RuleStatus = null;
/**
* ACL rule
* @type {Array.<ACLCondition> || null}
*/
this.Conditions = null;
/**
* Priority of the rule
* @type {number || null}
*/
this.RulePriority = null;
/**
* ID of the rule
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.RuleID = null;
/**
* Update time
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.UpdateTime = null;
/**
* IP blocking time
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.PunishTime = null;
/**
* IP blocking time unit
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.PunishTimeUnit = null;
/**
* Name of the custom block page
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Name = null;
/**
* ID of the custom block page
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.PageId = null;
/**
* Redirection URL, which must be a subdomain name of the site
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.RedirectUrl = null;
/**
* Return code configured on the custom block page
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.ResponseCode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleName = 'RuleName' in params ? params.RuleName : null;
this.Action = 'Action' in params ? params.Action : null;
this.RuleStatus = 'RuleStatus' in params ? params.RuleStatus : null;
if (params.Conditions) {
this.Conditions = new Array();
for (let z in params.Conditions) {
let obj = new ACLCondition();
obj.deserialize(params.Conditions[z]);
this.Conditions.push(obj);
}
}
this.RulePriority = 'RulePriority' in params ? params.RulePriority : null;
this.RuleID = 'RuleID' in params ? params.RuleID : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.PunishTime = 'PunishTime' in params ? params.PunishTime : null;
this.PunishTimeUnit = 'PunishTimeUnit' in params ? params.PunishTimeUnit : null;
this.Name = 'Name' in params ? params.Name : null;
this.PageId = 'PageId' in params ? params.PageId : null;
this.RedirectUrl = 'RedirectUrl' in params ? params.RedirectUrl : null;
this.ResponseCode = 'ResponseCode' in params ? params.ResponseCode : null;
}
}
/**
* ModifyDefaultCertificate request structure.
* @class
*/
class ModifyDefaultCertificateRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* Certificate ID
* @type {string || null}
*/
this.CertId = null;
/**
* Certificate status
`deployed`: The certificate is deployed.
`disabled`: The certificate is disabled.
If the deployment fails, you can pass in `Status = deployed` again.
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.CertId = 'CertId' in params ? params.CertId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DescribeWebManagedRulesTopData response structure.
* @class
*/
class DescribeWebManagedRulesTopDataResponse extends AbstractModel {
constructor(){
super();
/**
* Top N data
* @type {Array.<TopNEntry> || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 TopNEntry();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeOriginGroup response structure.
* @class
*/
class DescribeOriginGroupResponse extends AbstractModel {
constructor(){
super();
/**
* Origin group information
* @type {Array.<OriginGroup> || null}
*/
this.Data = null;
/**
* Total number of records
* @type {number || null}
*/
this.TotalCount = null;
/**
* The unique request ID, which is returned for each request. 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 OriginGroup();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeWebManagedRulesAttackEvents response structure.
* @class
*/
class DescribeWebManagedRulesAttackEventsResponse extends AbstractModel {
constructor(){
super();
/**
* Web attack event data
* @type {WebEventData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned data
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 WebEventData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeTopL7CacheData request structure.
* @class
*/
class DescribeTopL7CacheDataRequest extends AbstractModel {
constructor(){
super();
/**
* Start time of the query (client time in RFC 3339)
* @type {string || null}
*/
this.StartTime = null;
/**
* End time of the query (client time in RFC 3339)
* @type {string || null}
*/
this.EndTime = null;
/**
* Metric for time-series data query
* @type {string || null}
*/
this.MetricName = null;
/**
* Specifies the number of data records to return. If `0` is passed in, all data is returned.
* @type {number || null}
*/
this.Limit = null;
/**
* Time interval. Values: {min, 5min, hour, day, week}. This field is optional.
* @type {string || null}
*/
this.Interval = null;
/**
* Array of site IDs
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Filter condition
* @type {Array.<Filter> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricName = 'MetricName' in params ? params.MetricName : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* DeleteApplicationProxy response structure.
* @class
*/
class DeleteApplicationProxyResponse extends AbstractModel {
constructor(){
super();
/**
* Proxy ID
* @type {string || null}
*/
this.ProxyId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Domain name HTTPS acceleration configuration. This is disabled by default.
* @class
*/
class Https extends AbstractModel {
constructor(){
super();
/**
* HTTP2 configuration switch
`on`: Enable
`off`: Disable
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Http2 = null;
/**
* OCSP configuration switch
`on`: Enable
`off`: Disable
It is disabled by default.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.OcspStapling = null;
/**
* TLS version settings. Valid values: `TLSv1`, `TLSV1.1`, `TLSV1.2`, and `TLSv1.3`. Only consecutive versions can be enabled at the same time.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.TlsVersion = null;
/**
* HSTS Configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Hsts || null}
*/
this.Hsts = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Http2 = 'Http2' in params ? params.Http2 : null;
this.OcspStapling = 'OcspStapling' in params ? params.OcspStapling : null;
this.TlsVersion = 'TlsVersion' in params ? params.TlsVersion : null;
if (params.Hsts) {
let obj = new Hsts();
obj.deserialize(params.Hsts)
this.Hsts = obj;
}
}
}
/**
* Protected resource
* @class
*/
class SecurityEntity extends AbstractModel {
constructor(){
super();
/**
* User APPID
* @type {number || null}
*/
this.AppId = null;
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
/**
* Second-level domain name
* @type {string || null}
*/
this.Entity = null;
/**
* Type of protected resource. Values: `domain` and `application`.
* @type {string || null}
*/
this.EntityType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AppId = 'AppId' in params ? params.AppId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Entity = 'Entity' in params ? params.Entity : null;
this.EntityType = 'EntityType' in params ? params.EntityType : null;
}
}
/**
* The filter parameter to query origin groups
* @class
*/
class OriginFilter extends AbstractModel {
constructor(){
super();
/**
* Field to be filtered. Supported field: name
* @type {string || null}
*/
this.Name = null;
/**
* Value of the field
* @type {string || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* Block log in rate-limiting policy
* @class
*/
class BotLogData extends AbstractModel {
constructor(){
super();
/**
* Data set of bot attack logs
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<BotLog> || null}
*/
this.List = null;
/**
* Current page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Total number of pages
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new BotLog();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
}
}
/**
* DescribeZones request structure.
* @class
*/
class DescribeZonesRequest extends AbstractModel {
constructor(){
super();
/**
* Pagination parameter, which specifies the offset.
* @type {number || null}
*/
this.Offset = null;
/**
* Pagination parameter, which specifies the number of sites returned in each page.
* @type {number || null}
*/
this.Limit = null;
/**
* Query condition filter, which supports complex type.
* @type {Array.<ZoneFilter> || 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 ZoneFilter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* Rate limit template
* @class
*/
class RateLimitTemplate extends AbstractModel {
constructor(){
super();
/**
* Template name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Mode = null;
/**
* Template details
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {RateLimitTemplateDetail || null}
*/
this.Detail = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Mode = 'Mode' in params ? params.Mode : null;
if (params.Detail) {
let obj = new RateLimitTemplateDetail();
obj.deserialize(params.Detail)
this.Detail = obj;
}
}
}
/**
* DDoS mitigation configuration
* @class
*/
class ShieldArea extends AbstractModel {
constructor(){
super();
/**
* ID of the site (top-level domain name)
* @type {string || null}
*/
this.ZoneId = null;
/**
* Policy ID
* @type {number || null}
*/
this.PolicyId = null;
/**
* Type of protected resource. Values: `domain` and `application`.
* @type {string || null}
*/
this.Type = null;
/**
* Layer-4 proxy name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.EntityName = null;
/**
* Layer-7 domain name parameters
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<DDoSApplication> || null}
*/
this.Application = null;
/**
* Number of layer-4 TCP forwarding rules
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.TcpNum = null;
/**
* Number of layer-4 UDP forwarding rules
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.UdpNum = null;
/**
* Name of the protected resource
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Entity = null;
/**
* Whether the shared resource is used. Values: `true` (yes) and `false` (no). The proxy mode cannot be switched when the shared resource is used.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {boolean || null}
*/
this.Share = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.PolicyId = 'PolicyId' in params ? params.PolicyId : null;
this.Type = 'Type' in params ? params.Type : null;
this.EntityName = 'EntityName' in params ? params.EntityName : null;
if (params.Application) {
this.Application = new Array();
for (let z in params.Application) {
let obj = new DDoSApplication();
obj.deserialize(params.Application[z]);
this.Application.push(obj);
}
}
this.TcpNum = 'TcpNum' in params ? params.TcpNum : null;
this.UdpNum = 'UdpNum' in params ? params.UdpNum : null;
this.Entity = 'Entity' in params ? params.Entity : null;
this.Share = 'Share' in params ? params.Share : null;
}
}
/**
* DDoS mitigation configuration
* @class
*/
class DdosRule extends AbstractModel {
constructor(){
super();
/**
* DDoS mitigation level
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {DDoSStatusInfo || null}
*/
this.DdosStatusInfo = null;
/**
* DDoS regional blocking
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {DDoSGeoIp || null}
*/
this.DdosGeoIp = null;
/**
* DDoS blocklist/allowlist
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {DdosAllowBlock || null}
*/
this.DdosAllowBlock = null;
/**
* Protocol blocking and null session protection
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {DDoSAntiPly || null}
*/
this.DdosAntiPly = null;
/**
* DDoS feature filtering
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {DdosPacketFilter || null}
*/
this.DdosPacketFilter = null;
/**
* DDoS port filtering
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {DdosAcls || null}
*/
this.DdosAcl = null;
/**
* DDoS mitigation switch. `on`: Enable; `off`: Disable.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Switch = null;
/**
* Whether to enable UDP fragmentation. `on`: Enable; `off`: Disable.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.UdpShardOpen = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.DdosStatusInfo) {
let obj = new DDoSStatusInfo();
obj.deserialize(params.DdosStatusInfo)
this.DdosStatusInfo = obj;
}
if (params.DdosGeoIp) {
let obj = new DDoSGeoIp();
obj.deserialize(params.DdosGeoIp)
this.DdosGeoIp = obj;
}
if (params.DdosAllowBlock) {
let obj = new DdosAllowBlock();
obj.deserialize(params.DdosAllowBlock)
this.DdosAllowBlock = obj;
}
if (params.DdosAntiPly) {
let obj = new DDoSAntiPly();
obj.deserialize(params.DdosAntiPly)
this.DdosAntiPly = obj;
}
if (params.DdosPacketFilter) {
let obj = new DdosPacketFilter();
obj.deserialize(params.DdosPacketFilter)
this.DdosPacketFilter = obj;
}
if (params.DdosAcl) {
let obj = new DdosAcls();
obj.deserialize(params.DdosAcl)
this.DdosAcl = obj;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.UdpShardOpen = 'UdpShardOpen' in params ? params.UdpShardOpen : null;
}
}
/**
* ModifyLoadBalancingStatus response structure.
* @class
*/
class ModifyLoadBalancingStatusResponse extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribePrefetchTasks response structure.
* @class
*/
class DescribePrefetchTasksResponse extends AbstractModel {
constructor(){
super();
/**
* Total entries that match the specified query condition
* @type {number || null}
*/
this.TotalCount = null;
/**
* List of tasks returned
* @type {Array.<Task> || null}
*/
this.Tasks = null;
/**
* The unique request ID, which is returned for each request. 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.Tasks) {
this.Tasks = new Array();
for (let z in params.Tasks) {
let obj = new Task();
obj.deserialize(params.Tasks[z]);
this.Tasks.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDDosAttackEvent response structure.
* @class
*/
class DescribeDDosAttackEventResponse extends AbstractModel {
constructor(){
super();
/**
* DDoS attack event data
* @type {DDosAttackEventData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 DDosAttackEventData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteApplicationProxy request structure.
* @class
*/
class DeleteApplicationProxyRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Proxy ID
* @type {string || null}
*/
this.ProxyId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
}
}
/**
* CreateCustomErrorPage response structure.
* @class
*/
class CreateCustomErrorPageResponse extends AbstractModel {
constructor(){
super();
/**
* ID of the custom page
* @type {number || null}
*/
this.PageId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PageId = 'PageId' in params ? params.PageId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ReclaimZone response structure.
* @class
*/
class ReclaimZoneResponse extends AbstractModel {
constructor(){
super();
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeZoneSetting request structure.
* @class
*/
class DescribeZoneSettingRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* ModifyZoneStatus request structure.
* @class
*/
class ModifyZoneStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site status.
- `false`: Enable the site.
- `true`: Disable the site.
* @type {boolean || null}
*/
this.Paused = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Paused = 'Paused' in params ? params.Paused : null;
}
}
/**
* ModifyDnsRecord request structure.
* @class
*/
class ModifyDnsRecordRequest extends AbstractModel {
constructor(){
super();
/**
* Record ID
* @type {string || null}
*/
this.Id = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Record type
* @type {string || null}
*/
this.Type = null;
/**
* Record name
* @type {string || null}
*/
this.Name = null;
/**
* Record content
* @type {string || null}
*/
this.Content = null;
/**
*
* @type {number || null}
*/
this.Ttl = null;
/**
* Priority
* @type {number || null}
*/
this.Priority = null;
/**
* Proxy mode
* @type {string || null}
*/
this.Mode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Type = 'Type' in params ? params.Type : null;
this.Name = 'Name' in params ? params.Name : null;
this.Content = 'Content' in params ? params.Content : null;
this.Ttl = 'Ttl' in params ? params.Ttl : null;
this.Priority = 'Priority' in params ? params.Priority : null;
this.Mode = 'Mode' in params ? params.Mode : null;
}
}
/**
* DDoS port filtering configuration
* @class
*/
class DDoSAcl extends AbstractModel {
constructor(){
super();
/**
* Destination port used as the end port
* @type {number || null}
*/
this.DportEnd = null;
/**
* Destination port used as the start port
* @type {number || null}
*/
this.DportStart = null;
/**
* Source port used as the end port
* @type {number || null}
*/
this.SportEnd = null;
/**
* Source port used as the start port
* @type {number || null}
*/
this.SportStart = null;
/**
* Protocol. Values: `tcp`, `udp`, and `all`.
* @type {string || null}
*/
this.Protocol = null;
/**
* Action. Values: `drop` (Drop the request); `transmit` (Allow the request); `forward` (Continue to offer protection).
* @type {string || null}
*/
this.Action = null;
/**
* Whether it is a system configuration. Values: `0` (manual configuration); `1` (system configuration).
* @type {number || null}
*/
this.Default = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DportEnd = 'DportEnd' in params ? params.DportEnd : null;
this.DportStart = 'DportStart' in params ? params.DportStart : null;
this.SportEnd = 'SportEnd' in params ? params.SportEnd : null;
this.SportStart = 'SportStart' in params ? params.SportStart : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.Action = 'Action' in params ? params.Action : null;
this.Default = 'Default' in params ? params.Default : null;
}
}
/**
* ModifySecurityPolicy request structure.
* @class
*/
class ModifySecurityPolicyRequest extends AbstractModel {
constructor(){
super();
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
/**
* Subdomain name/layer-4 proxy
* @type {string || null}
*/
this.Entity = null;
/**
* Security configuration
* @type {SecurityConfig || null}
*/
this.Config = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Entity = 'Entity' in params ? params.Entity : null;
if (params.Config) {
let obj = new SecurityConfig();
obj.deserialize(params.Config)
this.Config = obj;
}
}
}
/**
* CreateApplicationProxyRules request structure.
* @class
*/
class CreateApplicationProxyRulesRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Proxy ID
* @type {string || null}
*/
this.ProxyId = null;
/**
* Rule list
* @type {Array.<ApplicationProxyRule> || null}
*/
this.Rule = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
if (params.Rule) {
this.Rule = new Array();
for (let z in params.Rule) {
let obj = new ApplicationProxyRule();
obj.deserialize(params.Rule[z]);
this.Rule.push(obj);
}
}
}
}
/**
* CLB information
* @class
*/
class LoadBalancing extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Subdomain name. You can use @ to represent the root domain.
* @type {string || null}
*/
this.Host = null;
/**
* Proxy mode. Valid values:
`dns_only`: Only DNS
`proxied`: Enable proxy
* @type {string || null}
*/
this.Type = null;
/**
* Indicates DNS TTL time when `Type=dns_only`
* @type {number || null}
*/
this.TTL = null;
/**
* ID of the origin group used
* @type {Array.<string> || null}
*/
this.OriginId = null;
/**
* Information of the origin server used
* @type {Array.<OriginGroup> || null}
*/
this.Origin = null;
/**
* Update time
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Status
* @type {string || null}
*/
this.Status = null;
/**
* Schedules domain names
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Cname = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Host = 'Host' in params ? params.Host : null;
this.Type = 'Type' in params ? params.Type : null;
this.TTL = 'TTL' in params ? params.TTL : null;
this.OriginId = 'OriginId' in params ? params.OriginId : null;
if (params.Origin) {
this.Origin = new Array();
for (let z in params.Origin) {
let obj = new OriginGroup();
obj.deserialize(params.Origin[z]);
this.Origin.push(obj);
}
}
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.Status = 'Status' in params ? params.Status : null;
this.Cname = 'Cname' in params ? params.Cname : null;
}
}
/**
* ModifyDnssec request structure.
* @class
*/
class ModifyDnssecRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* DNSSEC status
- `enabled`: Enabled
- `disabled`: Disabled
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* ModifyZoneSetting request structure.
* @class
*/
class ModifyZoneSettingRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the site to be modified
* @type {string || null}
*/
this.ZoneId = null;
/**
* Cache expiration time
* @type {CacheConfig || null}
*/
this.Cache = null;
/**
* Node cache key
* @type {CacheKey || null}
*/
this.CacheKey = null;
/**
* Browser cache configuration
* @type {MaxAge || null}
*/
this.MaxAge = null;
/**
* Offline cache
* @type {OfflineCache || null}
*/
this.OfflineCache = null;
/**
* QUIC access
* @type {Quic || null}
*/
this.Quic = null;
/**
* Maximum size of files transferred over POST request
* @type {PostMaxSize || null}
*/
this.PostMaxSize = null;
/**
* Smart compression configuration
* @type {Compression || null}
*/
this.Compression = null;
/**
* HTTP2 origin-pull configuration
* @type {UpstreamHttp2 || null}
*/
this.UpstreamHttp2 = null;
/**
* Force HTTPS redirect configuration
* @type {ForceRedirect || null}
*/
this.ForceRedirect = null;
/**
* HTTPS acceleration configuration
* @type {Https || null}
*/
this.Https = null;
/**
* Origin server configuration
* @type {Origin || null}
*/
this.Origin = null;
/**
* Smart acceleration configuration
* @type {SmartRouting || null}
*/
this.SmartRouting = null;
/**
* WebSocket configuration
* @type {WebSocket || null}
*/
this.WebSocket = null;
/**
* Origin-pull client IP header configuration
* @type {ClientIp || null}
*/
this.ClientIpHeader = null;
/**
* Cache prefresh configuration
* @type {CachePrefresh || null}
*/
this.CachePrefresh = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
if (params.Cache) {
let obj = new CacheConfig();
obj.deserialize(params.Cache)
this.Cache = obj;
}
if (params.CacheKey) {
let obj = new CacheKey();
obj.deserialize(params.CacheKey)
this.CacheKey = obj;
}
if (params.MaxAge) {
let obj = new MaxAge();
obj.deserialize(params.MaxAge)
this.MaxAge = obj;
}
if (params.OfflineCache) {
let obj = new OfflineCache();
obj.deserialize(params.OfflineCache)
this.OfflineCache = obj;
}
if (params.Quic) {
let obj = new Quic();
obj.deserialize(params.Quic)
this.Quic = obj;
}
if (params.PostMaxSize) {
let obj = new PostMaxSize();
obj.deserialize(params.PostMaxSize)
this.PostMaxSize = obj;
}
if (params.Compression) {
let obj = new Compression();
obj.deserialize(params.Compression)
this.Compression = obj;
}
if (params.UpstreamHttp2) {
let obj = new UpstreamHttp2();
obj.deserialize(params.UpstreamHttp2)
this.UpstreamHttp2 = obj;
}
if (params.ForceRedirect) {
let obj = new ForceRedirect();
obj.deserialize(params.ForceRedirect)
this.ForceRedirect = obj;
}
if (params.Https) {
let obj = new Https();
obj.deserialize(params.Https)
this.Https = obj;
}
if (params.Origin) {
let obj = new Origin();
obj.deserialize(params.Origin)
this.Origin = obj;
}
if (params.SmartRouting) {
let obj = new SmartRouting();
obj.deserialize(params.SmartRouting)
this.SmartRouting = obj;
}
if (params.WebSocket) {
let obj = new WebSocket();
obj.deserialize(params.WebSocket)
this.WebSocket = obj;
}
if (params.ClientIpHeader) {
let obj = new ClientIp();
obj.deserialize(params.ClientIpHeader)
this.ClientIpHeader = obj;
}
if (params.CachePrefresh) {
let obj = new CachePrefresh();
obj.deserialize(params.CachePrefresh)
this.CachePrefresh = obj;
}
}
}
/**
* DDoS feature filtering
* @class
*/
class DdosPacketFilter extends AbstractModel {
constructor(){
super();
/**
* Whether to remove all settings when empty strings are passed in. Default value: `off` (remove)
* @type {string || null}
*/
this.Switch = null;
/**
* Array of objects in feature filtering configuration
* @type {Array.<DDoSFeaturesFilter> || null}
*/
this.PacketFilter = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
if (params.PacketFilter) {
this.PacketFilter = new Array();
for (let z in params.PacketFilter) {
let obj = new DDoSFeaturesFilter();
obj.deserialize(params.PacketFilter[z]);
this.PacketFilter.push(obj);
}
}
}
}
/**
* CreateApplicationProxy response structure.
* @class
*/
class CreateApplicationProxyResponse extends AbstractModel {
constructor(){
super();
/**
* Layer-4 application proxy ID
* @type {string || null}
*/
this.ProxyId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ImportDnsRecords request structure.
* @class
*/
class ImportDnsRecordsRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* File content
* @type {string || null}
*/
this.File = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.File = 'File' in params ? params.File : null;
}
}
/**
* Do not cache the configuration
* @class
*/
class CacheConfigNoCache extends AbstractModel {
constructor(){
super();
/**
* Whether to cache the configuration
`on`: Do not cache
`off`: Cache
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* ModifyOriginGroup response structure.
* @class
*/
class ModifyOriginGroupResponse extends AbstractModel {
constructor(){
super();
/**
* Origin group ID
* @type {string || null}
*/
this.OriginId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeZoneDetails response structure.
* @class
*/
class DescribeZoneDetailsResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* List of name servers used
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.OriginalNameServers = null;
/**
* List of name servers assigned to users by Tencent Cloud
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.NameServers = null;
/**
* Site status
- `active`: The name server is switched.
- `pending`: The name server is not switched.
- `moved`: The name server is moved.
- `deactivated`: The name server is blocked.
* @type {string || null}
*/
this.Status = null;
/**
* Specifies how the site is connected to EdgeOne.
- `full`: The site is connected via name server.
- `partial`: The site is connected via CNAME.
* @type {string || null}
*/
this.Type = null;
/**
* Indicates whether the site is disabled
* @type {boolean || null}
*/
this.Paused = null;
/**
* Specifies whether to enable CNAME acceleration
- `enabled`: Enable
- `disabled`: Disable
* @type {string || null}
*/
this.CnameSpeedUp = null;
/**
* Ownership verification status of the site when it accesses via CNAME.
- `finished`: The site is verified.
- `pending`: The site is waiting for verification.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.CnameStatus = null;
/**
* Resource tag
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<Tag> || null}
*/
this.Tags = null;
/**
*
* @type {string || null}
*/
this.Area = null;
/**
* Billable resource
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<Resource> || null}
*/
this.Resources = null;
/**
* Site modification date
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* Site creation date
* @type {string || null}
*/
this.CreatedOn = null;
/**
* User-defined name server information
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {VanityNameServers || null}
*/
this.VanityNameServers = null;
/**
* User-defined name server IP information
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<VanityNameServersIps> || null}
*/
this.VanityNameServersIps = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.OriginalNameServers = 'OriginalNameServers' in params ? params.OriginalNameServers : null;
this.NameServers = 'NameServers' in params ? params.NameServers : null;
this.Status = 'Status' in params ? params.Status : null;
this.Type = 'Type' in params ? params.Type : null;
this.Paused = 'Paused' in params ? params.Paused : null;
this.CnameSpeedUp = 'CnameSpeedUp' in params ? params.CnameSpeedUp : null;
this.CnameStatus = 'CnameStatus' in params ? params.CnameStatus : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new Tag();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
this.Area = 'Area' in params ? params.Area : null;
if (params.Resources) {
this.Resources = new Array();
for (let z in params.Resources) {
let obj = new Resource();
obj.deserialize(params.Resources[z]);
this.Resources.push(obj);
}
}
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.CreatedOn = 'CreatedOn' in params ? params.CreatedOn : null;
if (params.VanityNameServers) {
let obj = new VanityNameServers();
obj.deserialize(params.VanityNameServers)
this.VanityNameServers = obj;
}
if (params.VanityNameServersIps) {
this.VanityNameServersIps = new Array();
for (let z in params.VanityNameServersIps) {
let obj = new VanityNameServersIps();
obj.deserialize(params.VanityNameServersIps[z]);
this.VanityNameServersIps.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Bot attack log
* @class
*/
class BotLog extends AbstractModel {
constructor(){
super();
/**
* Attack time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackTime = null;
/**
* Attack IP
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackIp = null;
/**
* Domain name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Domain = null;
/**
* Request URI
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RequestUri = null;
/**
* Attack type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackType = null;
/**
* Request method
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RequestMethod = null;
/**
* Attack content
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackContent = null;
/**
* Risk grade
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RiskLevel = null;
/**
* Rule number
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* IP country/region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SipCountryCode = null;
/**
* Event ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EventId = null;
/**
* Processing method
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.DisposalMethod = null;
/**
* http_log
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.HttpLog = null;
/**
* user agent
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Ua = null;
/**
* Detection method
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.DetectionMethod = null;
/**
* Confidence
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Confidence = null;
/**
* Maliciousness
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Maliciousness = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AttackTime = 'AttackTime' in params ? params.AttackTime : null;
this.AttackIp = 'AttackIp' in params ? params.AttackIp : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.RequestUri = 'RequestUri' in params ? params.RequestUri : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
this.RequestMethod = 'RequestMethod' in params ? params.RequestMethod : null;
this.AttackContent = 'AttackContent' in params ? params.AttackContent : null;
this.RiskLevel = 'RiskLevel' in params ? params.RiskLevel : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.SipCountryCode = 'SipCountryCode' in params ? params.SipCountryCode : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.DisposalMethod = 'DisposalMethod' in params ? params.DisposalMethod : null;
this.HttpLog = 'HttpLog' in params ? params.HttpLog : null;
this.Ua = 'Ua' in params ? params.Ua : null;
this.DetectionMethod = 'DetectionMethod' in params ? params.DetectionMethod : null;
this.Confidence = 'Confidence' in params ? params.Confidence : null;
this.Maliciousness = 'Maliciousness' in params ? params.Maliciousness : null;
}
}
/**
* Origin server configuration
* @class
*/
class Origin extends AbstractModel {
constructor(){
super();
/**
* Origin-pull protocol.
`http`: Switch HTTPS requests to HTTP
`follow`: Follow the protocol of the request.
`https`: Switch HTTP requests to HTTPS. This only supports port 443 on the origin server.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.OriginPullProtocol = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginPullProtocol = 'OriginPullProtocol' in params ? params.OriginPullProtocol : null;
}
}
/**
* ModifyZoneStatus response structure.
* @class
*/
class ModifyZoneStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* Site status.
- `false`: Enable the site.
- `true`: Disable the site.
* @type {boolean || null}
*/
this.Paused = null;
/**
* Update time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.Paused = 'Paused' in params ? params.Paused : null;
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeSecurityPolicyManagedRules request structure.
* @class
*/
class DescribeSecurityPolicyManagedRulesRequest extends AbstractModel {
constructor(){
super();
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
/**
* Subdomain name/layer-4 proxy
* @type {string || null}
*/
this.Entity = null;
/**
* Total number of pages
* @type {number || null}
*/
this.Page = null;
/**
* Number of rules per page
* @type {number || null}
*/
this.PerPage = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Entity = 'Entity' in params ? params.Entity : null;
this.Page = 'Page' in params ? params.Page : null;
this.PerPage = 'PerPage' in params ? params.PerPage : null;
}
}
/**
* DescribeSecurityPortraitRules request structure.
* @class
*/
class DescribeSecurityPortraitRulesRequest extends AbstractModel {
constructor(){
super();
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
/**
* Subdomain name/Application name
* @type {string || null}
*/
this.Entity = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Entity = 'Entity' in params ? params.Entity : null;
}
}
/**
* Sorting conditions for query results.
* @class
*/
class CertSort extends AbstractModel {
constructor(){
super();
/**
* Fields that can be sorted. Values:
`createTime`: Domain name creation time
`certExpireTime`: Certificate expiration time
`certDeployTime`: Certificate deployment time
* @type {string || null}
*/
this.Key = null;
/**
* Sorting order. Valid values: `asc` and `desc` (default).
* @type {string || null}
*/
this.Sequence = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Key = 'Key' in params ? params.Key : null;
this.Sequence = 'Sequence' in params ? params.Sequence : null;
}
}
/**
* ModifySecurityPolicy response structure.
* @class
*/
class ModifySecurityPolicyResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* ModifyDDoSPolicyHost request structure.
* @class
*/
class ModifyDDoSPolicyHostRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Second-level domain name
* @type {string || null}
*/
this.Host = null;
/**
* Whether to enable content acceleration. Values: `on` (enable content acceleration), and `off` (disable content acceleration). It can be used together with `SecurityType`.
* @type {string || null}
*/
this.AccelerateType = null;
/**
* Policy ID
* @type {number || null}
*/
this.PolicyId = null;
/**
* Whether to enable security protection. Values: `on` (enable security protection) and `off` (disable security protection). It can be used together with `AccelerateType`.
* @type {string || null}
*/
this.SecurityType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Host = 'Host' in params ? params.Host : null;
this.AccelerateType = 'AccelerateType' in params ? params.AccelerateType : null;
this.PolicyId = 'PolicyId' in params ? params.PolicyId : null;
this.SecurityType = 'SecurityType' in params ? params.SecurityType : null;
}
}
/**
* DescribeHostsSetting response structure.
* @class
*/
class DescribeHostsSettingResponse extends AbstractModel {
constructor(){
super();
/**
* List of domain names
* @type {Array.<DetailHost> || null}
*/
this.Hosts = null;
/**
* Number of domain names
* @type {number || null}
*/
this.TotalNumber = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Hosts) {
this.Hosts = new Array();
for (let z in params.Hosts) {
let obj = new DetailHost();
obj.deserialize(params.Hosts[z]);
this.Hosts.push(obj);
}
}
this.TotalNumber = 'TotalNumber' in params ? params.TotalNumber : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeSecurityPolicyRegions response structure.
* @class
*/
class DescribeSecurityPolicyRegionsResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of regions
* @type {number || null}
*/
this.Count = null;
/**
* Region information
* @type {Array.<GeoIp> || null}
*/
this.GeoIp = null;
/**
* The unique request ID, which is returned for each request. 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;
if (params.GeoIp) {
this.GeoIp = new Array();
for (let z in params.GeoIp) {
let obj = new GeoIp();
obj.deserialize(params.GeoIp[z]);
this.GeoIp.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyZone response structure.
* @class
*/
class ModifyZoneResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* Name server used by the site
* @type {Array.<string> || null}
*/
this.OriginalNameServers = null;
/**
* Site status.
- `pending`: The name server is not connected.
- `active`: The name server is connected.
- `moved`: The name server is moved.
* @type {string || null}
*/
this.Status = null;
/**
* Specifies how the site is connected to EdgeOne.
- `full`: Connect via the name server.
- `partial`: Connect via the CNAME.
* @type {string || null}
*/
this.Type = null;
/**
* List of name servers assigned by Tencent Cloud
* @type {Array.<string> || null}
*/
this.NameServers = null;
/**
* Creation time
* @type {string || null}
*/
this.CreatedOn = null;
/**
* Modification time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* CNAME access status.
- `finished`: Ownership of the site is verified.
- `pending`: Verifying the ownership of the site.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.CnameStatus = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.OriginalNameServers = 'OriginalNameServers' in params ? params.OriginalNameServers : null;
this.Status = 'Status' in params ? params.Status : null;
this.Type = 'Type' in params ? params.Type : null;
this.NameServers = 'NameServers' in params ? params.NameServers : null;
this.CreatedOn = 'CreatedOn' in params ? params.CreatedOn : null;
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.CnameStatus = 'CnameStatus' in params ? params.CnameStatus : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDDosAttackSourceEvent request structure.
* @class
*/
class DescribeDDosAttackSourceEventRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of items
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* Set of DDoS policy group IDs
* @type {Array.<number> || null}
*/
this.PolicyIds = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Protocol type. Valid values: {tcp,udp,all}
* @type {string || null}
*/
this.ProtocolType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.ProtocolType = 'ProtocolType' in params ? params.ProtocolType : null;
}
}
/**
* ModifyZone request structure.
* @class
*/
class ModifyZoneRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID, which is used to identify the site.
* @type {string || null}
*/
this.Id = null;
/**
* Specifies how the site is connected to EdgeOne.
- `full`: Connect via the name server.
- `partial`: Connect via the CNAME.
* @type {string || null}
*/
this.Type = null;
/**
* Custom site information
* @type {VanityNameServers || null}
*/
this.VanityNameServers = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Type = 'Type' in params ? params.Type : null;
if (params.VanityNameServers) {
let obj = new VanityNameServers();
obj.deserialize(params.VanityNameServers)
this.VanityNameServers = obj;
}
}
}
/**
* DeleteZone response structure.
* @class
*/
class DeleteZoneResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DDoS attack event data
* @class
*/
class DDosAttackEventData extends AbstractModel {
constructor(){
super();
/**
* Data set of attack events
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<DDosAttackEvent> || null}
*/
this.List = null;
/**
* Current page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Total number of pages
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new DDosAttackEvent();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
}
}
/**
* HSTS configuration
* @class
*/
class Hsts extends AbstractModel {
constructor(){
super();
/**
* Specifies whether to enable. Valid values: `on` and `off`.
* @type {string || null}
*/
this.Switch = null;
/**
* `MaxAge` value.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.MaxAge = null;
/**
* Specifies whether to include subdomain names. Valid values: `on` and `off`.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.IncludeSubDomains = null;
/**
* Specifies whether to preload. Valid values: `on` and `off`.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Preload = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.MaxAge = 'MaxAge' in params ? params.MaxAge : null;
this.IncludeSubDomains = 'IncludeSubDomains' in params ? params.IncludeSubDomains : null;
this.Preload = 'Preload' in params ? params.Preload : null;
}
}
/**
* CreatePurgeTask response structure.
* @class
*/
class CreatePurgeTaskResponse extends AbstractModel {
constructor(){
super();
/**
* Task ID
* @type {string || null}
*/
this.JobId = null;
/**
* List of failed tasks and reasons
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<FailReason> || null}
*/
this.FailedList = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.JobId = 'JobId' in params ? params.JobId : null;
if (params.FailedList) {
this.FailedList = new Array();
for (let z in params.FailedList) {
let obj = new FailReason();
obj.deserialize(params.FailedList[z]);
this.FailedList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteApplicationProxyRule response structure.
* @class
*/
class DeleteApplicationProxyRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Rule ID
* @type {string || null}
*/
this.RuleId = null;
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DDoS attack event object
* @class
*/
class DDosAttackSourceEvent extends AbstractModel {
constructor(){
super();
/**
* Attack source IP
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackSourceIp = null;
/**
* Country/Region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackRegion = null;
/**
* Accumulative attack traffic
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackFlow = null;
/**
* Accumulative number of attack packets
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackPacketNum = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AttackSourceIp = 'AttackSourceIp' in params ? params.AttackSourceIp : null;
this.AttackRegion = 'AttackRegion' in params ? params.AttackRegion : null;
this.AttackFlow = 'AttackFlow' in params ? params.AttackFlow : null;
this.AttackPacketNum = 'AttackPacketNum' in params ? params.AttackPacketNum : null;
}
}
/**
* Time series data of L7 data analysis
* @class
*/
class TimingDataRecord extends AbstractModel {
constructor(){
super();
/**
* Query dimension value
* @type {string || null}
*/
this.TypeKey = null;
/**
* Detailed time series data
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TimingTypeValue> || null}
*/
this.TypeValue = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TypeKey = 'TypeKey' in params ? params.TypeKey : null;
if (params.TypeValue) {
this.TypeValue = new Array();
for (let z in params.TypeValue) {
let obj = new TimingTypeValue();
obj.deserialize(params.TypeValue[z]);
this.TypeValue.push(obj);
}
}
}
}
/**
* DDoS port filtering
* @class
*/
class DdosAcls extends AbstractModel {
constructor(){
super();
/**
* Whether to remove all settings when empty strings are passed in. Default value: `off` (remove)
* @type {string || null}
*/
this.Switch = null;
/**
* DDoS port filtering parameters
* @type {Array.<DDoSAcl> || null}
*/
this.Acl = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
if (params.Acl) {
this.Acl = new Array();
for (let z in params.Acl) {
let obj = new DDoSAcl();
obj.deserialize(params.Acl[z]);
this.Acl.push(obj);
}
}
}
}
/**
* DeleteOriginGroup request structure.
* @class
*/
class DeleteOriginGroupRequest extends AbstractModel {
constructor(){
super();
/**
* Origin group ID
* @type {string || null}
*/
this.OriginId = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* Tag configuration
* @class
*/
class Tag extends AbstractModel {
constructor(){
super();
/**
* Tag key
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TagKey = null;
/**
* Tag value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TagValue = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TagKey = 'TagKey' in params ? params.TagKey : null;
this.TagValue = 'TagValue' in params ? params.TagValue : null;
}
}
/**
* ModifyHostsCertificate response structure.
* @class
*/
class ModifyHostsCertificateResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* CreateDnsRecord request structure.
* @class
*/
class CreateDnsRecordRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Record type
* @type {string || null}
*/
this.Type = null;
/**
* Record name
* @type {string || null}
*/
this.Name = null;
/**
* Record content
* @type {string || null}
*/
this.Content = null;
/**
* Proxy mode. Valid values: `dns_only`, `cdn_only`, and `secure_cdn`.
* @type {string || null}
*/
this.Mode = null;
/**
*
* @type {number || null}
*/
this.Ttl = null;
/**
* Priority
* @type {number || null}
*/
this.Priority = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Type = 'Type' in params ? params.Type : null;
this.Name = 'Name' in params ? params.Name : null;
this.Content = 'Content' in params ? params.Content : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Ttl = 'Ttl' in params ? params.Ttl : null;
this.Priority = 'Priority' in params ? params.Priority : null;
}
}
/**
* IP blocklist/allowlist rule details
* @class
*/
class IpTableRule extends AbstractModel {
constructor(){
super();
/**
* Action: `drop` (block), `trans` (allow), `monitor` (observe)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Action = null;
/**
* Matches by IP or region. Values: `ip` and `area`.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.MatchFrom = null;
/**
* Matching content
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.MatchContent = null;
/**
* Rule ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleID = null;
/**
* Update time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.UpdateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Action = 'Action' in params ? params.Action : null;
this.MatchFrom = 'MatchFrom' in params ? params.MatchFrom : null;
this.MatchContent = 'MatchContent' in params ? params.MatchContent : null;
this.RuleID = 'RuleID' in params ? params.RuleID : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
}
}
/**
* Layer-7 offline log details
* @class
*/
class L7OfflineLog extends AbstractModel {
constructor(){
super();
/**
* Start time of the log packaging
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.LogTime = null;
/**
* Subdomain name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Domain = null;
/**
* Log size, in bytes
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Size = null;
/**
* Download address
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Url = null;
/**
* Log package name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.LogPacketName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LogTime = 'LogTime' in params ? params.LogTime : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.Size = 'Size' in params ? params.Size : null;
this.Url = 'Url' in params ? params.Url : null;
this.LogPacketName = 'LogPacketName' in params ? params.LogPacketName : null;
}
}
/**
* ModifyHostsCertificate request structure.
* @class
*/
class ModifyHostsCertificateRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* Domain name that the certificate will be attached to
* @type {Array.<string> || null}
*/
this.Hosts = null;
/**
* Certificate information. Note that only `CertId` is required. If it is not specified, the default certificate will be used.
* @type {Array.<ServerCertInfo> || null}
*/
this.CertInfo = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Hosts = 'Hosts' in params ? params.Hosts : null;
if (params.CertInfo) {
this.CertInfo = new Array();
for (let z in params.CertInfo) {
let obj = new ServerCertInfo();
obj.deserialize(params.CertInfo[z]);
this.CertInfo.push(obj);
}
}
}
}
/**
* Application proxy rule
* @class
*/
class ApplicationProxyRule extends AbstractModel {
constructor(){
super();
/**
* Protocol. Valid values: `TCP` and `UDP`.
* @type {string || null}
*/
this.Proto = null;
/**
* Port. Valid values:
`80`: Port 80
`81-90`: Port range 81-90
* @type {Array.<string> || null}
*/
this.Port = null;
/**
* Origin server type. Valid values:
`custom`: Specified origins
`origins`: Origin group
* @type {string || null}
*/
this.OriginType = null;
/**
* Origin server information:
When `OriginType=custom`, it indicates one or more origin servers. Example:
OriginValue=["8.8.8.8:80","9.9.9.9:80"]
OriginValue=["test.com:80"]
When `OriginType=origins`, it indicates an origin group ID. Example:
OriginValue=["origin-xxx"]
* @type {Array.<string> || null}
*/
this.OriginValue = null;
/**
* Rule ID
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.RuleId = null;
/**
* Status:
`online`: Enable
`offline`: Disable
`progress`: Deploying
`stopping`: Disabling
`fail`: Deployment/Disabling failed
* @type {string || null}
*/
this.Status = null;
/**
* Passes the client IP. When `Proto=TCP`, valid values:
`TOA`: Pass the client IP via TOA
`PPV1`: Pass the client IP via Proxy Protocol V1
`PPV2`: Pass the client IP via Proxy Protocol V2
`OFF`: Do not pass the client IP.
When `Proto=UDP`, valid values:
`PPV2`: Pass the client IP via Proxy Protocol V2
`OFF`: Do not pass the client IP.
* @type {string || null}
*/
this.ForwardClientIp = null;
/**
* Specifies whether to enable session persistence
* @type {boolean || null}
*/
this.SessionPersist = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Proto = 'Proto' in params ? params.Proto : null;
this.Port = 'Port' in params ? params.Port : null;
this.OriginType = 'OriginType' in params ? params.OriginType : null;
this.OriginValue = 'OriginValue' in params ? params.OriginValue : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Status = 'Status' in params ? params.Status : null;
this.ForwardClientIp = 'ForwardClientIp' in params ? params.ForwardClientIp : null;
this.SessionPersist = 'SessionPersist' in params ? params.SessionPersist : null;
}
}
/**
* Smart acceleration configuration
* @class
*/
class SmartRouting extends AbstractModel {
constructor(){
super();
/**
* Whether to enable smart acceleration
`on`: Enable
`off`: Disable
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* DescribeDnsData response structure.
* @class
*/
class DescribeDnsDataResponse extends AbstractModel {
constructor(){
super();
/**
* DNS request data
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<DataItem> || null}
*/
this.Data = null;
/**
* Interval
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Interval = null;
/**
* The unique request ID, which is returned for each request. 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 DataItem();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Interval = 'Interval' in params ? params.Interval : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Site information
* @class
*/
class Zone extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* List of name servers used by the site
* @type {Array.<string> || null}
*/
this.OriginalNameServers = null;
/**
* List of name servers assigned by Tencent Cloud
* @type {Array.<string> || null}
*/
this.NameServers = null;
/**
* Site status
- `active`: The name server is switched.
- `pending`: The name server is not switched.
- `moved`: The name server is moved.
- `deactivated`: The name server is blocked.
* @type {string || null}
*/
this.Status = null;
/**
* How the site is connected to EdgeOne.
- `full`: The site is connected via name server.
- `partial`: The site is connected via CNAME.
* @type {string || null}
*/
this.Type = null;
/**
* Indicates whether the site is disabled
* @type {boolean || null}
*/
this.Paused = null;
/**
* Specifies whether to enable CNAME acceleration
- `enabled`: Enable
- `disabled`: Disable
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CnameSpeedUp = null;
/**
* Ownership verification status of the site when it is connected to EdgeOne via CNAME.
- `finished`: The site is verified.
- `pending`: Verifying the ownership of the site.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.CnameStatus = null;
/**
* Resource tag
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<Tag> || null}
*/
this.Tags = null;
/**
* Billable resource
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<Resource> || null}
*/
this.Resources = null;
/**
* Site creation date
* @type {string || null}
*/
this.CreatedOn = null;
/**
* Site modification date
* @type {string || null}
*/
this.ModifiedOn = null;
/**
*
* @type {string || null}
*/
this.Area = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.OriginalNameServers = 'OriginalNameServers' in params ? params.OriginalNameServers : null;
this.NameServers = 'NameServers' in params ? params.NameServers : null;
this.Status = 'Status' in params ? params.Status : null;
this.Type = 'Type' in params ? params.Type : null;
this.Paused = 'Paused' in params ? params.Paused : null;
this.CnameSpeedUp = 'CnameSpeedUp' in params ? params.CnameSpeedUp : null;
this.CnameStatus = 'CnameStatus' in params ? params.CnameStatus : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new Tag();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
if (params.Resources) {
this.Resources = new Array();
for (let z in params.Resources) {
let obj = new Resource();
obj.deserialize(params.Resources[z]);
this.Resources.push(obj);
}
}
this.CreatedOn = 'CreatedOn' in params ? params.CreatedOn : null;
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.Area = 'Area' in params ? params.Area : null;
}
}
/**
* Site query filter
* @class
*/
class ZoneFilter extends AbstractModel {
constructor(){
super();
/**
* Filters by the field name. Vaules:
- `name`: Site name.
- `status`: Site status.
- `tagKey`: Tag key.
- `tagValue`: Tag value.
* @type {string || null}
*/
this.Name = null;
/**
* Filters by the field value
* @type {Array.<string> || null}
*/
this.Values = null;
/**
* Specifies whether to enable fuzzy query. It’s only available when filter name is `name`. If it’s enabled, the length of `Values` must be 1.
* @type {boolean || null}
*/
this.Fuzzy = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Values = 'Values' in params ? params.Values : null;
this.Fuzzy = 'Fuzzy' in params ? params.Fuzzy : null;
}
}
/**
* DescribeSecurityPolicyManagedRulesId request structure.
* @class
*/
class DescribeSecurityPolicyManagedRulesIdRequest extends AbstractModel {
constructor(){
super();
/**
* List of rule IDs
* @type {Array.<number> || null}
*/
this.RuleId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
}
}
/**
* ModifyApplicationProxyStatus request structure.
* @class
*/
class ModifyApplicationProxyStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* ID of the proxy
* @type {string || null}
*/
this.ProxyId = null;
/**
* Status
`offline`: Disabled
`online`: Enabled
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* Cache time settings
* @class
*/
class CacheConfigCache extends AbstractModel {
constructor(){
super();
/**
* Cache configuration switch
`on`: Enable
`off`: Disable
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Switch = null;
/**
* Cache expiration time settings
Unit: second. The maximum value is 365 days.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.CacheTime = null;
/**
* Specifies whether to enable force cache
`on`: Enable
`off`: Disable
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.IgnoreCacheControl = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.CacheTime = 'CacheTime' in params ? params.CacheTime : null;
this.IgnoreCacheControl = 'IgnoreCacheControl' in params ? params.IgnoreCacheControl : null;
}
}
/**
* Query filter to search for certificates
* @class
*/
class CertFilter extends AbstractModel {
constructor(){
super();
/**
* Filters by the field name. Values:
- `host`: Domain name
- `certId`: Certificate ID
- `certAlias`: Certificate alias
- `certType: default`: Default certificate; `upload`: External certificate; `managed`: Tencent Cloud certificate.
* @type {string || null}
*/
this.Name = null;
/**
* Filters by the field value
* @type {Array.<string> || null}
*/
this.Values = null;
/**
* Specifies whether to enable fuzzy query, which only supports the `host` field.
If it is enabled, the length of `Value` must be 1.
* @type {boolean || null}
*/
this.Fuzzy = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Values = 'Values' in params ? params.Values : null;
this.Fuzzy = 'Fuzzy' in params ? params.Fuzzy : null;
}
}
/**
* DescribeIdentification request structure.
* @class
*/
class DescribeIdentificationRequest extends AbstractModel {
constructor(){
super();
/**
* Site name
* @type {string || null}
*/
this.Name = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
}
}
/**
* ModifyLoadBalancingStatus request structure.
* @class
*/
class ModifyLoadBalancingStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
/**
* Status.
`online`: Enabled
`offline`: Disabled
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DescribeDDosAttackTopData response structure.
* @class
*/
class DescribeDDosAttackTopDataResponse extends AbstractModel {
constructor(){
super();
/**
* Top N data
* @type {Array.<TopNEntry> || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 TopNEntry();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCnameStatus response structure.
* @class
*/
class DescribeCnameStatusResponse extends AbstractModel {
constructor(){
super();
/**
* List of CNAME statuses
* @type {Array.<CnameStatus> || null}
*/
this.Status = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Status) {
this.Status = new Array();
for (let z in params.Status) {
let obj = new CnameStatus();
obj.deserialize(params.Status[z]);
this.Status.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeLoadBalancing request structure.
* @class
*/
class DescribeLoadBalancingRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Pagination parameter
* @type {number || null}
*/
this.Offset = null;
/**
* Pagination parameter
* @type {number || null}
*/
this.Limit = null;
/**
* Ignore query string parameter
* @type {string || null}
*/
this.Host = null;
/**
* Specifies whether the `Host` parameter supports fuzzy match
* @type {boolean || null}
*/
this.Fuzzy = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Host = 'Host' in params ? params.Host : null;
this.Fuzzy = 'Fuzzy' in params ? params.Fuzzy : null;
}
}
/**
* CC block event
* @class
*/
class CCInterceptEvent extends AbstractModel {
constructor(){
super();
/**
* Client IP
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ClientIp = null;
/**
* Number of blocks per minute
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.InterceptNum = null;
/**
* Block time in rate-limiting policy per minute in seconds
* @type {number || null}
*/
this.InterceptTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ClientIp = 'ClientIp' in params ? params.ClientIp : null;
this.InterceptNum = 'InterceptNum' in params ? params.InterceptNum : null;
this.InterceptTime = 'InterceptTime' in params ? params.InterceptTime : null;
}
}
/**
* DDoS protection level
* @class
*/
class DDoSStatusInfo extends AbstractModel {
constructor(){
super();
/**
* This field is not supported. Value: `off`.
* @type {string || null}
*/
this.AiStatus = null;
/**
* User appid
* @type {string || null}
*/
this.Appid = null;
/**
* Protection level. Values: `low`, `middle`, and `high`.
* @type {string || null}
*/
this.PlyLevel = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AiStatus = 'AiStatus' in params ? params.AiStatus : null;
this.Appid = 'Appid' in params ? params.Appid : null;
this.PlyLevel = 'PlyLevel' in params ? params.PlyLevel : null;
}
}
/**
* ACL configuration
* @class
*/
class AclConfig extends AbstractModel {
constructor(){
super();
/**
* Switch
* @type {string || null}
*/
this.Switch = null;
/**
* ACL user rule
* @type {Array.<ACLUserRule> || null}
*/
this.UserRules = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
if (params.UserRules) {
this.UserRules = new Array();
for (let z in params.UserRules) {
let obj = new ACLUserRule();
obj.deserialize(params.UserRules[z]);
this.UserRules.push(obj);
}
}
}
}
/**
* ModifyZoneSetting response structure.
* @class
*/
class ModifyZoneSettingResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeZones response structure.
* @class
*/
class DescribeZonesResponse extends AbstractModel {
constructor(){
super();
/**
* Number of sites that match the specified conditions
* @type {number || null}
*/
this.TotalCount = null;
/**
* Details of sites
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<Zone> || null}
*/
this.Zones = null;
/**
* The unique request ID, which is returned for each request. 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.Zones) {
this.Zones = new Array();
for (let z in params.Zones) {
let obj = new Zone();
obj.deserialize(params.Zones[z]);
this.Zones.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ScanDnsRecords response structure.
* @class
*/
class ScanDnsRecordsResponse extends AbstractModel {
constructor(){
super();
/**
* Scan status
- `doing`: Scanning
- `done`: Scanned
* @type {string || null}
*/
this.Status = null;
/**
* Number of DNS records added after scanning
* @type {number || null}
*/
this.RecordsAdded = null;
/**
* The unique request ID, which is returned for each request. 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.RecordsAdded = 'RecordsAdded' in params ? params.RecordsAdded : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* WAF configuration
* @class
*/
class WafConfig extends AbstractModel {
constructor(){
super();
/**
* Switch
* @type {string || null}
*/
this.Switch = null;
/**
* Protection level: `loose`, `normal`, `strict`, `stricter`, `custom`
* @type {string || null}
*/
this.Level = null;
/**
* Mode: `block`, `observe`, `close`
* @type {string || null}
*/
this.Mode = null;
/**
* WAF rule allowlist/blocklist
* @type {WafRule || null}
*/
this.WafRules = null;
/**
* AI rule engine
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {AiRule || null}
*/
this.AiRule = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.Level = 'Level' in params ? params.Level : null;
this.Mode = 'Mode' in params ? params.Mode : null;
if (params.WafRules) {
let obj = new WafRule();
obj.deserialize(params.WafRules)
this.WafRules = obj;
}
if (params.AiRule) {
let obj = new AiRule();
obj.deserialize(params.AiRule)
this.AiRule = obj;
}
}
}
/**
* CreateDnsRecord response structure.
* @class
*/
class CreateDnsRecordResponse extends AbstractModel {
constructor(){
super();
/**
* Record ID
* @type {string || null}
*/
this.Id = null;
/**
* Record type
* @type {string || null}
*/
this.Type = null;
/**
* Record name
* @type {string || null}
*/
this.Name = null;
/**
* Record content
* @type {string || null}
*/
this.Content = null;
/**
*
* @type {number || null}
*/
this.Ttl = null;
/**
* Priority
* @type {number || null}
*/
this.Priority = null;
/**
* Proxy mode
* @type {string || null}
*/
this.Mode = null;
/**
* Resolution status. Valid values:
`active`: Activated
`pending`: Not activated
* @type {string || null}
*/
this.Status = null;
/**
* Whether the DNS record is locked
* @type {boolean || null}
*/
this.Locked = null;
/**
* Creation time
* @type {string || null}
*/
this.CreatedOn = null;
/**
* Modification time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Site name
* @type {string || null}
*/
this.ZoneName = null;
/**
* CNAME address
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Cname = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Type = 'Type' in params ? params.Type : null;
this.Name = 'Name' in params ? params.Name : null;
this.Content = 'Content' in params ? params.Content : null;
this.Ttl = 'Ttl' in params ? params.Ttl : null;
this.Priority = 'Priority' in params ? params.Priority : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Status = 'Status' in params ? params.Status : null;
this.Locked = 'Locked' in params ? params.Locked : null;
this.CreatedOn = 'CreatedOn' in params ? params.CreatedOn : null;
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.Cname = 'Cname' in params ? params.Cname : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Block log in rate-limiting policy
* @class
*/
class CCLog extends AbstractModel {
constructor(){
super();
/**
* Attack time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackTime = null;
/**
* Attack source IP
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackSip = null;
/**
* Attack domain name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackDomain = null;
/**
* Request URI
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RequestUri = null;
/**
* Number of hits
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.HitCount = null;
/**
* IP country/region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SipCountryCode = null;
/**
* Event ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EventId = null;
/**
* Processing method
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.DisposalMethod = null;
/**
* http_log
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.HttpLog = null;
/**
* Rule number
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* Risk grade
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RiskLevel = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AttackTime = 'AttackTime' in params ? params.AttackTime : null;
this.AttackSip = 'AttackSip' in params ? params.AttackSip : null;
this.AttackDomain = 'AttackDomain' in params ? params.AttackDomain : null;
this.RequestUri = 'RequestUri' in params ? params.RequestUri : null;
this.HitCount = 'HitCount' in params ? params.HitCount : null;
this.SipCountryCode = 'SipCountryCode' in params ? params.SipCountryCode : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.DisposalMethod = 'DisposalMethod' in params ? params.DisposalMethod : null;
this.HttpLog = 'HttpLog' in params ? params.HttpLog : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.RiskLevel = 'RiskLevel' in params ? params.RiskLevel : null;
}
}
/**
* HTTPS server certificate configuration
* @class
*/
class ServerCertInfo extends AbstractModel {
constructor(){
super();
/**
* Server certificate ID, which is the ID of the default certificate. If you choose to upload an external certificate for SSL certificate management, a certificate ID will be generated.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.CertId = null;
/**
* Alias of the certificate
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Alias = null;
/**
* Certificate type.
`default`: Default certificate
`upload`: External certificate
`managed`: Tencent Cloud managed certificate
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Type = null;
/**
* Time when the certificate expires
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.ExpireTime = null;
/**
* Certificate deployment time
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.DeployTime = null;
/**
* Certificate deployment status.
`processing`: Deploying
`deployed`: Deployed
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.CertId = 'CertId' in params ? params.CertId : null;
this.Alias = 'Alias' in params ? params.Alias : null;
this.Type = 'Type' in params ? params.Type : null;
this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
this.DeployTime = 'DeployTime' in params ? params.DeployTime : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DDoS configuration
* @class
*/
class DDoSConfig extends AbstractModel {
constructor(){
super();
/**
* Switch
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* DescribeWebManagedRulesData response structure.
* @class
*/
class DescribeWebManagedRulesDataResponse extends AbstractModel {
constructor(){
super();
/**
* Web attack log entity
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<SecEntry> || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* Query time granularity. Valid values: {min,5min,hour,day}
* @type {string || null}
*/
this.Interval = null;
/**
* The unique request ID, which is returned for each request. 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 SecEntry();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeWebManagedRulesLog response structure.
* @class
*/
class DescribeWebManagedRulesLogResponse extends AbstractModel {
constructor(){
super();
/**
* Web attack log data
* @type {WebLogData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 WebLogData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Origin group record
* @class
*/
class OriginRecord extends AbstractModel {
constructor(){
super();
/**
* Record value
* @type {string || null}
*/
this.Record = null;
/**
* A specific region when `Type=area`.
The default region when `Type` is not specified.
* @type {Array.<string> || null}
*/
this.Area = null;
/**
* A specific weight when `Type=weight`.
The value range is [1-100].
The total weight of multiple origins in an origin group should be 100.
* @type {number || null}
*/
this.Weight = null;
/**
* Port
* @type {number || null}
*/
this.Port = null;
/**
* Record ID
* @type {string || null}
*/
this.RecordId = null;
/**
* Specifies whether to run private origin authentication.
It is valid only when `OriginType=third_part`.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {boolean || null}
*/
this.Private = null;
/**
* Private origin parameter.
It is valid only when `Private=true`.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<OriginRecordPrivateParameter> || null}
*/
this.PrivateParameter = null;
/**
*
* @type {string || null}
*/
this.Proto = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Record = 'Record' in params ? params.Record : null;
this.Area = 'Area' in params ? params.Area : null;
this.Weight = 'Weight' in params ? params.Weight : null;
this.Port = 'Port' in params ? params.Port : null;
this.RecordId = 'RecordId' in params ? params.RecordId : null;
this.Private = 'Private' in params ? params.Private : null;
if (params.PrivateParameter) {
this.PrivateParameter = new Array();
for (let z in params.PrivateParameter) {
let obj = new OriginRecordPrivateParameter();
obj.deserialize(params.PrivateParameter[z]);
this.PrivateParameter.push(obj);
}
}
this.Proto = 'Proto' in params ? params.Proto : null;
}
}
/**
* Web attack log
* @class
*/
class WebLogs extends AbstractModel {
constructor(){
super();
/**
* Attack content
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackContent = null;
/**
* Attack IP
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackIp = null;
/**
* Attack type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackType = null;
/**
* Domain name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Domain = null;
/**
* uuid
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Msuuid = null;
/**
* Request method
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RequestMethod = null;
/**
* Request URI
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RequestUri = null;
/**
* Risk grade
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RiskLevel = null;
/**
* Rule ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* IP country/region
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SipCountryCode = null;
/**
* Event ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EventId = null;
/**
* Processing method
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.DisposalMethod = null;
/**
* http_log
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.HttpLog = null;
/**
* user agent
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Ua = null;
/**
* Attack time. For consistency considerations, the original parameter `time` was renamed `AttackTime`.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AttackContent = 'AttackContent' in params ? params.AttackContent : null;
this.AttackIp = 'AttackIp' in params ? params.AttackIp : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.Msuuid = 'Msuuid' in params ? params.Msuuid : null;
this.RequestMethod = 'RequestMethod' in params ? params.RequestMethod : null;
this.RequestUri = 'RequestUri' in params ? params.RequestUri : null;
this.RiskLevel = 'RiskLevel' in params ? params.RiskLevel : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.SipCountryCode = 'SipCountryCode' in params ? params.SipCountryCode : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.DisposalMethod = 'DisposalMethod' in params ? params.DisposalMethod : null;
this.HttpLog = 'HttpLog' in params ? params.HttpLog : null;
this.Ua = 'Ua' in params ? params.Ua : null;
this.AttackTime = 'AttackTime' in params ? params.AttackTime : null;
}
}
/**
* The structure used to sort the top data
* @class
*/
class TopDetailData extends AbstractModel {
constructor(){
super();
/**
* Field name
* @type {string || null}
*/
this.Key = null;
/**
* Field 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;
}
}
/**
* CreatePrefetchTask request structure.
* @class
*/
class CreatePrefetchTaskRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* List of resources to be pre-warmed, for example:
http://www.example.com/example.txt
* @type {Array.<string> || null}
*/
this.Targets = null;
/**
* Specifies whether to encode the URL
Note that if it’s enabled, the purging is based on the converted URLs.
* @type {boolean || null}
*/
this.EncodeUrl = null;
/**
* HTTP header information
* @type {Array.<Header> || null}
*/
this.Headers = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Targets = 'Targets' in params ? params.Targets : null;
this.EncodeUrl = 'EncodeUrl' in params ? params.EncodeUrl : null;
if (params.Headers) {
this.Headers = new Array();
for (let z in params.Headers) {
let obj = new Header();
obj.deserialize(params.Headers[z]);
this.Headers.push(obj);
}
}
}
}
/**
* DeleteApplicationProxyRule request structure.
* @class
*/
class DeleteApplicationProxyRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Proxy ID
* @type {string || null}
*/
this.ProxyId = null;
/**
* Rule ID
* @type {string || null}
*/
this.RuleId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
}
}
/**
* Follows the origin server configuration
* @class
*/
class CacheConfigFollowOrigin extends AbstractModel {
constructor(){
super();
/**
* Specifies whether to follow the origin server configuration
`on`: Enable
`off`: Disable
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* Condition that makes up an access control rule
* @class
*/
class ACLCondition extends AbstractModel {
constructor(){
super();
/**
* Field to match
* @type {string || null}
*/
this.MatchFrom = null;
/**
* String to match
* @type {string || null}
*/
this.MatchParam = null;
/**
* Relation between the field and content
* @type {string || null}
*/
this.Operator = null;
/**
* Content to match
* @type {string || null}
*/
this.MatchContent = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.MatchFrom = 'MatchFrom' in params ? params.MatchFrom : null;
this.MatchParam = 'MatchParam' in params ? params.MatchParam : null;
this.Operator = 'Operator' in params ? params.Operator : null;
this.MatchContent = 'MatchContent' in params ? params.MatchContent : null;
}
}
/**
* DescribeTopL7AnalysisData request structure.
* @class
*/
class DescribeTopL7AnalysisDataRequest extends AbstractModel {
constructor(){
super();
/**
* Client time in RFC 3339 format
* @type {string || null}
*/
this.StartTime = null;
/**
* Client time in RFC 3339 format
* @type {string || null}
*/
this.EndTime = null;
/**
* Time series-type access traffic metric
* @type {string || null}
*/
this.MetricName = null;
/**
* Top N. 0 indicates to return the full data.
* @type {number || null}
*/
this.Limit = null;
/**
* Time interval. Valid values: {min, 5min, hour, day, week}
* @type {string || null}
*/
this.Interval = null;
/**
* Array of `ZoneId` values
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Filter
* @type {Array.<Filter> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricName = 'MetricName' in params ? params.MetricName : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* TopN entry
* @class
*/
class TopNEntry extends AbstractModel {
constructor(){
super();
/**
* Entry key
* @type {string || null}
*/
this.Key = null;
/**
* Top N data
* @type {Array.<TopNEntryValue> || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Key = 'Key' in params ? params.Key : null;
if (params.Value) {
this.Value = new Array();
for (let z in params.Value) {
let obj = new TopNEntryValue();
obj.deserialize(params.Value[z]);
this.Value.push(obj);
}
}
}
}
/**
* DescribeApplicationProxy response structure.
* @class
*/
class DescribeApplicationProxyResponse extends AbstractModel {
constructor(){
super();
/**
* List of data
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<ApplicationProxy> || null}
*/
this.Data = null;
/**
* Total number of records
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalCount = null;
/**
* Disused
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Quota = null;
/**
* When `PlatType` is `ip`, it indicates the number of proxies that schedule via Anycast IP.
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.IpCount = null;
/**
* When `PlatType` is `domain`, it indicates the number of proxies that schedule via CNAME.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.DomainCount = null;
/**
* The unique request ID, which is returned for each request. 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 ApplicationProxy();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
this.Quota = 'Quota' in params ? params.Quota : null;
this.IpCount = 'IpCount' in params ? params.IpCount : null;
this.DomainCount = 'DomainCount' in params ? params.DomainCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateLoadBalancing response structure.
* @class
*/
class CreateLoadBalancingResponse extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeTopL7CacheData response structure.
* @class
*/
class DescribeTopL7CacheDataResponse extends AbstractModel {
constructor(){
super();
/**
* Top-ranked data details
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TopDataRecord> || null}
*/
this.Data = null;
/**
* Dimension specified for data query
* @type {string || null}
*/
this.Type = null;
/**
* Metric specified for data query
* @type {string || null}
*/
this.MetricName = null;
/**
* The unique request ID, which is returned for each request. 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 TopDataRecord();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Type = 'Type' in params ? params.Type : null;
this.MetricName = 'MetricName' in params ? params.MetricName : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeOverviewL7Data request structure.
* @class
*/
class DescribeOverviewL7DataRequest extends AbstractModel {
constructor(){
super();
/**
* Client time in RFC 3339 format
* @type {string || null}
*/
this.StartTime = null;
/**
* Client time in RFC 3339 format
* @type {string || null}
*/
this.EndTime = null;
/**
* Supported metrics for data query:
`l7Flow_outFlux`: Access traffic
`l7Flow_request`: Access requests
`l7Flow_outBandwidth`: Access bandwidth
* @type {Array.<string> || null}
*/
this.MetricNames = null;
/**
* Time interval. Valid values: {min, 5min, hour, day, week}
* @type {string || null}
*/
this.Interval = null;
/**
* List of `ZoneId` values. This parameter takes effect only when querying in the zone/domain dimension.
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* List of `Domain` values. This parameter takes effect only when querying in the domain dimension.
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Protocol type. Valid values: {http,http2,https,all}
* @type {string || null}
*/
this.Protocol = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.Domains = 'Domains' in params ? params.Domains : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
}
}
/**
* Web security configuration switch
* @class
*/
class SwitchConfig extends AbstractModel {
constructor(){
super();
/**
* Switch that controls all web security configuration: basic web protection, custom rules, and rate limiting
* @type {string || null}
*/
this.WebSwitch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.WebSwitch = 'WebSwitch' in params ? params.WebSwitch : null;
}
}
/**
* IdentifyZone response structure.
* @class
*/
class IdentifyZoneResponse extends AbstractModel {
constructor(){
super();
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
*
* @type {string || null}
*/
this.Subdomain = null;
/**
* Record type
* @type {string || null}
*/
this.RecordType = null;
/**
* Record value
* @type {string || null}
*/
this.RecordValue = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Subdomain = 'Subdomain' in params ? params.Subdomain : null;
this.RecordType = 'RecordType' in params ? params.RecordType : null;
this.RecordValue = 'RecordValue' in params ? params.RecordValue : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* WebSocket configuration.
* @class
*/
class WebSocket extends AbstractModel {
constructor(){
super();
/**
* Whether to enable custom WebSocket timeout setting. When it’s `off`: it means to keep the default WebSocket connection timeout period, which is 15 seconds. To change the timeout period, please set it to `on`.
* @type {string || null}
*/
this.Switch = null;
/**
* Sets timeout period in seconds. Maximum value: 120
* @type {number || null}
*/
this.Timeout = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.Timeout = 'Timeout' in params ? params.Timeout : null;
}
}
/**
* Data items in a DNS request curve
* @class
*/
class DataItem extends AbstractModel {
constructor(){
super();
/**
* Time
* @type {string || null}
*/
this.Time = null;
/**
* Value
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Time = 'Time' in params ? params.Time : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* ModifyLoadBalancing request structure.
* @class
*/
class ModifyLoadBalancingRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
/**
* Proxy mode.
`dns_only`: Only DNS
`proxied`: Enable proxy
* @type {string || null}
*/
this.Type = null;
/**
* ID of the origin group used
* @type {Array.<string> || null}
*/
this.OriginId = null;
/**
* Indicates DNS TTL time when `Type=dns_only`
* @type {number || null}
*/
this.TTL = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
this.Type = 'Type' in params ? params.Type : null;
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.TTL = 'TTL' in params ? params.TTL : null;
}
}
/**
* CreateLoadBalancing request structure.
* @class
*/
class CreateLoadBalancingRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Subdomain name
* @type {string || null}
*/
this.Host = null;
/**
* Proxy mode. Valid values:
`dns_only`: Only DNS
`proxied`: Enable proxy
* @type {string || null}
*/
this.Type = null;
/**
* ID of the origin group used
* @type {Array.<string> || null}
*/
this.OriginId = null;
/**
* Indicates DNS TTL time when `Type=dns_only`
* @type {number || null}
*/
this.TTL = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Host = 'Host' in params ? params.Host : null;
this.Type = 'Type' in params ? params.Type : null;
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.TTL = 'TTL' in params ? params.TTL : null;
}
}
/**
* DescribeDnssec request structure.
* @class
*/
class DescribeDnssecRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
}
}
/**
* DescribeWebProtectionLog response structure.
* @class
*/
class DescribeWebProtectionLogResponse extends AbstractModel {
constructor(){
super();
/**
* Block data in rate-limiting policy
* @type {CCLogData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 CCLogData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CC block event data
* @class
*/
class CCInterceptEventData extends AbstractModel {
constructor(){
super();
/**
* Data set of attack events
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<CCInterceptEvent> || null}
*/
this.List = null;
/**
* Current page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Total number of pages
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new CCInterceptEvent();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
}
}
/**
* DescribeLoadBalancingDetail response structure.
* @class
*/
class DescribeLoadBalancingDetailResponse extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Subdomain name. You can use @ to represent the root domain.
* @type {string || null}
*/
this.Host = null;
/**
* Proxy mode. Valid values:
`dns_only`: Only DNS
`proxied`: Enable proxy
* @type {string || null}
*/
this.Type = null;
/**
* Indicates DNS TTL time when `Type=dns_only`
* @type {number || null}
*/
this.TTL = null;
/**
* ID of the origin group used
* @type {Array.<string> || null}
*/
this.OriginId = null;
/**
* Information of the origin server used
* @type {Array.<OriginGroup> || null}
*/
this.Origin = null;
/**
* Update time
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Status of the task
* @type {string || null}
*/
this.Status = null;
/**
* Schedules domain names
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Cname = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Host = 'Host' in params ? params.Host : null;
this.Type = 'Type' in params ? params.Type : null;
this.TTL = 'TTL' in params ? params.TTL : null;
this.OriginId = 'OriginId' in params ? params.OriginId : null;
if (params.Origin) {
this.Origin = new Array();
for (let z in params.Origin) {
let obj = new OriginGroup();
obj.deserialize(params.Origin[z]);
this.Origin.push(obj);
}
}
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.Status = 'Status' in params ? params.Status : null;
this.Cname = 'Cname' in params ? params.Cname : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Security configuration
* @class
*/
class SecurityConfig extends AbstractModel {
constructor(){
super();
/**
* WAF configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {WafConfig || null}
*/
this.WafConfig = null;
/**
* Rate limit configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {RateLimitConfig || null}
*/
this.RateLimitConfig = null;
/**
* DDoS mitigation configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {DDoSConfig || null}
*/
this.DdosConfig = null;
/**
* ACL configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {AclConfig || null}
*/
this.AclConfig = null;
/**
* Bot configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {BotConfig || null}
*/
this.BotConfig = null;
/**
* Switch that controls all web security configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {SwitchConfig || null}
*/
this.SwitchConfig = null;
/**
* IP blocklist/allowlist
Note: This field may return null, indicating that no valid values can be obtained.
* @type {IpTableConfig || null}
*/
this.IpTableConfig = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.WafConfig) {
let obj = new WafConfig();
obj.deserialize(params.WafConfig)
this.WafConfig = obj;
}
if (params.RateLimitConfig) {
let obj = new RateLimitConfig();
obj.deserialize(params.RateLimitConfig)
this.RateLimitConfig = obj;
}
if (params.DdosConfig) {
let obj = new DDoSConfig();
obj.deserialize(params.DdosConfig)
this.DdosConfig = obj;
}
if (params.AclConfig) {
let obj = new AclConfig();
obj.deserialize(params.AclConfig)
this.AclConfig = obj;
}
if (params.BotConfig) {
let obj = new BotConfig();
obj.deserialize(params.BotConfig)
this.BotConfig = obj;
}
if (params.SwitchConfig) {
let obj = new SwitchConfig();
obj.deserialize(params.SwitchConfig)
this.SwitchConfig = obj;
}
if (params.IpTableConfig) {
let obj = new IpTableConfig();
obj.deserialize(params.IpTableConfig)
this.IpTableConfig = obj;
}
}
}
/**
* Major attack object data
* @class
*/
class DDosMajorAttackEventData extends AbstractModel {
constructor(){
super();
/**
* `DDosMajorAttackEvent` DDoS attack event
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<DDosMajorAttackEvent> || null}
*/
this.List = null;
/**
* Current page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Total number of pages
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new DDosMajorAttackEvent();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
}
}
/**
* DescribeBotManagedRules response structure.
* @class
*/
class DescribeBotManagedRulesResponse extends AbstractModel {
constructor(){
super();
/**
* Number of bot managed rules returned
* @type {number || null}
*/
this.Count = null;
/**
* Bot managed rules
* @type {Array.<BotManagedRuleDetail> || null}
*/
this.Rules = null;
/**
* Total number of bot managed rules
* @type {number || null}
*/
this.Total = null;
/**
* The unique request ID, which is returned for each request. 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;
if (params.Rules) {
this.Rules = new Array();
for (let z in params.Rules) {
let obj = new BotManagedRuleDetail();
obj.deserialize(params.Rules[z]);
this.Rules.push(obj);
}
}
this.Total = 'Total' in params ? params.Total : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DNS record
* @class
*/
class DnsRecord extends AbstractModel {
constructor(){
super();
/**
* Record ID
* @type {string || null}
*/
this.Id = null;
/**
* Record type
* @type {string || null}
*/
this.Type = null;
/**
* Host record
* @type {string || null}
*/
this.Name = null;
/**
* Record value
* @type {string || null}
*/
this.Content = null;
/**
* Proxy mode
* @type {string || null}
*/
this.Mode = null;
/**
* TTL value
* @type {number || null}
*/
this.Ttl = null;
/**
* Priority
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Priority = null;
/**
* Creation time
* @type {string || null}
*/
this.CreatedOn = null;
/**
* Modification time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* Domain name lock
* @type {boolean || null}
*/
this.Locked = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Site name
* @type {string || null}
*/
this.ZoneName = null;
/**
* Resolution status
`active`: Activated
`pending`: Not activated
* @type {string || null}
*/
this.Status = null;
/**
* CNAME address
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Cname = null;
/**
* Which service is enabled for the domain name.
- `lb`: Load balancing
- `security`: Security acceleration
- `l4`: L4 proxy
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.DomainStatus = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Type = 'Type' in params ? params.Type : null;
this.Name = 'Name' in params ? params.Name : null;
this.Content = 'Content' in params ? params.Content : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Ttl = 'Ttl' in params ? params.Ttl : null;
this.Priority = 'Priority' in params ? params.Priority : null;
this.CreatedOn = 'CreatedOn' in params ? params.CreatedOn : null;
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.Locked = 'Locked' in params ? params.Locked : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.Status = 'Status' in params ? params.Status : null;
this.Cname = 'Cname' in params ? params.Cname : null;
this.DomainStatus = 'DomainStatus' in params ? params.DomainStatus : null;
}
}
/**
* Top data of layer-7 data analysis
* @class
*/
class TopDataRecord extends AbstractModel {
constructor(){
super();
/**
* Query dimension value
* @type {string || null}
*/
this.TypeKey = null;
/**
* Top data rankings
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TopDetailData> || null}
*/
this.DetailData = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TypeKey = 'TypeKey' in params ? params.TypeKey : null;
if (params.DetailData) {
this.DetailData = new Array();
for (let z in params.DetailData) {
let obj = new TopDetailData();
obj.deserialize(params.DetailData[z]);
this.DetailData.push(obj);
}
}
}
}
/**
* DDoS protection against protocol and connection attacks
* @class
*/
class DDoSAntiPly extends AbstractModel {
constructor(){
super();
/**
* Enables TCP protocol blocking. `on` (enable); `off` (disable).
* @type {string || null}
*/
this.DropTcp = null;
/**
* Enables UDP protocol blocking. `on` (enable); `off` (disable).
* @type {string || null}
*/
this.DropUdp = null;
/**
* Enables ICMP protocol blocking. `on` (enable); `off` (disable).
* @type {string || null}
*/
this.DropIcmp = null;
/**
* Enables blocking for other protocols. `on` (enable); `off` (disable).
* @type {string || null}
*/
this.DropOther = null;
/**
* Number of new connections the source port can establish. Value range: 0-4294967295.
* @type {number || null}
*/
this.SourceCreateLimit = null;
/**
* Number of concurrent connections the source port can establish. Value range: 0-4294967295.
* @type {number || null}
*/
this.SourceConnectLimit = null;
/**
* Number of new connections the destination port can establish. Value range: 0-4294967295.
* @type {number || null}
*/
this.DestinationCreateLimit = null;
/**
* Number of concurrent connections the destination port can establish. Value range: 0-4294967295.
* @type {number || null}
*/
this.DestinationConnectLimit = null;
/**
* Number of abnormal connections allowed. Value range: 0-4294967295.
* @type {number || null}
*/
this.AbnormalConnectNum = null;
/**
* Specifies the ratio of SYN exceptions to trigger alerts. Value range: 0-100
* @type {number || null}
*/
this.AbnormalSynRatio = null;
/**
* Specifies a max number of SYN packets that triggers alarms. Value range: 0-65535
* @type {number || null}
*/
this.AbnormalSynNum = null;
/**
* Connection timeout period. Value range: 0-65535.
* @type {number || null}
*/
this.ConnectTimeout = null;
/**
* Whether to enable null session protection. `0`: Disable; `1`: Enable.
* @type {string || null}
*/
this.EmptyConnectProtect = null;
/**
* Whether to enable UDP fragmentation. `off`: Disable; `on`: Enable.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.UdpShard = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DropTcp = 'DropTcp' in params ? params.DropTcp : null;
this.DropUdp = 'DropUdp' in params ? params.DropUdp : null;
this.DropIcmp = 'DropIcmp' in params ? params.DropIcmp : null;
this.DropOther = 'DropOther' in params ? params.DropOther : null;
this.SourceCreateLimit = 'SourceCreateLimit' in params ? params.SourceCreateLimit : null;
this.SourceConnectLimit = 'SourceConnectLimit' in params ? params.SourceConnectLimit : null;
this.DestinationCreateLimit = 'DestinationCreateLimit' in params ? params.DestinationCreateLimit : null;
this.DestinationConnectLimit = 'DestinationConnectLimit' in params ? params.DestinationConnectLimit : null;
this.AbnormalConnectNum = 'AbnormalConnectNum' in params ? params.AbnormalConnectNum : null;
this.AbnormalSynRatio = 'AbnormalSynRatio' in params ? params.AbnormalSynRatio : null;
this.AbnormalSynNum = 'AbnormalSynNum' in params ? params.AbnormalSynNum : null;
this.ConnectTimeout = 'ConnectTimeout' in params ? params.ConnectTimeout : null;
this.EmptyConnectProtect = 'EmptyConnectProtect' in params ? params.EmptyConnectProtect : null;
this.UdpShard = 'UdpShard' in params ? params.UdpShard : null;
}
}
/**
* DescribeWebManagedRulesData request structure.
* @class
*/
class DescribeWebManagedRulesDataRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* List of statistical metrics
* @type {Array.<string> || null}
*/
this.MetricNames = null;
/**
* List of site IDs
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* List of subdomain names
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Protocol type
* @type {string || null}
*/
this.ProtocolType = null;
/**
* "webshell" : WebShell detection prevention
"oa" : Common OA vulnerability prevention
"xss" : XSS attack prevention
"xxe" : XXE attack prevention
"webscan" : Scanner attack vulnerability prevention
"cms" : Common CMS vulnerability prevention
"upload" : Malicious file upload attack prevention
"sql" : SQL injection attack prevention
"cmd_inject": Command/Code injection attack prevention
"osc" : Open-source component vulnerability prevention
"file_read" : Arbitrary file read prevention
"ldap" : LDAP injection attack prevention
"other" : Other vulnerability prevention
"all":"All"
* @type {string || null}
*/
this.AttackType = null;
/**
* Query time granularity. Valid values: {min,5min,hour,day}
* @type {string || null}
*/
this.Interval = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.Domains = 'Domains' in params ? params.Domains : null;
this.ProtocolType = 'ProtocolType' in params ? params.ProtocolType : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
this.Interval = 'Interval' in params ? params.Interval : null;
}
}
/**
* DDoS attack source data
* @class
*/
class DDosAttackSourceEventData extends AbstractModel {
constructor(){
super();
/**
* DDoS attack source data set
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<DDosAttackSourceEvent> || null}
*/
this.List = null;
/**
* Current page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Total number of pages
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new DDosAttackSourceEvent();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
}
}
/**
* ModifyDDoSPolicy response structure.
* @class
*/
class ModifyDDoSPolicyResponse extends AbstractModel {
constructor(){
super();
/**
* ID of the policy group
* @type {number || null}
*/
this.PolicyId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PolicyId = 'PolicyId' in params ? params.PolicyId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDnsRecords request structure.
* @class
*/
class DescribeDnsRecordsRequest extends AbstractModel {
constructor(){
super();
/**
* Query filter
* @type {Array.<DnsRecordFilter> || null}
*/
this.Filters = null;
/**
* Sorts the order
* @type {string || null}
*/
this.Order = null;
/**
* Valid values: `asc`, and `desc`.
* @type {string || null}
*/
this.Direction = null;
/**
* Valid values: `all`, and `any`.
* @type {string || null}
*/
this.Match = null;
/**
* Limit on paginated queries. Default value: 100. Maximum value: 1000.
* @type {number || null}
*/
this.Limit = null;
/**
* Offset for paginated queries. Default value: 0
* @type {number || null}
*/
this.Offset = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new DnsRecordFilter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Order = 'Order' in params ? params.Order : null;
this.Direction = 'Direction' in params ? params.Direction : null;
this.Match = 'Match' in params ? params.Match : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* CreatePrefetchTask response structure.
* @class
*/
class CreatePrefetchTaskResponse extends AbstractModel {
constructor(){
super();
/**
* Task ID
* @type {string || null}
*/
this.JobId = null;
/**
* List of failed tasks
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<FailReason> || null}
*/
this.FailedList = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.JobId = 'JobId' in params ? params.JobId : null;
if (params.FailedList) {
this.FailedList = new Array();
for (let z in params.FailedList) {
let obj = new FailReason();
obj.deserialize(params.FailedList[z]);
this.FailedList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* WAF rule
* @class
*/
class WafRule extends AbstractModel {
constructor(){
super();
/**
* Blocklist
* @type {Array.<number> || null}
*/
this.BlockRuleIDs = null;
/**
* Whether the WAF rule is enabled or disabled
* @type {string || null}
*/
this.Switch = null;
/**
* Observe mode
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.ObserveRuleIDs = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BlockRuleIDs = 'BlockRuleIDs' in params ? params.BlockRuleIDs : null;
this.Switch = 'Switch' in params ? params.Switch : null;
this.ObserveRuleIDs = 'ObserveRuleIDs' in params ? params.ObserveRuleIDs : null;
}
}
/**
* DescribeDefaultCertificates request structure.
* @class
*/
class DescribeDefaultCertificatesRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* Region information
* @class
*/
class GeoIp extends AbstractModel {
constructor(){
super();
/**
* Region ID
* @type {number || null}
*/
this.RegionId = null;
/**
* Country name
* @type {string || null}
*/
this.Country = null;
/**
* Continent name
* @type {string || null}
*/
this.Continent = null;
/**
* Country name in English
* @type {string || null}
*/
this.CountryEn = null;
/**
* Continent name in English
* @type {string || null}
*/
this.ContinentEn = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RegionId = 'RegionId' in params ? params.RegionId : null;
this.Country = 'Country' in params ? params.Country : null;
this.Continent = 'Continent' in params ? params.Continent : null;
this.CountryEn = 'CountryEn' in params ? params.CountryEn : null;
this.ContinentEn = 'ContinentEn' in params ? params.ContinentEn : null;
}
}
/**
* DescribeSecurityPolicy request structure.
* @class
*/
class DescribeSecurityPolicyRequest extends AbstractModel {
constructor(){
super();
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
/**
* Second-level domain name
* @type {string || null}
*/
this.Entity = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Entity = 'Entity' in params ? params.Entity : null;
}
}
/**
* ModifyApplicationProxyRule response structure.
* @class
*/
class ModifyApplicationProxyRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Rule ID
* @type {string || null}
*/
this.RuleId = null;
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DDoS attack event object
* @class
*/
class DDosAttackEvent extends AbstractModel {
constructor(){
super();
/**
* DDoS policy group ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PolicyId = null;
/**
* Attack type (corresponding to interaction event name)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackType = null;
/**
* Attack status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackStatus = null;
/**
* Maximum attack bandwidth
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackMaxBandWidth = null;
/**
* Peak attack packet rate
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackPacketMaxRate = null;
/**
* Attack start time in seconds
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackStartTime = null;
/**
* Attack end time in seconds
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackEndTime = null;
/**
* Event ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EventId = null;
/**
* Site ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PolicyId = 'PolicyId' in params ? params.PolicyId : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
this.AttackStatus = 'AttackStatus' in params ? params.AttackStatus : null;
this.AttackMaxBandWidth = 'AttackMaxBandWidth' in params ? params.AttackMaxBandWidth : null;
this.AttackPacketMaxRate = 'AttackPacketMaxRate' in params ? params.AttackPacketMaxRate : null;
this.AttackStartTime = 'AttackStartTime' in params ? params.AttackStartTime : null;
this.AttackEndTime = 'AttackEndTime' in params ? params.AttackEndTime : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* Failure reason
* @class
*/
class FailReason extends AbstractModel {
constructor(){
super();
/**
* Failure reason
* @type {string || null}
*/
this.Reason = null;
/**
* List of resources failed to be processed.
* @type {Array.<string> || null}
*/
this.Targets = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Reason = 'Reason' in params ? params.Reason : null;
this.Targets = 'Targets' in params ? params.Targets : null;
}
}
/**
* CreateZone request structure.
* @class
*/
class CreateZoneRequest extends AbstractModel {
constructor(){
super();
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* Access mode. Valid values:
- `full` (default): Access via NS
- `partial`: Access via CNAME
* @type {string || null}
*/
this.Type = null;
/**
* Specifies whether to skip resolution record scanning
* @type {boolean || null}
*/
this.JumpStart = null;
/**
* Resource tag
* @type {Array.<Tag> || null}
*/
this.Tags = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Type = 'Type' in params ? params.Type : null;
this.JumpStart = 'JumpStart' in params ? params.JumpStart : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new Tag();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
}
}
/**
* Rate limit configuration
* @class
*/
class RateLimitConfig extends AbstractModel {
constructor(){
super();
/**
* Switch
* @type {string || null}
*/
this.Switch = null;
/**
* Rate limit rule
* @type {Array.<RateLimitUserRule> || null}
*/
this.UserRules = null;
/**
* Default template
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {RateLimitTemplate || null}
*/
this.Template = null;
/**
* Client filtering
Note: This field may return null, indicating that no valid values can be obtained.
* @type {RateLimitIntelligence || null}
*/
this.Intelligence = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
if (params.UserRules) {
this.UserRules = new Array();
for (let z in params.UserRules) {
let obj = new RateLimitUserRule();
obj.deserialize(params.UserRules[z]);
this.UserRules.push(obj);
}
}
if (params.Template) {
let obj = new RateLimitTemplate();
obj.deserialize(params.Template)
this.Template = obj;
}
if (params.Intelligence) {
let obj = new RateLimitIntelligence();
obj.deserialize(params.Intelligence)
this.Intelligence = obj;
}
}
}
/**
* DescribeTimingL7CacheData request structure.
* @class
*/
class DescribeTimingL7CacheDataRequest extends AbstractModel {
constructor(){
super();
/**
* Start time of the query (client time in RFC 3339)
* @type {string || null}
*/
this.StartTime = null;
/**
* Start time of the query (client time in RFC 3339)
* @type {string || null}
*/
this.EndTime = null;
/**
* Supported metrics for data query:
`l7Cache_outFlux`: Access traffic
`l7Cache_request`: Access requests
* @type {Array.<string> || null}
*/
this.MetricNames = null;
/**
* Time interval. Values: {min, 5min, hour, day, week}
* @type {string || null}
*/
this.Interval = null;
/**
* List of site IDs
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Filter condition:
{Key: "cacheType", Value: ["hit"], Operator: "equals"}: Filter by data responded from EdgeOne
{Key: "cacheType", Value: ["miss", "dynamic"], Operator: "equals"}: Filter by data responded from the origin server
* @type {Array.<Filter> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* DescribeSecurityPolicyList response structure.
* @class
*/
class DescribeSecurityPolicyListResponse extends AbstractModel {
constructor(){
super();
/**
* List of protected resources
* @type {Array.<SecurityEntity> || null}
*/
this.Entities = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Entities) {
this.Entities = new Array();
for (let z in params.Entities) {
let obj = new SecurityEntity();
obj.deserialize(params.Entities[z]);
this.Entities.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribePurgeTasks response structure.
* @class
*/
class DescribePurgeTasksResponse extends AbstractModel {
constructor(){
super();
/**
* Total entries that match the specified query condition
* @type {number || null}
*/
this.TotalCount = null;
/**
* List of tasks returned
* @type {Array.<Task> || null}
*/
this.Tasks = null;
/**
* The unique request ID, which is returned for each request. 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.Tasks) {
this.Tasks = new Array();
for (let z in params.Tasks) {
let obj = new Task();
obj.deserialize(params.Tasks[z]);
this.Tasks.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Private origin authentication parameter
* @class
*/
class OriginRecordPrivateParameter extends AbstractModel {
constructor(){
super();
/**
* Name of the private origin authentication parameter.
`AccessKeyId`: Access key ID
`SecretAccessKey`: Secret access key
* @type {string || null}
*/
this.Name = null;
/**
* Value of the private origin authentication parameter
* @type {string || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* CheckCertificate response structure.
* @class
*/
class CheckCertificateResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DDoS protection for the application layer (layer 7)
* @class
*/
class DDoSApplication extends AbstractModel {
constructor(){
super();
/**
* Second-level domain name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Host = null;
/**
* Status of the domain name
`init`: NS to be switched
`offline`: Site acceleration not enabled with DNS
`process`: Deployment in progress
`online`: Normal
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Status = null;
/**
* Site acceleration switch. `on`: Enable site acceleration; `off`: Disable site acceleration. This field can be used together with `SecurityType`.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.AccelerateType = null;
/**
* Security acceleration switch. `on`: Enable site acceleration; `off`: Disable site acceleration. This field can be used together with `AccelerateType`.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.SecurityType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Host = 'Host' in params ? params.Host : null;
this.Status = 'Status' in params ? params.Status : null;
this.AccelerateType = 'AccelerateType' in params ? params.AccelerateType : null;
this.SecurityType = 'SecurityType' in params ? params.SecurityType : null;
}
}
/**
* DownloadL7Logs request structure.
* @class
*/
class DownloadL7LogsRequest extends AbstractModel {
constructor(){
super();
/**
* Start time. It must conform to the RFC3339 standard.
* @type {string || null}
*/
this.StartTime = null;
/**
* End time. It must conform to the RFC3339 standard.
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of entries per page
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* Array of site names
* @type {Array.<string> || null}
*/
this.Zones = null;
/**
* Array of subdomain names
* @type {Array.<string> || null}
*/
this.Domains = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.Zones = 'Zones' in params ? params.Zones : null;
this.Domains = 'Domains' in params ? params.Domains : null;
}
}
/**
* DeleteLoadBalancing response structure.
* @class
*/
class DeleteLoadBalancingResponse extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeWebProtectionData request structure.
* @class
*/
class DescribeWebProtectionDataRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* List of statistical metrics
* @type {Array.<string> || null}
*/
this.MetricNames = null;
/**
* List of site IDs
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* List of subdomain names
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Protocol type
* @type {string || null}
*/
this.ProtocolType = null;
/**
* "webshell" : WebShell detection prevention
"oa" : Common OA vulnerability prevention
"xss" : XSS attack prevention
"xxe" : XXE attack prevention
"webscan" : Scanner attack vulnerability prevention
"cms" : Common CMS vulnerability prevention
"upload" : Malicious file upload attack prevention
"sql" : SQL injection attack prevention
"cmd_inject": Command/Code injection attack prevention
"osc" : Open-source component vulnerability prevention
"file_read" : Arbitrary file read prevention
"ldap" : LDAP injection attack prevention
"other" : Other vulnerability prevention
"all":"All"
* @type {string || null}
*/
this.AttackType = null;
/**
* Query time granularity. Valid values: {min,5min,hour,day}
* @type {string || null}
*/
this.Interval = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.Domains = 'Domains' in params ? params.Domains : null;
this.ProtocolType = 'ProtocolType' in params ? params.ProtocolType : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
this.Interval = 'Interval' in params ? params.Interval : null;
}
}
/**
* CheckCertificate request structure.
* @class
*/
class CheckCertificateRequest extends AbstractModel {
constructor(){
super();
/**
* Certificate
* @type {string || null}
*/
this.Certificate = null;
/**
* Private key
* @type {string || null}
*/
this.PrivateKey = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Certificate = 'Certificate' in params ? params.Certificate : null;
this.PrivateKey = 'PrivateKey' in params ? params.PrivateKey : null;
}
}
/**
* DescribeSecurityPortraitRules response structure.
* @class
*/
class DescribeSecurityPortraitRulesResponse extends AbstractModel {
constructor(){
super();
/**
* Number of rules returned in this request
* @type {number || null}
*/
this.Count = null;
/**
* Bot user profiling rule
* @type {Array.<PortraitManagedRuleDetail> || null}
*/
this.Rules = null;
/**
* Total number of rules
* @type {number || null}
*/
this.Total = null;
/**
* The unique request ID, which is returned for each request. 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;
if (params.Rules) {
this.Rules = new Array();
for (let z in params.Rules) {
let obj = new PortraitManagedRuleDetail();
obj.deserialize(params.Rules[z]);
this.Rules.push(obj);
}
}
this.Total = 'Total' in params ? params.Total : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateApplicationProxyRule request structure.
* @class
*/
class CreateApplicationProxyRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Proxy ID
* @type {string || null}
*/
this.ProxyId = null;
/**
* Protocol. Valid values: `TCP` and `UDP`.
* @type {string || null}
*/
this.Proto = null;
/**
* Port. Valid values:
`80`: Port 80
`81-90`: Port range 81-90
* @type {Array.<string> || null}
*/
this.Port = null;
/**
* Origin type. Valid values:
`custom`: Specified origins
`origins`: Origin group
* @type {string || null}
*/
this.OriginType = null;
/**
* Origin information:
When `OriginType=custom`, it can include one or more origins in either of the following formats:
IP:Port
Domain name:Port
When `OriginType=origins`, it is an origin group ID.
* @type {Array.<string> || null}
*/
this.OriginValue = null;
/**
* Passes the client IP. When `Proto=TCP`, valid values:
`TOA`: Pass the client IP via TOA
`PPV1`: Pass the client IP via Proxy Protocol V1
`PPV2`: Pass the client IP via Proxy Protocol V2
`OFF`: Do not pass the client IP.
When `Proto=UDP`, valid values:
`PPV2`: Pass the client IP via Proxy Protocol V2
`OFF`: Do not pass the client IP.
* @type {string || null}
*/
this.ForwardClientIp = null;
/**
* Specifies whether to enable session persistence
* @type {boolean || null}
*/
this.SessionPersist = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.Proto = 'Proto' in params ? params.Proto : null;
this.Port = 'Port' in params ? params.Port : null;
this.OriginType = 'OriginType' in params ? params.OriginType : null;
this.OriginValue = 'OriginValue' in params ? params.OriginValue : null;
this.ForwardClientIp = 'ForwardClientIp' in params ? params.ForwardClientIp : null;
this.SessionPersist = 'SessionPersist' in params ? params.SessionPersist : null;
}
}
/**
* Bot managed rule details
* @class
*/
class BotManagedRuleDetail extends AbstractModel {
constructor(){
super();
/**
* ID of the rule
* @type {number || null}
*/
this.RuleId = null;
/**
* Rule description
* @type {string || null}
*/
this.Description = null;
/**
* Rule type
* @type {string || null}
*/
this.RuleTypeName = null;
/**
* Whether the rule is enabled
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Description = 'Description' in params ? params.Description : null;
this.RuleTypeName = 'RuleTypeName' in params ? params.RuleTypeName : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* Force HTTPS redirect configuration
* @class
*/
class ForceRedirect extends AbstractModel {
constructor(){
super();
/**
* Force redirect configuration switch
`on`: Enable
`off`: Disable
* @type {string || null}
*/
this.Switch = null;
/**
* Redirection status code
301
302
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.RedirectStatusCode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.RedirectStatusCode = 'RedirectStatusCode' in params ? params.RedirectStatusCode : null;
}
}
/**
* ModifyApplicationProxy request structure.
* @class
*/
class ModifyApplicationProxyRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* ID of the proxy
* @type {string || null}
*/
this.ProxyId = null;
/**
* Name of the proxy:
Domain name or subdomain name when `ProxyType=hostname`
Instance name when `ProxyType=instance`
* @type {string || null}
*/
this.ProxyName = null;
/**
* This parameter is disused.
* @type {string || null}
*/
this.ForwardClientIp = null;
/**
* This parameter is disused.
* @type {boolean || null}
*/
this.SessionPersist = null;
/**
* Session persistence time. Value range: 30-3600 (in seconds).
* @type {number || null}
*/
this.SessionPersistTime = null;
/**
* Specifies how a layer-4 proxy is created.
`hostname`: Create by subdomain name
`instance`: Create by instance
* @type {string || null}
*/
this.ProxyType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.ProxyName = 'ProxyName' in params ? params.ProxyName : null;
this.ForwardClientIp = 'ForwardClientIp' in params ? params.ForwardClientIp : null;
this.SessionPersist = 'SessionPersist' in params ? params.SessionPersist : null;
this.SessionPersistTime = 'SessionPersistTime' in params ? params.SessionPersistTime : null;
this.ProxyType = 'ProxyType' in params ? params.ProxyType : null;
}
}
/**
* ModifyApplicationProxyStatus response structure.
* @class
*/
class ModifyApplicationProxyStatusResponse extends AbstractModel {
constructor(){
super();
/**
* ID of the proxy
* @type {string || null}
*/
this.ProxyId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* IdentifyZone request structure.
* @class
*/
class IdentifyZoneRequest extends AbstractModel {
constructor(){
super();
/**
* Site name
* @type {string || null}
*/
this.Name = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
}
}
/**
* Domain name configuration information
* @class
*/
class DetailHost extends AbstractModel {
constructor(){
super();
/**
* Tencent Cloud account ID
* @type {number || null}
*/
this.AppId = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Acceleration service status
`process`: Deploying
`online`: Enabled
`offline`: Disabled
* @type {string || null}
*/
this.Status = null;
/**
* Domain name
* @type {string || null}
*/
this.Host = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AppId = 'AppId' in params ? params.AppId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Status = 'Status' in params ? params.Status : null;
this.Host = 'Host' in params ? params.Host : null;
}
}
/**
* Rate limit rule
* @class
*/
class RateLimitUserRule extends AbstractModel {
constructor(){
super();
/**
* Rate threshold
* @type {number || null}
*/
this.Threshold = null;
/**
* Data collection time
* @type {number || null}
*/
this.Period = null;
/**
* Name of the rule
* @type {string || null}
*/
this.RuleName = null;
/**
* Action: `monitor` (Observe), `drop` (Block)
* @type {string || null}
*/
this.Action = null;
/**
* Time it takes to perform the action
* @type {number || null}
*/
this.PunishTime = null;
/**
* Time unit: second
* @type {string || null}
*/
this.PunishTimeUnit = null;
/**
* Status of the rule
* @type {string || null}
*/
this.RuleStatus = null;
/**
* Rule
* @type {Array.<ACLCondition> || null}
*/
this.Conditions = null;
/**
* Priority of the rule
* @type {number || null}
*/
this.RulePriority = null;
/**
* ID of the rule
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.RuleID = null;
/**
* Word filter
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.FreqFields = null;
/**
* Update time
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.UpdateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Threshold = 'Threshold' in params ? params.Threshold : null;
this.Period = 'Period' in params ? params.Period : null;
this.RuleName = 'RuleName' in params ? params.RuleName : null;
this.Action = 'Action' in params ? params.Action : null;
this.PunishTime = 'PunishTime' in params ? params.PunishTime : null;
this.PunishTimeUnit = 'PunishTimeUnit' in params ? params.PunishTimeUnit : null;
this.RuleStatus = 'RuleStatus' in params ? params.RuleStatus : null;
if (params.Conditions) {
this.Conditions = new Array();
for (let z in params.Conditions) {
let obj = new ACLCondition();
obj.deserialize(params.Conditions[z]);
this.Conditions.push(obj);
}
}
this.RulePriority = 'RulePriority' in params ? params.RulePriority : null;
this.RuleID = 'RuleID' in params ? params.RuleID : null;
this.FreqFields = 'FreqFields' in params ? params.FreqFields : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
}
}
/**
* DescribeDnsRecords response structure.
* @class
*/
class DescribeDnsRecordsResponse extends AbstractModel {
constructor(){
super();
/**
* Used for paginated query by total count
* @type {number || null}
*/
this.TotalCount = null;
/**
* List of DNS records
* @type {Array.<DnsRecord> || null}
*/
this.Records = null;
/**
* The unique request ID, which is returned for each request. 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.Records) {
this.Records = new Array();
for (let z in params.Records) {
let obj = new DnsRecord();
obj.deserialize(params.Records[z]);
this.Records.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDefaultCertificates response structure.
* @class
*/
class DescribeDefaultCertificatesResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of certificates
* @type {number || null}
*/
this.TotalCount = null;
/**
* List of default certificates
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<DefaultServerCertInfo> || null}
*/
this.CertInfo = null;
/**
* The unique request ID, which is returned for each request. 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.CertInfo) {
this.CertInfo = new Array();
for (let z in params.CertInfo) {
let obj = new DefaultServerCertInfo();
obj.deserialize(params.CertInfo[z]);
this.CertInfo.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Cache prefresh
* @class
*/
class CachePrefresh extends AbstractModel {
constructor(){
super();
/**
* Configuration switch
* @type {string || null}
*/
this.Switch = null;
/**
* Cache prefresh percentage. Values: 1-99
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Percent = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.Percent = 'Percent' in params ? params.Percent : null;
}
}
/**
* DescribeTimingL7AnalysisData response structure.
* @class
*/
class DescribeTimingL7AnalysisDataResponse extends AbstractModel {
constructor(){
super();
/**
* Detailed data
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TimingDataRecord> || null}
*/
this.Data = null;
/**
* Query dimension
* @type {string || null}
*/
this.Type = null;
/**
* Time interval
* @type {string || null}
*/
this.Interval = null;
/**
* The unique request ID, which is returned for each request. 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 TimingDataRecord();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Type = 'Type' in params ? params.Type : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* User profiling rule details
* @class
*/
class PortraitManagedRuleDetail extends AbstractModel {
constructor(){
super();
/**
* Unique rule ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RuleId = null;
/**
* Rule description
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Description = null;
/**
* Rule type name: botdb (user profile)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RuleTypeName = null;
/**
* Rule feature category ID (scanner, bot behavior, etc.)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ClassificationId = null;
/**
* Current rule action status (block, alg, etc.)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Description = 'Description' in params ? params.Description : null;
this.RuleTypeName = 'RuleTypeName' in params ? params.RuleTypeName : null;
this.ClassificationId = 'ClassificationId' in params ? params.ClassificationId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* Bot user portrait rules
* @class
*/
class BotPortraitRule extends AbstractModel {
constructor(){
super();
/**
* ID of the rule being applied
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.RuleID = null;
/**
* ID of the rule that is set to verify requests by JavaScript challenge
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.AlgManagedIds = null;
/**
* ID of the rule that is set to verify requests by CAPTCHA
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.CapManagedIds = null;
/**
* ID of the rule that is set to observe requests
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.MonManagedIds = null;
/**
* ID of the rule that is set to block requests
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.DropManagedIds = null;
/**
* Feature switch
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleID = 'RuleID' in params ? params.RuleID : null;
this.AlgManagedIds = 'AlgManagedIds' in params ? params.AlgManagedIds : null;
this.CapManagedIds = 'CapManagedIds' in params ? params.CapManagedIds : null;
this.MonManagedIds = 'MonManagedIds' in params ? params.MonManagedIds : null;
this.DropManagedIds = 'DropManagedIds' in params ? params.DropManagedIds : null;
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* DescribeWebProtectionAttackEvents request structure.
* @class
*/
class DescribeWebProtectionAttackEventsRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of items
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* Domain name
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.Domains = 'Domains' in params ? params.Domains : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
}
}
/**
* DescribeOverviewL7Data response structure.
* @class
*/
class DescribeOverviewL7DataResponse extends AbstractModel {
constructor(){
super();
/**
* Query dimension
* @type {string || null}
*/
this.Type = null;
/**
* Time interval
* @type {string || null}
*/
this.Interval = null;
/**
* Detailed data
* @type {Array.<TimingDataRecord> || null}
*/
this.Data = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Type = 'Type' in params ? params.Type : null;
this.Interval = 'Interval' in params ? params.Interval : null;
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new TimingDataRecord();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeHostsCertificate request structure.
* @class
*/
class DescribeHostsCertificateRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* Offset for paginated queries. Default value: 0
* @type {number || null}
*/
this.Offset = null;
/**
* Limit on paginated queries. Default value: 100. Maximum value: 1000.
* @type {number || null}
*/
this.Limit = null;
/**
* Query filter
* @type {Array.<CertFilter> || null}
*/
this.Filters = null;
/**
* Sorting order
* @type {CertSort || null}
*/
this.Sort = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : 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 CertFilter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
if (params.Sort) {
let obj = new CertSort();
obj.deserialize(params.Sort)
this.Sort = obj;
}
}
}
/**
* DescribeSecurityPolicyManagedRules response structure.
* @class
*/
class DescribeSecurityPolicyManagedRulesResponse extends AbstractModel {
constructor(){
super();
/**
* Number of rules returned
* @type {number || null}
*/
this.Count = null;
/**
* Managed rule
* @type {Array.<ManagedRule> || null}
*/
this.Rules = null;
/**
* Total number of rules
* @type {number || null}
*/
this.Total = null;
/**
* The unique request ID, which is returned for each request. 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;
if (params.Rules) {
this.Rules = new Array();
for (let z in params.Rules) {
let obj = new ManagedRule();
obj.deserialize(params.Rules[z]);
this.Rules.push(obj);
}
}
this.Total = 'Total' in params ? params.Total : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Origin group information
* @class
*/
class OriginGroup extends AbstractModel {
constructor(){
super();
/**
* Origin group ID
* @type {string || null}
*/
this.OriginId = null;
/**
* Origin group name
* @type {string || null}
*/
this.OriginName = null;
/**
* Origin-pull configuration type
`area`: Origin-pull by the client IP’s region specified by `Area` in `OriginRecord`.
`weight`: Origin-pull by the weight specified by `Weight` in `OriginRecord`.
* @type {string || null}
*/
this.Type = null;
/**
* Record
* @type {Array.<OriginRecord> || null}
*/
this.Record = null;
/**
* Update time
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Site name
* @type {string || null}
*/
this.ZoneName = null;
/**
* Origin server type
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.OriginType = null;
/**
* Whether the origin group uses layer-4 proxy.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.ApplicationProxyUsed = null;
/**
* Whether the origin group is used for load balancing.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.LoadBalancingUsed = null;
/**
* Origin status
Note: This field may return null, indicating that no valid values can be obtained.
* @type {OriginCheckOriginStatus || null}
*/
this.Status = null;
/**
* Proxy mode of the load balancing task associated with the origin group.
`none`: This origin group is not used for load balancing.
`dns_only`: Used for DNS-only load balancing
`proxied`: Used for proxied load balancing
`both`: It’s used for both DNS-only and proxied load balancing.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LoadBalancingUsedType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.OriginName = 'OriginName' in params ? params.OriginName : null;
this.Type = 'Type' in params ? params.Type : null;
if (params.Record) {
this.Record = new Array();
for (let z in params.Record) {
let obj = new OriginRecord();
obj.deserialize(params.Record[z]);
this.Record.push(obj);
}
}
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.OriginType = 'OriginType' in params ? params.OriginType : null;
this.ApplicationProxyUsed = 'ApplicationProxyUsed' in params ? params.ApplicationProxyUsed : null;
this.LoadBalancingUsed = 'LoadBalancingUsed' in params ? params.LoadBalancingUsed : null;
if (params.Status) {
let obj = new OriginCheckOriginStatus();
obj.deserialize(params.Status)
this.Status = obj;
}
this.LoadBalancingUsedType = 'LoadBalancingUsedType' in params ? params.LoadBalancingUsedType : null;
}
}
/**
* DescribeApplicationProxy request structure.
* @class
*/
class DescribeApplicationProxyRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Pagination parameter
* @type {number || null}
*/
this.Offset = null;
/**
* Pagination parameter
* @type {number || null}
*/
this.Limit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
}
}
/**
* Top N data entry
* @class
*/
class TopNEntryValue extends AbstractModel {
constructor(){
super();
/**
* Entry name
* @type {string || null}
*/
this.Name = null;
/**
* Quantity
* @type {number || null}
*/
this.Count = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Count = 'Count' in params ? params.Count : null;
}
}
/**
* ModifyDDoSPolicyHost response structure.
* @class
*/
class ModifyDDoSPolicyHostResponse extends AbstractModel {
constructor(){
super();
/**
* Subdomain name
* @type {string || null}
*/
this.Host = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Host = 'Host' in params ? params.Host : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyApplicationProxyRuleStatus request structure.
* @class
*/
class ModifyApplicationProxyRuleStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* ID of the proxy
* @type {string || null}
*/
this.ProxyId = null;
/**
* Rule ID
* @type {string || null}
*/
this.RuleId = null;
/**
* Status
`offline`: Disabled
`online`: Enabled
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* ModifyLoadBalancing response structure.
* @class
*/
class ModifyLoadBalancingResponse extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Web block event
* @class
*/
class WebAttackEvent extends AbstractModel {
constructor(){
super();
/**
* Client IP
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ClientIp = null;
/**
* Attack URL
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AttackUrl = null;
/**
* Attack time in seconds
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AttackTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ClientIp = 'ClientIp' in params ? params.ClientIp : null;
this.AttackUrl = 'AttackUrl' in params ? params.AttackUrl : null;
this.AttackTime = 'AttackTime' in params ? params.AttackTime : null;
}
}
/**
* DescribeDDosAttackTopData request structure.
* @class
*/
class DescribeDDosAttackTopDataRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Filter metric
* @type {string || null}
*/
this.MetricName = null;
/**
* Number of the top data entries to query. 0: queries all data entries.
* @type {number || null}
*/
this.Limit = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Set of DDoS policy group IDs
* @type {Array.<number> || null}
*/
this.PolicyIds = null;
/**
* Port number
* @type {number || null}
*/
this.Port = null;
/**
* Protocol type. Valid values: tcp, udp, all
* @type {string || null}
*/
this.ProtocolType = null;
/**
* Attack type. Valid values: flood, icmpFlood..., all
* @type {string || null}
*/
this.AttackType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricName = 'MetricName' in params ? params.MetricName : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
this.Port = 'Port' in params ? params.Port : null;
this.ProtocolType = 'ProtocolType' in params ? params.ProtocolType : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
}
}
/**
* CreateApplicationProxyRule response structure.
* @class
*/
class CreateApplicationProxyRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Rule ID
* @type {string || null}
*/
this.RuleId = null;
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DescribeDDosAttackData request structure.
* @class
*/
class DescribeDDosAttackDataRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* List of statistical metrics
* @type {Array.<string> || null}
*/
this.MetricNames = null;
/**
* List of site IDs
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* List of DDoS policy group IDs
* @type {Array.<number> || null}
*/
this.PolicyIds = null;
/**
* Port number
* @type {number || null}
*/
this.Port = null;
/**
* Protocol type. Valid values: tcp, udp, all
* @type {string || null}
*/
this.ProtocolType = null;
/**
* Attack type. Valid values: flood, icmpFlood..., all
* @type {string || null}
*/
this.AttackType = null;
/**
* Query time granularity. Valid values: {min,5min,hour,day}
* @type {string || null}
*/
this.Interval = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
this.Port = 'Port' in params ? params.Port : null;
this.ProtocolType = 'ProtocolType' in params ? params.ProtocolType : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
this.Interval = 'Interval' in params ? params.Interval : null;
}
}
/**
* ModifyDnsRecord response structure.
* @class
*/
class ModifyDnsRecordResponse extends AbstractModel {
constructor(){
super();
/**
* Record ID
* @type {string || null}
*/
this.Id = null;
/**
* Record type
* @type {string || null}
*/
this.Type = null;
/**
* Record name
* @type {string || null}
*/
this.Name = null;
/**
* Record content
* @type {string || null}
*/
this.Content = null;
/**
*
* @type {number || null}
*/
this.Ttl = null;
/**
* Priority
* @type {number || null}
*/
this.Priority = null;
/**
* Proxy mode
* @type {string || null}
*/
this.Mode = null;
/**
* Resolution status
* @type {string || null}
*/
this.Status = null;
/**
* CNAME address
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Cname = null;
/**
* Whether the DNS record is locked
* @type {boolean || null}
*/
this.Locked = null;
/**
* Creation time
* @type {string || null}
*/
this.CreatedOn = null;
/**
* Modification time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Site name
* @type {string || null}
*/
this.ZoneName = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Type = 'Type' in params ? params.Type : null;
this.Name = 'Name' in params ? params.Name : null;
this.Content = 'Content' in params ? params.Content : null;
this.Ttl = 'Ttl' in params ? params.Ttl : null;
this.Priority = 'Priority' in params ? params.Priority : null;
this.Mode = 'Mode' in params ? params.Mode : null;
this.Status = 'Status' in params ? params.Status : null;
this.Cname = 'Cname' in params ? params.Cname : null;
this.Locked = 'Locked' in params ? params.Locked : null;
this.CreatedOn = 'CreatedOn' in params ? params.CreatedOn : null;
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Rate limit template configuration
* @class
*/
class RateLimitTemplateDetail extends AbstractModel {
constructor(){
super();
/**
* Template name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Mode = null;
/**
* Unique ID
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.ID = null;
/**
* Action
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Action = null;
/**
* Time it takes to perform the action
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.PunishTime = null;
/**
* Request rate threshold
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Threshold = null;
/**
* Statistical period
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Period = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Mode = 'Mode' in params ? params.Mode : null;
this.ID = 'ID' in params ? params.ID : null;
this.Action = 'Action' in params ? params.Action : null;
this.PunishTime = 'PunishTime' in params ? params.PunishTime : null;
this.Threshold = 'Threshold' in params ? params.Threshold : null;
this.Period = 'Period' in params ? params.Period : null;
}
}
/**
* Data items of the statistical curve
* @class
*/
class TimingDataItem extends AbstractModel {
constructor(){
super();
/**
* Second-level timestamp
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Timestamp = null;
/**
* Value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Timestamp = 'Timestamp' in params ? params.Timestamp : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* CreateApplicationProxy request structure.
* @class
*/
class CreateApplicationProxyRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Site name
* @type {string || null}
*/
this.ZoneName = null;
/**
* Name of the proxy:
Domain name or subdomain name when `ProxyType=hostname`
Instance name when `ProxyType=instance`
* @type {string || null}
*/
this.ProxyName = null;
/**
* Scheduling mode. Values:
`ip`: Anycast IP
`domain`: CNAME
* @type {string || null}
*/
this.PlatType = null;
/**
* `0`: Disable security protection; `1`: Enable security protection.
* @type {number || null}
*/
this.SecurityType = null;
/**
* `0`: Disable acceleration; `1`: Enable acceleration.
* @type {number || null}
*/
this.AccelerateType = null;
/**
* This field is moved to `Rule.ForwardClientIp`.
* @type {string || null}
*/
this.ForwardClientIp = null;
/**
* This field is moved to `Rule.SessionPersist`.
* @type {boolean || null}
*/
this.SessionPersist = null;
/**
* Rule details
* @type {Array.<ApplicationProxyRule> || null}
*/
this.Rule = null;
/**
* Session persistence duration. Value range: 30-3600 (in seconds).
* @type {number || null}
*/
this.SessionPersistTime = null;
/**
* Specifies how a layer-4 proxy is created.
`hostname`: Create by subdomain name
`instance`: Create by instance
* @type {string || null}
*/
this.ProxyType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.ProxyName = 'ProxyName' in params ? params.ProxyName : null;
this.PlatType = 'PlatType' in params ? params.PlatType : null;
this.SecurityType = 'SecurityType' in params ? params.SecurityType : null;
this.AccelerateType = 'AccelerateType' in params ? params.AccelerateType : null;
this.ForwardClientIp = 'ForwardClientIp' in params ? params.ForwardClientIp : null;
this.SessionPersist = 'SessionPersist' in params ? params.SessionPersist : null;
if (params.Rule) {
this.Rule = new Array();
for (let z in params.Rule) {
let obj = new ApplicationProxyRule();
obj.deserialize(params.Rule[z]);
this.Rule.push(obj);
}
}
this.SessionPersistTime = 'SessionPersistTime' in params ? params.SessionPersistTime : null;
this.ProxyType = 'ProxyType' in params ? params.ProxyType : null;
}
}
/**
* DescribeTopL7AnalysisData response structure.
* @class
*/
class DescribeTopL7AnalysisDataResponse extends AbstractModel {
constructor(){
super();
/**
* Top detailed data
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TopDataRecord> || null}
*/
this.Data = null;
/**
* Query dimension
* @type {string || null}
*/
this.Type = null;
/**
* Query metric
* @type {string || null}
*/
this.MetricName = null;
/**
* The unique request ID, which is returned for each request. 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 TopDataRecord();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Type = 'Type' in params ? params.Type : null;
this.MetricName = 'MetricName' in params ? params.MetricName : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Bot intelligence rule items
* @class
*/
class IntelligenceRuleItem extends AbstractModel {
constructor(){
super();
/**
* Malicious bot, which is used to tag bad bots
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Label = null;
/**
* Action
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Action = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Label = 'Label' in params ? params.Label : null;
this.Action = 'Action' in params ? params.Action : null;
}
}
/**
* Bot intelligence rules
* @class
*/
class IntelligenceRule extends AbstractModel {
constructor(){
super();
/**
* Switch
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Switch = null;
/**
* Items in a bot intelligence rule
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<IntelligenceRuleItem> || null}
*/
this.Items = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
if (params.Items) {
this.Items = new Array();
for (let z in params.Items) {
let obj = new IntelligenceRuleItem();
obj.deserialize(params.Items[z]);
this.Items.push(obj);
}
}
}
}
/**
* Maximum size of the file uploaded for streaming via a POST request
* @class
*/
class PostMaxSize extends AbstractModel {
constructor(){
super();
/**
* Specifies whether to enable custom setting of the maximum file size.
`off`: Disable. In this case, the max size defaults to 32 MB.
`on`: Enable. You can set a custom max size.
* @type {string || null}
*/
this.Switch = null;
/**
* Maximum size. Value range: 1-500 MB.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.MaxSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.MaxSize = 'MaxSize' in params ? params.MaxSize : null;
}
}
/**
* Origin health status
* @class
*/
class OriginCheckOriginStatus extends AbstractModel {
constructor(){
super();
/**
* `healthy`: Healthy; `unhealthy`: Unhealthy; `process`: Checking origin.
* @type {string || null}
*/
this.Status = null;
/**
* List of unhealthy origin groups when `Status = unhealthy`
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.Host = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Status = 'Status' in params ? params.Status : null;
this.Host = 'Host' in params ? params.Host : null;
}
}
/**
* Managed rule
* @class
*/
class ManagedRule extends AbstractModel {
constructor(){
super();
/**
* ID of the rule
* @type {number || null}
*/
this.RuleId = null;
/**
* Rule description
* @type {string || null}
*/
this.Description = null;
/**
* Rule type
* @type {string || null}
*/
this.RuleTypeName = null;
/**
* Rule level
* @type {string || null}
*/
this.RuleLevelDesc = null;
/**
* Update time
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Rule status: `block`, `allow`
* @type {string || null}
*/
this.Status = null;
/**
* Tag of the rule
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.RuleTags = null;
/**
* Description of the rule type
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.RuleTypeDesc = null;
/**
* ID of the rule type
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.RuleTypeId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Description = 'Description' in params ? params.Description : null;
this.RuleTypeName = 'RuleTypeName' in params ? params.RuleTypeName : null;
this.RuleLevelDesc = 'RuleLevelDesc' in params ? params.RuleLevelDesc : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.Status = 'Status' in params ? params.Status : null;
this.RuleTags = 'RuleTags' in params ? params.RuleTags : null;
this.RuleTypeDesc = 'RuleTypeDesc' in params ? params.RuleTypeDesc : null;
this.RuleTypeId = 'RuleTypeId' in params ? params.RuleTypeId : null;
}
}
/**
* Filter
* @class
*/
class Filter extends AbstractModel {
constructor(){
super();
/**
* Filter dimension
* @type {string || null}
*/
this.Key = null;
/**
* Operator
* @type {string || null}
*/
this.Operator = null;
/**
* Filter dimension value
* @type {Array.<string> || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Key = 'Key' in params ? params.Key : null;
this.Operator = 'Operator' in params ? params.Operator : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* DescribeWebManagedRulesAttackEvents request structure.
* @class
*/
class DescribeWebManagedRulesAttackEventsRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of items
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* List of DDoS policy group IDs
* @type {Array.<number> || null}
*/
this.PolicyIds = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* List of subdomain names
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Whether to show details. Valid values: Y (yes), N (no).
* @type {string || null}
*/
this.IsShowDetail = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.Domains = 'Domains' in params ? params.Domains : null;
this.IsShowDetail = 'IsShowDetail' in params ? params.IsShowDetail : null;
}
}
/**
* DescribeCnameStatus request structure.
* @class
*/
class DescribeCnameStatusRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* List of domain names
* @type {Array.<string> || null}
*/
this.Names = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Names = 'Names' in params ? params.Names : null;
}
}
/**
* CreateCustomErrorPage request structure.
* @class
*/
class CreateCustomErrorPageRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* Subdomain name of the site
* @type {string || null}
*/
this.Entity = null;
/**
* Name of the file specified to be returned
* @type {string || null}
*/
this.Name = null;
/**
* Content of the custom page
* @type {string || null}
*/
this.Content = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Entity = 'Entity' in params ? params.Entity : null;
this.Name = 'Name' in params ? params.Name : null;
this.Content = 'Content' in params ? params.Content : null;
}
}
/**
* DescribeDnssec response structure.
* @class
*/
class DescribeDnssecResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* DNSSEC status. Valid values:
- `enabled`: Enabled
- `disabled`: Disabled
* @type {string || null}
*/
this.Status = null;
/**
*
* @type {DnssecInfo || null}
*/
this.Dnssec = null;
/**
* Modification time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.Status = 'Status' in params ? params.Status : null;
if (params.Dnssec) {
let obj = new DnssecInfo();
obj.deserialize(params.Dnssec)
this.Dnssec = obj;
}
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateZone response structure.
* @class
*/
class CreateZoneResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* Specifies how the site is connected to EdgeOne.
* @type {string || null}
*/
this.Type = null;
/**
* Site status
- `pending`: The name server is not switched.
- `active`: The name server is switched to another assigned.
- `moved`: Move the NS out of Tencent Cloud
* @type {string || null}
*/
this.Status = null;
/**
* List of name servers
* @type {Array.<string> || null}
*/
this.OriginalNameServers = null;
/**
* List of name servers assigned to users
* @type {Array.<string> || null}
*/
this.NameServers = null;
/**
* Site creation date
* @type {string || null}
*/
this.CreatedOn = null;
/**
* Site update time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.Type = 'Type' in params ? params.Type : null;
this.Status = 'Status' in params ? params.Status : null;
this.OriginalNameServers = 'OriginalNameServers' in params ? params.OriginalNameServers : null;
this.NameServers = 'NameServers' in params ? params.NameServers : null;
this.CreatedOn = 'CreatedOn' in params ? params.CreatedOn : null;
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Ignore query string parameters for DNS data
* @class
*/
class DnsDataFilter extends AbstractModel {
constructor(){
super();
/**
* Parameter name. Valid values:
`zone`: Site name
`host`: Domain name
`type`: DNS resolution type
`code`: DNS response code
`area`: Region of the resolution server
* @type {string || null}
*/
this.Name = null;
/**
* Parameter value
When `Name=area`, valid values:
`Asia`
`Europe`
`Africa`
`Oceania`
`Americas`
When `Name=code`, valid values:
`NoError`: Successful response.
`NXDomain`: Non-existent domain in the request. It is only valid when the response is from the authoritative name server.
`NotImp`: Request type not supported.
`Refused`: The name server refuses to perform the requested operation for policy reasons.
* @type {string || null}
*/
this.Value = null;
/**
* Parameter value
When `Name=area`, valid values:
`Asia`
`Europe`
`Africa`
`Oceania`
`Americas`
When `Name=code`, valid values:
`NoError`: Successful response.
`NXDomain`: Non-existent domain in the request. It is only valid when the response is from the authoritative name server.
`NotImp`: Request type not supported.
`Refused`: The name server refuses to perform the requested operation for policy reasons.
* @type {Array.<string> || null}
*/
this.Values = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Value = 'Value' in params ? params.Value : null;
this.Values = 'Values' in params ? params.Values : null;
}
}
/**
* DeleteLoadBalancing request structure.
* @class
*/
class DeleteLoadBalancingRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
}
}
/**
* DescribeTimingL7AnalysisData request structure.
* @class
*/
class DescribeTimingL7AnalysisDataRequest extends AbstractModel {
constructor(){
super();
/**
* Client time in RFC 3339 format
* @type {string || null}
*/
this.StartTime = null;
/**
* Client time in RFC 3339 format
* @type {string || null}
*/
this.EndTime = null;
/**
* Supported metrics for data query:
`l7Flow_outFlux`: Access traffic
`l7Flow_request`: Access requests
`l7Flow_outBandwidth`: Access bandwidth
* @type {Array.<string> || null}
*/
this.MetricNames = null;
/**
* Time interval. Valid values: {min, 5min, hour, day, week}
* @type {string || null}
*/
this.Interval = null;
/**
* Array of `ZoneId` values
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Filter
* @type {Array.<Filter> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* DescribeSecurityPolicyManagedRulesId response structure.
* @class
*/
class DescribeSecurityPolicyManagedRulesIdResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of returned items
* @type {number || null}
*/
this.Total = null;
/**
* Managed rule
* @type {Array.<ManagedRule> || null}
*/
this.Rules = null;
/**
* Total number of returned items
* @type {number || null}
*/
this.Count = null;
/**
* The unique request ID, which is returned for each request. 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.Rules) {
this.Rules = new Array();
for (let z in params.Rules) {
let obj = new ManagedRule();
obj.deserialize(params.Rules[z]);
this.Rules.push(obj);
}
}
this.Count = 'Count' in params ? params.Count : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Web event data
* @class
*/
class WebEventData extends AbstractModel {
constructor(){
super();
/**
* Data set of attack events
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<WebAttackEvent> || null}
*/
this.List = null;
/**
* Current page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Total number of pages
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new WebAttackEvent();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
}
}
/**
* Application proxy instance
* @class
*/
class ApplicationProxy extends AbstractModel {
constructor(){
super();
/**
* ID of the proxy
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.ProxyId = null;
/**
* Name of the proxy:
Domain name or subdomain name when `ProxyType=hostname`
Instance name when `ProxyType=instance`
* @type {string || null}
*/
this.ProxyName = null;
/**
* Scheduling mode:
`ip`: Anycast IP
`domain`: CNAME
* @type {string || null}
*/
this.PlatType = null;
/**
* `0`: Disable security protection; `1`: Enable security protection.
* @type {number || null}
*/
this.SecurityType = null;
/**
* `0`: Disable acceleration; `1`: Enable acceleration.
* @type {number || null}
*/
this.AccelerateType = null;
/**
* This field is moved to `Rule.ForwardClientIp`.
* @type {string || null}
*/
this.ForwardClientIp = null;
/**
* This field is moved to `Rule.SessionPersist`.
* @type {boolean || null}
*/
this.SessionPersist = null;
/**
* Rule list
* @type {Array.<ApplicationProxyRule> || null}
*/
this.Rule = null;
/**
* Status:
`online`: Enable
`offline`: Disable
`progress`: Deploying
`stopping`: Disabling
`fail`: Deployment/Disabling failed
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Status = null;
/**
* Scheduling information
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.ScheduleValue = null;
/**
* Update time
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Site ID
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.ZoneId = null;
/**
* Site name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.ZoneName = null;
/**
* Session persistence duration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.SessionPersistTime = null;
/**
* Specifies how a layer-4 proxy is created.
`hostname`: Create by subdomain name
`instance`: Create by instance
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ProxyType = null;
/**
* When `ProxyType=hostname`:
`ProxyName` indicates a specified domain name;
`HostId` indicates a unique ID of the domain name.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.HostId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.ProxyName = 'ProxyName' in params ? params.ProxyName : null;
this.PlatType = 'PlatType' in params ? params.PlatType : null;
this.SecurityType = 'SecurityType' in params ? params.SecurityType : null;
this.AccelerateType = 'AccelerateType' in params ? params.AccelerateType : null;
this.ForwardClientIp = 'ForwardClientIp' in params ? params.ForwardClientIp : null;
this.SessionPersist = 'SessionPersist' in params ? params.SessionPersist : null;
if (params.Rule) {
this.Rule = new Array();
for (let z in params.Rule) {
let obj = new ApplicationProxyRule();
obj.deserialize(params.Rule[z]);
this.Rule.push(obj);
}
}
this.Status = 'Status' in params ? params.Status : null;
this.ScheduleValue = 'ScheduleValue' in params ? params.ScheduleValue : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.SessionPersistTime = 'SessionPersistTime' in params ? params.SessionPersistTime : null;
this.ProxyType = 'ProxyType' in params ? params.ProxyType : null;
this.HostId = 'HostId' in params ? params.HostId : null;
}
}
/**
* ModifyApplicationProxy response structure.
* @class
*/
class ModifyApplicationProxyResponse extends AbstractModel {
constructor(){
super();
/**
* ID of the proxy
* @type {string || null}
*/
this.ProxyId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeDDoSPolicy response structure.
* @class
*/
class DescribeDDoSPolicyResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* Cache key configuration
* @class
*/
class CacheKey extends AbstractModel {
constructor(){
super();
/**
* Specifies whether to enable full-path cache
`on`: Enable full-path cache (i.e., disable Ignore Query String)
`off`: Disable full-path cache (i.e., enable Ignore Query String)
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.FullUrlCache = null;
/**
* Specifies whether the cache key is case sensitive
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.IgnoreCase = null;
/**
* Request parameter contained in `CacheKey`
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {QueryString || null}
*/
this.QueryString = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FullUrlCache = 'FullUrlCache' in params ? params.FullUrlCache : null;
this.IgnoreCase = 'IgnoreCase' in params ? params.IgnoreCase : null;
if (params.QueryString) {
let obj = new QueryString();
obj.deserialize(params.QueryString)
this.QueryString = obj;
}
}
}
/**
* ModifyOriginGroup request structure.
* @class
*/
class ModifyOriginGroupRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the origin group
* @type {string || null}
*/
this.OriginId = null;
/**
* Name of the origin group
* @type {string || null}
*/
this.OriginName = null;
/**
* Origin-pull configuration type. This field is required when `OriginType=self`.
`area`: Origin-pull by region
`weight`: Origin-pull by weight
When `OriginType=third_party/cos`, it can be left empty.
* @type {string || null}
*/
this.Type = null;
/**
* Origin record
* @type {Array.<OriginRecord> || null}
*/
this.Record = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Origin type
`self`: Customer origin
`third_party`: Third-party origin
`cos`: Tencent Cloud COS origin
* @type {string || null}
*/
this.OriginType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.OriginName = 'OriginName' in params ? params.OriginName : null;
this.Type = 'Type' in params ? params.Type : null;
if (params.Record) {
this.Record = new Array();
for (let z in params.Record) {
let obj = new OriginRecord();
obj.deserialize(params.Record[z]);
this.Record.push(obj);
}
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.OriginType = 'OriginType' in params ? params.OriginType : null;
}
}
/**
* ModifyApplicationProxyRuleStatus response structure.
* @class
*/
class ModifyApplicationProxyRuleStatusResponse extends AbstractModel {
constructor(){
super();
/**
* Rule ID
* @type {string || null}
*/
this.RuleId = null;
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DescribeSecurityPolicyList request structure.
* @class
*/
class DescribeSecurityPolicyListRequest extends AbstractModel {
constructor(){
super();
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* DescribeTimingL7CacheData response structure.
* @class
*/
class DescribeTimingL7CacheDataResponse extends AbstractModel {
constructor(){
super();
/**
* Details
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TimingDataRecord> || null}
*/
this.Data = null;
/**
* Metric specified for data query
* @type {string || null}
*/
this.Type = null;
/**
* Time interval
* @type {string || null}
*/
this.Interval = null;
/**
* The unique request ID, which is returned for each request. 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 TimingDataRecord();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Type = 'Type' in params ? params.Type : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeApplicationProxyDetail request structure.
* @class
*/
class DescribeApplicationProxyDetailRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Instance ID
* @type {string || null}
*/
this.ProxyId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
}
}
/**
* Client filtering
* @class
*/
class RateLimitIntelligence extends AbstractModel {
constructor(){
super();
/**
* Whether to enable this feature
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Switch = null;
/**
* Action. Values: `monitor` (observe), `alg` (JS/Managed challenge)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Action = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.Action = 'Action' in params ? params.Action : null;
}
}
/**
* IP/Region blocklist/allowlist configuration
* @class
*/
class IpTableConfig extends AbstractModel {
constructor(){
super();
/**
* Switch
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Switch = null;
/**
* []
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<IpTableRule> || null}
*/
this.Rules = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
if (params.Rules) {
this.Rules = new Array();
for (let z in params.Rules) {
let obj = new IpTableRule();
obj.deserialize(params.Rules[z]);
this.Rules.push(obj);
}
}
}
}
/**
* DeleteOriginGroup response structure.
* @class
*/
class DeleteOriginGroupResponse extends AbstractModel {
constructor(){
super();
/**
* Origin group ID
* @type {string || null}
*/
this.OriginId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* HTTP header, used as input for the CreatePrefetchTask API
* @class
*/
class Header extends AbstractModel {
constructor(){
super();
/**
* HTTP header name
* @type {string || null}
*/
this.Name = null;
/**
* HTTP header value
* @type {string || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* IP of the custom name server
* @class
*/
class VanityNameServersIps extends AbstractModel {
constructor(){
super();
/**
* Name of the custom name server
* @type {string || null}
*/
this.Name = null;
/**
* IPv4 address of the custom name server
* @type {string || null}
*/
this.IPv4 = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.IPv4 = 'IPv4' in params ? params.IPv4 : null;
}
}
/**
* DescribeDDosAttackSourceEvent response structure.
* @class
*/
class DescribeDDosAttackSourceEventResponse extends AbstractModel {
constructor(){
super();
/**
* DDoS attack source data
* @type {DDosAttackSourceEventData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 DDosAttackSourceEventData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeZoneDetails request structure.
* @class
*/
class DescribeZoneDetailsRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
}
}
/**
* DescribeDDoSPolicy request structure.
* @class
*/
class DescribeDDoSPolicyRequest extends AbstractModel {
constructor(){
super();
/**
* Policy group ID
* @type {number || null}
*/
this.PolicyId = null;
/**
* Top-level domain name (site)
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PolicyId = 'PolicyId' in params ? params.PolicyId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* Returned value of security data entry
* @class
*/
class SecEntry extends AbstractModel {
constructor(){
super();
/**
* Entry key
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Key = null;
/**
* Entry value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<SecEntryValue> || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Key = 'Key' in params ? params.Key : null;
if (params.Value) {
this.Value = new Array();
for (let z in params.Value) {
let obj = new SecEntryValue();
obj.deserialize(params.Value[z]);
this.Value.push(obj);
}
}
}
}
/**
* DescribeDDosMajorAttackEvent request structure.
* @class
*/
class DescribeDDosMajorAttackEventRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of items
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* Set of DDoS policy group IDs
* @type {Array.<number> || null}
*/
this.PolicyIds = null;
/**
* Protocol type. Valid values: {tcp,udp,all}
* @type {string || null}
*/
this.ProtocolType = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
this.ProtocolType = 'ProtocolType' in params ? params.ProtocolType : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
}
}
/**
* QUIC configuration item
* @class
*/
class Quic extends AbstractModel {
constructor(){
super();
/**
* Whether to enable QUIC
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* CreateOriginGroup response structure.
* @class
*/
class CreateOriginGroupResponse extends AbstractModel {
constructor(){
super();
/**
* ID of the newly added origin group
* @type {string || null}
*/
this.OriginId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeSecurityPolicy response structure.
* @class
*/
class DescribeSecurityPolicyResponse extends AbstractModel {
constructor(){
super();
/**
* User ID
* @type {number || null}
*/
this.AppId = null;
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
/**
* Second-level domain name
* @type {string || null}
*/
this.Entity = null;
/**
* Security configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {SecurityConfig || null}
*/
this.Config = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AppId = 'AppId' in params ? params.AppId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Entity = 'Entity' in params ? params.Entity : null;
if (params.Config) {
let obj = new SecurityConfig();
obj.deserialize(params.Config)
this.Config = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Request parameter contained in `CacheKey`
* @class
*/
class QueryString extends AbstractModel {
constructor(){
super();
/**
* Whether to use `QueryString` as part of `CacheKey`. Valid values: `on` and `off`.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Switch = null;
/**
* `includeCustom`: Include the specified query strings.
`excludeCustom`: Exclude the specified query strings.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Action = null;
/**
* Array of query strings used/excluded
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.Action = 'Action' in params ? params.Action : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* DescribeSecurityPolicyRegions request structure.
* @class
*/
class DescribeSecurityPolicyRegionsRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* Corresponding value of security data entry
* @class
*/
class SecEntryValue extends AbstractModel {
constructor(){
super();
/**
* Metric name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Metric = null;
/**
* Metric data details
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TimingDataItem> || null}
*/
this.Detail = null;
/**
* Maximum
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Max = null;
/**
* Average
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Avg = null;
/**
* Sum
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Sum = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Metric = 'Metric' in params ? params.Metric : null;
if (params.Detail) {
this.Detail = new Array();
for (let z in params.Detail) {
let obj = new TimingDataItem();
obj.deserialize(params.Detail[z]);
this.Detail.push(obj);
}
}
this.Max = 'Max' in params ? params.Max : null;
this.Avg = 'Avg' in params ? params.Avg : null;
this.Sum = 'Sum' in params ? params.Sum : null;
}
}
/**
* ReclaimZone request structure.
* @class
*/
class ReclaimZoneRequest extends AbstractModel {
constructor(){
super();
/**
* Site name
* @type {string || null}
*/
this.Name = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
}
}
/**
* DeleteZone request structure.
* @class
*/
class DeleteZoneRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
}
}
/**
* Bot managed rules
* @class
*/
class BotManagedRule extends AbstractModel {
constructor(){
super();
/**
* ID of the rule to be enabled
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.ManagedIds = null;
/**
* ID of the rule being applied
* @type {number || null}
*/
this.RuleID = null;
/**
* Action of the rule. Values: `drop`; `trans`; `monitor`; `alg`.
* @type {string || null}
*/
this.Action = null;
/**
* The amount of time the IP is blocked
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.PunishTime = null;
/**
* Unit of IP blocking time
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.PunishTimeUnit = null;
/**
* Name of the custom block page
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Name = null;
/**
* ID of the custom block page
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.PageId = null;
/**
* Redirection URL, which must be a subdomain name of your site encoded by URLEncode
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.RedirectUrl = null;
/**
* Response code returned after redirection
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.ResponseCode = null;
/**
* ID of the rule that is set to allow requests
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.TransManagedIds = null;
/**
* ID of the rule that is set to verify requests by JavaScript challenge
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.AlgManagedIds = null;
/**
* ID of the rule that is set to verify requests by CAPTCHA
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.CapManagedIds = null;
/**
* ID of the rule that is set to observe requests
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.MonManagedIds = null;
/**
* ID of the rule that is set to block requests
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.DropManagedIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ManagedIds = 'ManagedIds' in params ? params.ManagedIds : null;
this.RuleID = 'RuleID' in params ? params.RuleID : null;
this.Action = 'Action' in params ? params.Action : null;
this.PunishTime = 'PunishTime' in params ? params.PunishTime : null;
this.PunishTimeUnit = 'PunishTimeUnit' in params ? params.PunishTimeUnit : null;
this.Name = 'Name' in params ? params.Name : null;
this.PageId = 'PageId' in params ? params.PageId : null;
this.RedirectUrl = 'RedirectUrl' in params ? params.RedirectUrl : null;
this.ResponseCode = 'ResponseCode' in params ? params.ResponseCode : null;
this.TransManagedIds = 'TransManagedIds' in params ? params.TransManagedIds : null;
this.AlgManagedIds = 'AlgManagedIds' in params ? params.AlgManagedIds : null;
this.CapManagedIds = 'CapManagedIds' in params ? params.CapManagedIds : null;
this.MonManagedIds = 'MonManagedIds' in params ? params.MonManagedIds : null;
this.DropManagedIds = 'DropManagedIds' in params ? params.DropManagedIds : null;
}
}
/**
* ModifyDefaultCertificate response structure.
* @class
*/
class ModifyDefaultCertificateResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DescribeDDosAttackEvent request structure.
* @class
*/
class DescribeDDosAttackEventRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of items
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* Set of DDoS policy group IDs
* @type {Array.<number> || null}
*/
this.PolicyIds = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Protocol type. Valid values: {tcp,udp,all}
* @type {string || null}
*/
this.ProtocolType = null;
/**
* Whether to show details. Valid values: Y (yes), N (no).
* @type {string || null}
*/
this.IsShowDetail = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.ProtocolType = 'ProtocolType' in params ? params.ProtocolType : null;
this.IsShowDetail = 'IsShowDetail' in params ? params.IsShowDetail : null;
}
}
/**
* Client IP header
* @class
*/
class ClientIp extends AbstractModel {
constructor(){
super();
/**
* Specifies whether to enable client IP header
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Switch = null;
/**
* Name of the origin-pull client IP request header
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.HeaderName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.HeaderName = 'HeaderName' in params ? params.HeaderName : null;
}
}
/**
* Query filter to search for DNS records
* @class
*/
class DnsRecordFilter extends AbstractModel {
constructor(){
super();
/**
* Filters by the field name. Vaules:
- `name`: Site name.
- `status`: Site status.
* @type {string || null}
*/
this.Name = null;
/**
* Filters by the field value
* @type {Array.<string> || null}
*/
this.Values = null;
/**
* Specifies whether to enable fuzzy query. It’s only available when the filter name is `name`. If it’s enabled, the length of `Values` must be 1.
* @type {boolean || null}
*/
this.Fuzzy = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Values = 'Values' in params ? params.Values : null;
this.Fuzzy = 'Fuzzy' in params ? params.Fuzzy : null;
}
}
/**
* DescribeHostsCertificate response structure.
* @class
*/
class DescribeHostsCertificateResponse extends AbstractModel {
constructor(){
super();
/**
* Used for paginated query by total count
* @type {number || null}
*/
this.TotalCount = null;
/**
* List of certificate configurations for domain names
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<HostCertSetting> || null}
*/
this.Hosts = null;
/**
* The unique request ID, which is returned for each request. 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.Hosts) {
this.Hosts = new Array();
for (let z in params.Hosts) {
let obj = new HostCertSetting();
obj.deserialize(params.Hosts[z]);
this.Hosts.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeZoneSetting response structure.
* @class
*/
class DescribeZoneSettingResponse extends AbstractModel {
constructor(){
super();
/**
* Cache expiration time configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {CacheConfig || null}
*/
this.Cache = null;
/**
* Node cache key configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {CacheKey || null}
*/
this.CacheKey = null;
/**
* Browser cache configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {MaxAge || null}
*/
this.MaxAge = null;
/**
* Offline cache
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {OfflineCache || null}
*/
this.OfflineCache = null;
/**
* QUIC access
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Quic || null}
*/
this.Quic = null;
/**
* POST transport configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {PostMaxSize || null}
*/
this.PostMaxSize = null;
/**
* Smart compression configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Compression || null}
*/
this.Compression = null;
/**
* HTTP2 origin-pull configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {UpstreamHttp2 || null}
*/
this.UpstreamHttp2 = null;
/**
* Force HTTPS redirect configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {ForceRedirect || null}
*/
this.ForceRedirect = null;
/**
* HTTPS acceleration configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Https || null}
*/
this.Https = null;
/**
* Origin server configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Origin || null}
*/
this.Origin = null;
/**
* Dynamic acceleration configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {SmartRouting || null}
*/
this.SmartRouting = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Domain name of the site
* @type {string || null}
*/
this.Zone = null;
/**
* WebSocket configuration.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {WebSocket || null}
*/
this.WebSocket = null;
/**
* Origin-pull client IP header configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {ClientIp || null}
*/
this.ClientIpHeader = null;
/**
* Cache prefresh configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {CachePrefresh || null}
*/
this.CachePrefresh = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Cache) {
let obj = new CacheConfig();
obj.deserialize(params.Cache)
this.Cache = obj;
}
if (params.CacheKey) {
let obj = new CacheKey();
obj.deserialize(params.CacheKey)
this.CacheKey = obj;
}
if (params.MaxAge) {
let obj = new MaxAge();
obj.deserialize(params.MaxAge)
this.MaxAge = obj;
}
if (params.OfflineCache) {
let obj = new OfflineCache();
obj.deserialize(params.OfflineCache)
this.OfflineCache = obj;
}
if (params.Quic) {
let obj = new Quic();
obj.deserialize(params.Quic)
this.Quic = obj;
}
if (params.PostMaxSize) {
let obj = new PostMaxSize();
obj.deserialize(params.PostMaxSize)
this.PostMaxSize = obj;
}
if (params.Compression) {
let obj = new Compression();
obj.deserialize(params.Compression)
this.Compression = obj;
}
if (params.UpstreamHttp2) {
let obj = new UpstreamHttp2();
obj.deserialize(params.UpstreamHttp2)
this.UpstreamHttp2 = obj;
}
if (params.ForceRedirect) {
let obj = new ForceRedirect();
obj.deserialize(params.ForceRedirect)
this.ForceRedirect = obj;
}
if (params.Https) {
let obj = new Https();
obj.deserialize(params.Https)
this.Https = obj;
}
if (params.Origin) {
let obj = new Origin();
obj.deserialize(params.Origin)
this.Origin = obj;
}
if (params.SmartRouting) {
let obj = new SmartRouting();
obj.deserialize(params.SmartRouting)
this.SmartRouting = obj;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Zone = 'Zone' in params ? params.Zone : null;
if (params.WebSocket) {
let obj = new WebSocket();
obj.deserialize(params.WebSocket)
this.WebSocket = obj;
}
if (params.ClientIpHeader) {
let obj = new ClientIp();
obj.deserialize(params.ClientIpHeader)
this.ClientIpHeader = obj;
}
if (params.CachePrefresh) {
let obj = new CachePrefresh();
obj.deserialize(params.CachePrefresh)
this.CachePrefresh = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* AI rule engine
* @class
*/
class AiRule extends AbstractModel {
constructor(){
super();
/**
* `smart_status_close`: Disable; `smart_status_open`: Block;
`smart_status_observe`: Observe.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Mode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Mode = 'Mode' in params ? params.Mode : null;
}
}
/**
* Browser cache rule configuration.
* @class
*/
class MaxAge extends AbstractModel {
constructor(){
super();
/**
* Specifies the max age of the cache (in seconds). The maximum value is 365 days.
Note: the value `0` means not to cache.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.MaxAgeTime = null;
/**
* Specifies whether to follow the max cache age of the origin server. Valid values: `on` and `off`. If it's on, `MaxAgeTime` is ignored.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.FollowOrigin = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.MaxAgeTime = 'MaxAgeTime' in params ? params.MaxAgeTime : null;
this.FollowOrigin = 'FollowOrigin' in params ? params.FollowOrigin : null;
}
}
/**
* DescribePurgeTasks request structure.
* @class
*/
class DescribePurgeTasksRequest extends AbstractModel {
constructor(){
super();
/**
* Task ID
* @type {string || null}
*/
this.JobId = null;
/**
* Type of the purging task
* @type {string || null}
*/
this.Type = null;
/**
* Start time of the query
* @type {string || null}
*/
this.StartTime = null;
/**
* End time of the query
* @type {string || null}
*/
this.EndTime = null;
/**
* Offset of the query
* @type {number || null}
*/
this.Offset = null;
/**
* Maximum number of results returned
* @type {number || null}
*/
this.Limit = null;
/**
* Statuses of tasks to be queried. Values:
`processing`, `success`, `failed`, `timeout` and `invalid`
* @type {Array.<string> || null}
*/
this.Statuses = null;
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* List of domain names queried
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Queries content
* @type {string || null}
*/
this.Target = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.JobId = 'JobId' in params ? params.JobId : null;
this.Type = 'Type' in params ? params.Type : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Statuses = 'Statuses' in params ? params.Statuses : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Domains = 'Domains' in params ? params.Domains : null;
this.Target = 'Target' in params ? params.Target : null;
}
}
/**
* Query condition
* @class
*/
class QueryCondition extends AbstractModel {
constructor(){
super();
/**
* Dimension
* @type {string || null}
*/
this.Key = null;
/**
* Operator
* @type {string || null}
*/
this.Operator = null;
/**
* Dimension value
* @type {Array.<string> || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Key = 'Key' in params ? params.Key : null;
this.Operator = 'Operator' in params ? params.Operator : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* DescribeDnsData request structure.
* @class
*/
class DescribeDnsDataRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Filter parameters
* @type {Array.<DnsDataFilter> || null}
*/
this.Filters = null;
/**
* Time granularity. The default value is `min`. The server can adapt to the time granularity specified.
Valid values:
`min`: 1 minute
`5min`: 5 minutes
`hour`: 1 hour
`day`: 1 day
* @type {string || null}
*/
this.Interval = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new DnsDataFilter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Interval = 'Interval' in params ? params.Interval : null;
}
}
/**
* Cache rule configuration
* @class
*/
class CacheConfig extends AbstractModel {
constructor(){
super();
/**
* Cache configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {CacheConfigCache || null}
*/
this.Cache = null;
/**
* No-cache configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {CacheConfigNoCache || null}
*/
this.NoCache = null;
/**
* Follows the origin server configuration
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {CacheConfigFollowOrigin || null}
*/
this.FollowOrigin = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Cache) {
let obj = new CacheConfigCache();
obj.deserialize(params.Cache)
this.Cache = obj;
}
if (params.NoCache) {
let obj = new CacheConfigNoCache();
obj.deserialize(params.NoCache)
this.NoCache = obj;
}
if (params.FollowOrigin) {
let obj = new CacheConfigFollowOrigin();
obj.deserialize(params.FollowOrigin)
this.FollowOrigin = obj;
}
}
}
/**
* DescribeDDosAttackEventDetail response structure.
* @class
*/
class DescribeDDosAttackEventDetailResponse extends AbstractModel {
constructor(){
super();
/**
* DDoS attack event details
* @type {DDosAttackEventDetailData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 DDosAttackEventDetailData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyApplicationProxyRule request structure.
* @class
*/
class ModifyApplicationProxyRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Proxy ID
* @type {string || null}
*/
this.ProxyId = null;
/**
* Rule ID
* @type {string || null}
*/
this.RuleId = null;
/**
* Protocol. Valid values: `TCP` and `UDP`.
* @type {string || null}
*/
this.Proto = null;
/**
* Port. Valid values:
`80`: Port 80
`81-90`: Port range 81-90
* @type {Array.<string> || null}
*/
this.Port = null;
/**
* Origin server type. Valid values:
`custom`: Specified origins
`origins`: Origin group
* @type {string || null}
*/
this.OriginType = null;
/**
* Origin server information:
When `OriginType=custom`, it indicates one or more origin servers. Example:
OriginValue=["8.8.8.8:80","9.9.9.9:80"]
OriginValue=["test.com:80"]
When `OriginType=origins`, it indicates an origin group ID. Example:
OriginValue=["origin-xxx"]
* @type {Array.<string> || null}
*/
this.OriginValue = null;
/**
* Passes the client IP. When `Proto=TCP`, valid values:
`TOA`: Pass the client IP via TOA.
`PPV1`: Pass the client IP via Proxy Protocol V1.
`PPV2`: Pass the client IP via Proxy Protocol V2.
`OFF`: Do not pass the client IP.
When `Proto=UDP`, valid values:
`PPV2`: Pass the client IP via Proxy Protocol V2.
`OFF`: Do not pass the client IP.
* @type {string || null}
*/
this.ForwardClientIp = null;
/**
* Specifies whether to enable session persistence
* @type {boolean || null}
*/
this.SessionPersist = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Proto = 'Proto' in params ? params.Proto : null;
this.Port = 'Port' in params ? params.Port : null;
this.OriginType = 'OriginType' in params ? params.OriginType : null;
this.OriginValue = 'OriginValue' in params ? params.OriginValue : null;
this.ForwardClientIp = 'ForwardClientIp' in params ? params.ForwardClientIp : null;
this.SessionPersist = 'SessionPersist' in params ? params.SessionPersist : null;
}
}
/**
* ModifyDDoSPolicy request structure.
* @class
*/
class ModifyDDoSPolicyRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the policy group
* @type {number || null}
*/
this.PolicyId = null;
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
/**
* Detailed DDoS mitigation configuration
* @type {DdosRule || null}
*/
this.DdosRule = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PolicyId = 'PolicyId' in params ? params.PolicyId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
if (params.DdosRule) {
let obj = new DdosRule();
obj.deserialize(params.DdosRule)
this.DdosRule = obj;
}
}
}
/**
* ModifyZoneCnameSpeedUp response structure.
* @class
*/
class ModifyZoneCnameSpeedUpResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* CNAME acceleration status.
- `enabled`: Enabled
- `disabled`: Disabled
* @type {string || null}
*/
this.Status = null;
/**
* Update time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.Status = 'Status' in params ? params.Status : null;
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeWebProtectionLog request structure.
* @class
*/
class DescribeWebProtectionLogRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of items per page
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Domain name set
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Query condition
* @type {Array.<QueryCondition> || null}
*/
this.QueryCondition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.Domains = 'Domains' in params ? params.Domains : null;
if (params.QueryCondition) {
this.QueryCondition = new Array();
for (let z in params.QueryCondition) {
let obj = new QueryCondition();
obj.deserialize(params.QueryCondition[z]);
this.QueryCondition.push(obj);
}
}
}
}
/**
* Block log in rate-limiting policy
* @class
*/
class CCLogData extends AbstractModel {
constructor(){
super();
/**
* Data set of CC block logs
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<CCLog> || null}
*/
this.List = null;
/**
* Current page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Total number of pages
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of items
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.List) {
this.List = new Array();
for (let z in params.List) {
let obj = new CCLog();
obj.deserialize(params.List[z]);
this.List.push(obj);
}
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
}
}
/**
* DescribePrefetchTasks request structure.
* @class
*/
class DescribePrefetchTasksRequest extends AbstractModel {
constructor(){
super();
/**
* Task ID
* @type {string || null}
*/
this.JobId = null;
/**
* Start time of the query
* @type {string || null}
*/
this.StartTime = null;
/**
* End time of the query
* @type {string || null}
*/
this.EndTime = null;
/**
* Offset of the query
* @type {number || null}
*/
this.Offset = null;
/**
* Maximum number of results returned
* @type {number || null}
*/
this.Limit = null;
/**
* Statuses of tasks to be queried. Values:
`processing`, `success`, `failed`, `timeout` and `invalid`
* @type {Array.<string> || null}
*/
this.Statuses = null;
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* List of domain names queried
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Resources queried
* @type {string || null}
*/
this.Target = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.JobId = 'JobId' in params ? params.JobId : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Statuses = 'Statuses' in params ? params.Statuses : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Domains = 'Domains' in params ? params.Domains : null;
this.Target = 'Target' in params ? params.Target : null;
}
}
/**
* Content management task result
* @class
*/
class Task extends AbstractModel {
constructor(){
super();
/**
* Task ID
* @type {string || null}
*/
this.JobId = null;
/**
* Status of the task
* @type {string || null}
*/
this.Status = null;
/**
* Resource
* @type {string || null}
*/
this.Target = null;
/**
* Task type
* @type {string || null}
*/
this.Type = null;
/**
* Task creation time
* @type {string || null}
*/
this.CreateTime = null;
/**
* Task completion time
* @type {string || null}
*/
this.UpdateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.JobId = 'JobId' in params ? params.JobId : null;
this.Status = 'Status' in params ? params.Status : null;
this.Target = 'Target' in params ? params.Target : null;
this.Type = 'Type' in params ? params.Type : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
}
}
/**
* DeleteDnsRecords request structure.
* @class
*/
class DeleteDnsRecordsRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Record ID
* @type {Array.<string> || null}
*/
this.Ids = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Ids = 'Ids' in params ? params.Ids : null;
}
}
/**
* DDoS blocklist/allowlist
* @class
*/
class DdosAllowBlock extends AbstractModel {
constructor(){
super();
/**
* Whether to remove all settings when empty strings are passed in. Default value: `off` (remove)
* @type {string || null}
*/
this.Switch = null;
/**
* Array of objects in blocklist/allowlist configuration
* @type {Array.<DDoSUserAllowBlockIP> || null}
*/
this.UserAllowBlockIp = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
if (params.UserAllowBlockIp) {
this.UserAllowBlockIp = new Array();
for (let z in params.UserAllowBlockIp) {
let obj = new DDoSUserAllowBlockIP();
obj.deserialize(params.UserAllowBlockIp[z]);
this.UserAllowBlockIp.push(obj);
}
}
}
}
/**
* DDoS regional blocking
* @class
*/
class DDoSGeoIp extends AbstractModel {
constructor(){
super();
/**
* Region information
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<number> || null}
*/
this.RegionId = null;
/**
* Whether to remove all settings when empty strings are passed in. Default value: `off` (remove)
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RegionId = 'RegionId' in params ? params.RegionId : null;
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* DescribeZoneDDoSPolicy response structure.
* @class
*/
class DescribeZoneDDoSPolicyResponse extends AbstractModel {
constructor(){
super();
/**
* User APPID
* @type {number || null}
*/
this.AppId = null;
/**
* DDoS mitigation configuration
* @type {Array.<ShieldArea> || null}
*/
this.ShieldAreas = null;
/**
* Includes the details of all subdomain names
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<DDoSApplication> || null}
*/
this.Domains = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AppId = 'AppId' in params ? params.AppId : null;
if (params.ShieldAreas) {
this.ShieldAreas = new Array();
for (let z in params.ShieldAreas) {
let obj = new ShieldArea();
obj.deserialize(params.ShieldAreas[z]);
this.ShieldAreas.push(obj);
}
}
if (params.Domains) {
this.Domains = new Array();
for (let z in params.Domains) {
let obj = new DDoSApplication();
obj.deserialize(params.Domains[z]);
this.Domains.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CNAME status
* @class
*/
class CnameStatus extends AbstractModel {
constructor(){
super();
/**
* Record name
* @type {string || null}
*/
this.Name = null;
/**
* CNAME address
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Cname = null;
/**
* Status
`active`: Activated
`moved`: Not activated
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Cname = 'Cname' in params ? params.Cname : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DescribeDDosMajorAttackEvent response structure.
* @class
*/
class DescribeDDosMajorAttackEventResponse extends AbstractModel {
constructor(){
super();
/**
* Major DDoS attack event
* @type {DDosMajorAttackEventData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 DDosMajorAttackEventData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DDoS feature filtering
* @class
*/
class DDoSFeaturesFilter extends AbstractModel {
constructor(){
super();
/**
* Action. `drop`: Drop the request; `transmit`: Allow the request; `drop_block`: Drop the request and block it; `forward`: Continue to offer protection.
* @type {string || null}
*/
this.Action = null;
/**
* Sets how far from the first search position
* @type {number || null}
*/
this.Depth = null;
/**
* Sets how far from the second search position
* @type {number || null}
*/
this.Depth2 = null;
/**
* End of the destination port
* @type {number || null}
*/
this.DportEnd = null;
/**
* Start of the destination port
* @type {number || null}
*/
this.DportStart = null;
/**
* Whether to match string 1 that does not contain all the specified elements
* @type {number || null}
*/
this.IsNot = null;
/**
* Whether to match string 2 that does not contain all the specified elements
* @type {number || null}
*/
this.IsNot2 = null;
/**
* Logical operator that combines two conditions. Values: `none`, `and` and `or`. If there is only one condition, pass in `none` for this condition only.
* @type {string || null}
*/
this.MatchLogic = null;
/**
* Matching method of the first condition. `pcre`: Regex match; `sunday`: String match.
* @type {string || null}
*/
this.MatchType = null;
/**
* Matching method of the second condition. `pcre`: Regex match; `sunday`: String match.
* @type {string || null}
*/
this.MatchType2 = null;
/**
* Offset from the first search position
* @type {number || null}
*/
this.Offset = null;
/**
* Offset from the second search position
* @type {number || null}
*/
this.Offset2 = null;
/**
* Maximum packet length
* @type {number || null}
*/
this.PacketMax = null;
/**
* Minimum packet length
* @type {number || null}
*/
this.PacketMin = null;
/**
* Protocol. Values: `tcp`, `udp`, `icmp` and `all`.
* @type {string || null}
*/
this.Protocol = null;
/**
* End of the source port
* @type {number || null}
*/
this.SportEnd = null;
/**
* Start of the source port
* @type {number || null}
*/
this.SportStart = null;
/**
* String in the first condition
* @type {string || null}
*/
this.Str = null;
/**
* String in the second condition
* @type {string || null}
*/
this.Str2 = null;
/**
* Layer at which each match starts. Values: `begin_l5`, `no_match`, `begin_l3` and `begin_l4`.
* @type {string || null}
*/
this.MatchBegin = null;
/**
* Layer at which each match starts. Values: `begin_l5`, `no_match`, `begin_l3` and `begin_l4`.
* @type {string || null}
*/
this.MatchBegin2 = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Action = 'Action' in params ? params.Action : null;
this.Depth = 'Depth' in params ? params.Depth : null;
this.Depth2 = 'Depth2' in params ? params.Depth2 : null;
this.DportEnd = 'DportEnd' in params ? params.DportEnd : null;
this.DportStart = 'DportStart' in params ? params.DportStart : null;
this.IsNot = 'IsNot' in params ? params.IsNot : null;
this.IsNot2 = 'IsNot2' in params ? params.IsNot2 : null;
this.MatchLogic = 'MatchLogic' in params ? params.MatchLogic : null;
this.MatchType = 'MatchType' in params ? params.MatchType : null;
this.MatchType2 = 'MatchType2' in params ? params.MatchType2 : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Offset2 = 'Offset2' in params ? params.Offset2 : null;
this.PacketMax = 'PacketMax' in params ? params.PacketMax : null;
this.PacketMin = 'PacketMin' in params ? params.PacketMin : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.SportEnd = 'SportEnd' in params ? params.SportEnd : null;
this.SportStart = 'SportStart' in params ? params.SportStart : null;
this.Str = 'Str' in params ? params.Str : null;
this.Str2 = 'Str2' in params ? params.Str2 : null;
this.MatchBegin = 'MatchBegin' in params ? params.MatchBegin : null;
this.MatchBegin2 = 'MatchBegin2' in params ? params.MatchBegin2 : null;
}
}
/**
* DescribeWebProtectionAttackEvents response structure.
* @class
*/
class DescribeWebProtectionAttackEventsResponse extends AbstractModel {
constructor(){
super();
/**
* DDoS attack event data
* @type {CCInterceptEventData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 CCInterceptEventData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreatePurgeTask request structure.
* @class
*/
class CreatePurgeTaskRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* Type of the purging task. Values:
- `purge_url`: Purge by the URL
- `purge_prefix`: Purge by the prefix
- `purge_host`: Purge by the Hostname
- `purge_all`: Purge all cached contents
* @type {string || null}
*/
this.Type = null;
/**
* Target resource to be purged, which depends on the `Type` field.
1. When `Type = purge_host`:
Hostnames are purged, such as www.example.com and foo.bar.example.com.
2. When `Type = purge_prefix`:
Prefixes are purged, such as http://www.example.com/example.
3. When `Type = purge_url`:
URLs are purged, such as https://www.example.com/example.jpg.
4. When `Type = purge_all`: All types of resources are purged.
`Targets` is not a required field.
* @type {Array.<string> || null}
*/
this.Targets = null;
/**
* Specifies whether to transcode non-ASCII URLs according to RFC3986.
Note that if it’s enabled, the purging is based on the converted URLs.
* @type {boolean || null}
*/
this.EncodeUrl = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Type = 'Type' in params ? params.Type : null;
this.Targets = 'Targets' in params ? params.Targets : null;
this.EncodeUrl = 'EncodeUrl' in params ? params.EncodeUrl : null;
}
}
/**
* Billable resource
* @class
*/
class Resource extends AbstractModel {
constructor(){
super();
/**
* Resource ID
* @type {string || null}
*/
this.Id = null;
/**
* Billing mode
`0`: Pay-as-you-go
* @type {number || null}
*/
this.PayMode = null;
/**
* Creation time
* @type {string || null}
*/
this.CreateTime = null;
/**
* Effective time
* @type {string || null}
*/
this.EnableTime = null;
/**
* Expiration time
* @type {string || null}
*/
this.ExpireTime = null;
/**
* Status of the plan
* @type {string || null}
*/
this.Status = null;
/**
* Pricing query parameter
* @type {Array.<Sv> || null}
*/
this.Sv = null;
/**
* Specifies whether to enable auto-renewal
`0`: Default
`1`: Enable auto-renewal
`2`: Disable auto-renewal
* @type {number || null}
*/
this.AutoRenewFlag = null;
/**
* ID of the plan
* @type {string || null}
*/
this.PlanId = null;
/**
*
* @type {string || null}
*/
this.Area = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.PayMode = 'PayMode' in params ? params.PayMode : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.EnableTime = 'EnableTime' in params ? params.EnableTime : null;
this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
this.Status = 'Status' in params ? params.Status : null;
if (params.Sv) {
this.Sv = new Array();
for (let z in params.Sv) {
let obj = new Sv();
obj.deserialize(params.Sv[z]);
this.Sv.push(obj);
}
}
this.AutoRenewFlag = 'AutoRenewFlag' in params ? params.AutoRenewFlag : null;
this.PlanId = 'PlanId' in params ? params.PlanId : null;
this.Area = 'Area' in params ? params.Area : null;
}
}
/**
* DeleteDnsRecords response structure.
* @class
*/
class DeleteDnsRecordsResponse extends AbstractModel {
constructor(){
super();
/**
* Record ID
* @type {Array.<string> || null}
*/
this.Ids = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Ids = 'Ids' in params ? params.Ids : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeBotLog request structure.
* @class
*/
class DescribeBotLogRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of items per page
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Domain name set
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Query condition
* @type {Array.<QueryCondition> || null}
*/
this.QueryCondition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.Domains = 'Domains' in params ? params.Domains : null;
if (params.QueryCondition) {
this.QueryCondition = new Array();
for (let z in params.QueryCondition) {
let obj = new QueryCondition();
obj.deserialize(params.QueryCondition[z]);
this.QueryCondition.push(obj);
}
}
}
}
/**
* DownloadL7Logs response structure.
* @class
*/
class DownloadL7LogsResponse extends AbstractModel {
constructor(){
super();
/**
* Layer-7 offline log data
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<L7OfflineLog> || null}
*/
this.Data = null;
/**
* Page size
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.PageSize = null;
/**
* Page number
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.PageNo = null;
/**
* Total number of pages
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Pages = null;
/**
* Total number of entries
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.TotalSize = null;
/**
* The unique request ID, which is returned for each request. 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 L7OfflineLog();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.Pages = 'Pages' in params ? params.Pages : null;
this.TotalSize = 'TotalSize' in params ? params.TotalSize : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DDoS attack event details
* @class
*/
class DDosAttackEventDetailData extends AbstractModel {
constructor(){
super();
/**
* Attack status
* @type {number || null}
*/
this.AttackStatus = null;
/**
* Attack type
* @type {string || null}
*/
this.AttackType = null;
/**
* End time
* @type {number || null}
*/
this.EndTime = null;
/**
* Start time
* @type {number || null}
*/
this.StartTime = null;
/**
* Maximum bandwidth
* @type {number || null}
*/
this.MaxBandWidth = null;
/**
* Maximum packet rate
* @type {number || null}
*/
this.PacketMaxRate = null;
/**
* Event ID
* @type {string || null}
*/
this.EventId = null;
/**
* DDoS policy group ID
* @type {number || null}
*/
this.PolicyId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AttackStatus = 'AttackStatus' in params ? params.AttackStatus : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.MaxBandWidth = 'MaxBandWidth' in params ? params.MaxBandWidth : null;
this.PacketMaxRate = 'PacketMaxRate' in params ? params.PacketMaxRate : null;
this.EventId = 'EventId' in params ? params.EventId : null;
this.PolicyId = 'PolicyId' in params ? params.PolicyId : null;
}
}
/**
* CreateOriginGroup request structure.
* @class
*/
class CreateOriginGroupRequest extends AbstractModel {
constructor(){
super();
/**
* Name of the origin group
* @type {string || null}
*/
this.OriginName = null;
/**
* Origin-pull configuration type. This field is required when `OriginType=self`.
`area`: Origin-pull by region
`weight`: Origin-pull by weight
When `OriginType=third_party/cos`, it can be left empty.
* @type {string || null}
*/
this.Type = null;
/**
* Origin records
* @type {Array.<OriginRecord> || null}
*/
this.Record = null;
/**
* ID of the site
* @type {string || null}
*/
this.ZoneId = null;
/**
* Origin type
`self`: Customer origin
`third_party`: Third-party origin
`cos`: Tencent Cloud COS origin
* @type {string || null}
*/
this.OriginType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginName = 'OriginName' in params ? params.OriginName : null;
this.Type = 'Type' in params ? params.Type : null;
if (params.Record) {
this.Record = new Array();
for (let z in params.Record) {
let obj = new OriginRecord();
obj.deserialize(params.Record[z]);
this.Record.push(obj);
}
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.OriginType = 'OriginType' in params ? params.OriginType : null;
}
}
/**
* DescribeTimingL4Data request structure.
* @class
*/
class DescribeTimingL4DataRequest extends AbstractModel {
constructor(){
super();
/**
* Client time in RFC 3339 format
* @type {string || null}
*/
this.StartTime = null;
/**
* Client time in RFC 3339 format
* @type {string || null}
*/
this.EndTime = null;
/**
* Supported metrics for data query:
`l4Flow_connections`: Access connections
`l4Flow_flux`: Access traffic
`l4Flow_inFlux`: Inbound traffic
`l4Flow_outFlux`: Outbound traffic
* @type {Array.<string> || null}
*/
this.MetricNames = null;
/**
* List of site IDs
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* This field has been disused. Use `ProxyIds` instead.
* @type {Array.<string> || null}
*/
this.InstanceIds = null;
/**
* This field is not supported currently.
* @type {string || null}
*/
this.Protocol = null;
/**
* Time interval. Valid values: {min, 5min, hour, day}
* @type {string || null}
*/
this.Interval = null;
/**
* This field is not supported currently. Use `Filter` instead.
* @type {string || null}
*/
this.RuleId = null;
/**
* Supported filters: `proxyd`, `ruleId`
* @type {Array.<Filter> || null}
*/
this.Filters = null;
/**
* List of layer-4 proxies
* @type {Array.<string> || null}
*/
this.ProxyIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.InstanceIds = 'InstanceIds' in params ? params.InstanceIds : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.RuleId = 'RuleId' in params ? params.RuleId : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.ProxyIds = 'ProxyIds' in params ? params.ProxyIds : null;
}
}
/**
* DescribeHostsSetting request structure.
* @class
*/
class DescribeHostsSettingRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Offset for paginated queries. Default value: 0
* @type {number || null}
*/
this.Offset = null;
/**
* Limit on paginated queries. Default value: 100. Maximum value: 1000.
* @type {number || null}
*/
this.Limit = null;
/**
* Specifies a domain name for the query
* @type {Array.<string> || null}
*/
this.Hosts = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Hosts = 'Hosts' in params ? params.Hosts : null;
}
}
/**
* DescribeZoneDDoSPolicy request structure.
* @class
*/
class DescribeZoneDDoSPolicyRequest extends AbstractModel {
constructor(){
super();
/**
* ID of the site (top-level domain name)
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* DescribeDDosAttackData response structure.
* @class
*/
class DescribeDDosAttackDataResponse extends AbstractModel {
constructor(){
super();
/**
* DDoS attack data
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<SecEntry> || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned data
* @type {string || null}
*/
this.Msg = null;
/**
* Query time granularity. Valid values: {min,5min,hour,day}
* @type {string || null}
*/
this.Interval = null;
/**
* The unique request ID, which is returned for each request. 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 SecEntry();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeWebManagedRulesLog request structure.
* @class
*/
class DescribeWebManagedRulesLogRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Number of items per page
* @type {number || null}
*/
this.PageSize = null;
/**
* Current page
* @type {number || null}
*/
this.PageNo = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Domain name set
* @type {Array.<string> || null}
*/
this.Domains = null;
/**
* Query condition
* @type {Array.<QueryCondition> || null}
*/
this.QueryCondition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.Domains = 'Domains' in params ? params.Domains : null;
if (params.QueryCondition) {
this.QueryCondition = new Array();
for (let z in params.QueryCondition) {
let obj = new QueryCondition();
obj.deserialize(params.QueryCondition[z]);
this.QueryCondition.push(obj);
}
}
}
}
/**
* CreateApplicationProxyRules response structure.
* @class
*/
class CreateApplicationProxyRulesResponse extends AbstractModel {
constructor(){
super();
/**
* Array of rule IDs
* @type {Array.<string> || null}
*/
this.RuleId = null;
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DescribeWebManagedRulesTopData request structure.
* @class
*/
class DescribeWebManagedRulesTopDataRequest extends AbstractModel {
constructor(){
super();
/**
* Start time
* @type {string || null}
*/
this.StartTime = null;
/**
* End time
* @type {string || null}
*/
this.EndTime = null;
/**
* Filter metric
* @type {string || null}
*/
this.MetricName = null;
/**
* Number of the top data entries to query. 0: queries all data entries.
* @type {number || null}
*/
this.Limit = null;
/**
* Site set
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
/**
* Set of DDoS policy group IDs
* @type {Array.<number> || null}
*/
this.PolicyIds = null;
/**
* Port number
* @type {number || null}
*/
this.Port = null;
/**
* Protocol type. Valid values: tcp, udp, all
* @type {string || null}
*/
this.ProtocolType = null;
/**
* Attack type. Valid values: flood, icmpFlood..., all
* @type {string || null}
*/
this.AttackType = null;
/**
* Domain name set
* @type {Array.<string> || null}
*/
this.Domains = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.MetricName = 'MetricName' in params ? params.MetricName : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
this.Port = 'Port' in params ? params.Port : null;
this.ProtocolType = 'ProtocolType' in params ? params.ProtocolType : null;
this.AttackType = 'AttackType' in params ? params.AttackType : null;
this.Domains = 'Domains' in params ? params.Domains : null;
}
}
/**
* DescribeIdentification response structure.
* @class
*/
class DescribeIdentificationResponse extends AbstractModel {
constructor(){
super();
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* Verification status. Valid values:
- `pending`: Verifying
- `finished`: The site is verified.
* @type {string || null}
*/
this.Status = null;
/**
*
* @type {string || null}
*/
this.Subdomain = null;
/**
* Record type
* @type {string || null}
*/
this.RecordType = null;
/**
* Record value
* @type {string || null}
*/
this.RecordValue = null;
/**
* NS records of the domain name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.OriginalNameServers = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Status = 'Status' in params ? params.Status : null;
this.Subdomain = 'Subdomain' in params ? params.Subdomain : null;
this.RecordType = 'RecordType' in params ? params.RecordType : null;
this.RecordValue = 'RecordValue' in params ? params.RecordValue : null;
this.OriginalNameServers = 'OriginalNameServers' in params ? params.OriginalNameServers : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Major DDoS attack event
* @class
*/
class DDosMajorAttackEvent extends AbstractModel {
constructor(){
super();
/**
* DDoS policy group ID
* @type {number || null}
*/
this.PolicyId = null;
/**
* Maximum attack bandwidth
* @type {number || null}
*/
this.AttackMaxBandWidth = null;
/**
* Attack time in seconds
* @type {number || null}
*/
this.AttackTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PolicyId = 'PolicyId' in params ? params.PolicyId : null;
this.AttackMaxBandWidth = 'AttackMaxBandWidth' in params ? params.AttackMaxBandWidth : null;
this.AttackTime = 'AttackTime' in params ? params.AttackTime : null;
}
}
/**
* ModifyZoneCnameSpeedUp request structure.
* @class
*/
class ModifyZoneCnameSpeedUpRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* CNAME acceleration status.
- `enabled`: Enabled
- `disabled`: Disabled
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DescribeApplicationProxyDetail response structure.
* @class
*/
class DescribeApplicationProxyDetailResponse extends AbstractModel {
constructor(){
super();
/**
* Instance ID
* @type {string || null}
*/
this.ProxyId = null;
/**
* Name of the proxy:
Domain name or subdomain name when `ProxyType=hostname`
Instance name when `ProxyType=instance`
* @type {string || null}
*/
this.ProxyName = null;
/**
* Proxy mode. Valid values:
`ip`: Anycast IP
`domain`: CNAME
* @type {string || null}
*/
this.PlatType = null;
/**
* `0`: Disable security protection; `1`: Enable security protection.
* @type {number || null}
*/
this.SecurityType = null;
/**
* `0`: Disable acceleration; `1`: Enable acceleration.
* @type {number || null}
*/
this.AccelerateType = null;
/**
* This field is moved to `Rule.ForwardClientIp`.
* @type {string || null}
*/
this.ForwardClientIp = null;
/**
* This field is moved to `Rule.SessionPersist`.
* @type {boolean || null}
*/
this.SessionPersist = null;
/**
* List of rules
* @type {Array.<ApplicationProxyRule> || null}
*/
this.Rule = null;
/**
* Status. Valid values:
`online`: Enable
`offline`: Disable
`progress`: Deploying
* @type {string || null}
*/
this.Status = null;
/**
* Scheduling information
* @type {Array.<string> || null}
*/
this.ScheduleValue = null;
/**
* Update time
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Site name
* @type {string || null}
*/
this.ZoneName = null;
/**
* Session persistence time
* @type {number || null}
*/
this.SessionPersistTime = null;
/**
* Specifies how a layer-4 proxy is created.
`hostname`: Create by subdomain name
`instance`: Create by instance
* @type {string || null}
*/
this.ProxyType = null;
/**
* When `ProxyType=hostname`:
`ProxyName` indicates a specified domain name, such as test.123.com
`HostId` indicates a unique ID of the domain name.
* @type {string || null}
*/
this.HostId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
this.ProxyName = 'ProxyName' in params ? params.ProxyName : null;
this.PlatType = 'PlatType' in params ? params.PlatType : null;
this.SecurityType = 'SecurityType' in params ? params.SecurityType : null;
this.AccelerateType = 'AccelerateType' in params ? params.AccelerateType : null;
this.ForwardClientIp = 'ForwardClientIp' in params ? params.ForwardClientIp : null;
this.SessionPersist = 'SessionPersist' in params ? params.SessionPersist : null;
if (params.Rule) {
this.Rule = new Array();
for (let z in params.Rule) {
let obj = new ApplicationProxyRule();
obj.deserialize(params.Rule[z]);
this.Rule.push(obj);
}
}
this.Status = 'Status' in params ? params.Status : null;
this.ScheduleValue = 'ScheduleValue' in params ? params.ScheduleValue : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.SessionPersistTime = 'SessionPersistTime' in params ? params.SessionPersistTime : null;
this.ProxyType = 'ProxyType' in params ? params.ProxyType : null;
this.HostId = 'HostId' in params ? params.HostId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* IP Allowlist/Blocklist for DDoS protection
* @class
*/
class DDoSUserAllowBlockIP extends AbstractModel {
constructor(){
super();
/**
* Start IP address in a specific range
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Ip = null;
/**
* Start mask in a specific range
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Mask = null;
/**
* IP type. `block`: IP blocklist; `allow`: IP allowlist.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Type = null;
/**
* Timestamp
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.UpdateTime = null;
/**
* End IP address in a specific range
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Ip2 = null;
/**
* End mask in a specific range
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {number || null}
*/
this.Mask2 = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Ip = 'Ip' in params ? params.Ip : null;
this.Mask = 'Mask' in params ? params.Mask : null;
this.Type = 'Type' in params ? params.Type : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.Ip2 = 'Ip2' in params ? params.Ip2 : null;
this.Mask2 = 'Mask2' in params ? params.Mask2 : null;
}
}
/**
* DescribeBotLog response structure.
* @class
*/
class DescribeBotLogResponse extends AbstractModel {
constructor(){
super();
/**
* Bot attack data
* @type {BotLogData || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Returned message
* @type {string || null}
*/
this.Msg = null;
/**
* The unique request ID, which is returned for each request. 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 BotLogData();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeLoadBalancing response structure.
* @class
*/
class DescribeLoadBalancingResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of records
* @type {number || null}
*/
this.TotalCount = null;
/**
* CLB information
* @type {Array.<LoadBalancing> || null}
*/
this.Data = null;
/**
* The unique request ID, which is returned for each request. 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.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new LoadBalancing();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeWebProtectionData response structure.
* @class
*/
class DescribeWebProtectionDataResponse extends AbstractModel {
constructor(){
super();
/**
* Data details
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<SecEntry> || null}
*/
this.Data = null;
/**
* Status. 1: failed; 0: succeeded
* @type {number || null}
*/
this.Status = null;
/**
* Message
* @type {string || null}
*/
this.Msg = null;
/**
* Query time granularity. Valid values: {min,5min,hour,day}
* @type {string || null}
*/
this.Interval = null;
/**
* The unique request ID, which is returned for each request. 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 SecEntry();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.Status = 'Status' in params ? params.Status : null;
this.Msg = 'Msg' in params ? params.Msg : null;
this.Interval = 'Interval' in params ? params.Interval : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyDnssec response structure.
* @class
*/
class ModifyDnssecResponse extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.Id = null;
/**
* Site name
* @type {string || null}
*/
this.Name = null;
/**
* DNSSEC status.
- `enabled`: Enabled
- `disabled`: Disabled
* @type {string || null}
*/
this.Status = null;
/**
* DNSSEC information
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {DnssecInfo || null}
*/
this.Dnssec = null;
/**
* Modification time
* @type {string || null}
*/
this.ModifiedOn = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.Status = 'Status' in params ? params.Status : null;
if (params.Dnssec) {
let obj = new DnssecInfo();
obj.deserialize(params.Dnssec)
this.Dnssec = obj;
}
this.ModifiedOn = 'ModifiedOn' in params ? params.ModifiedOn : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ScanDnsRecords request structure.
* @class
*/
class ScanDnsRecordsRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* Custom name servers
* @class
*/
class VanityNameServers extends AbstractModel {
constructor(){
super();
/**
* Whether to enable the custom name server
`on`: Enable
`off`: Disable
* @type {string || null}
*/
this.Switch = null;
/**
* List of custom name servers
* @type {Array.<string> || null}
*/
this.Servers = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.Servers = 'Servers' in params ? params.Servers : null;
}
}
/**
* ImportDnsRecords response structure.
* @class
*/
class ImportDnsRecordsResponse extends AbstractModel {
constructor(){
super();
/**
* Record ID
* @type {Array.<string> || null}
*/
this.Ids = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Ids = 'Ids' in params ? params.Ids : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeLoadBalancingDetail request structure.
* @class
*/
class DescribeLoadBalancingDetailRequest extends AbstractModel {
constructor(){
super();
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancingId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.LoadBalancingId = 'LoadBalancingId' in params ? params.LoadBalancingId : null;
}
}
/**
* HTTPS server certificate configuration
* @class
*/
class DefaultServerCertInfo extends AbstractModel {
constructor(){
super();
/**
* Server certificate ID, which is the ID of the default certificate. If you choose to upload an external certificate for SSL certificate management, a certificate ID will be generated.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.CertId = null;
/**
* Certificate alias
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Alias = null;
/**
* Certificate type. Valid values:
`default`: Default certificate
`upload`: External certificate
`managed`: Tencent Cloud managed certificate
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Type = null;
/**
* Time when the certificate expires
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.ExpireTime = null;
/**
* Time when the certificate takes effect
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.EffectiveTime = null;
/**
* Certificate common name
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.CommonName = null;
/**
* Domain names added to the SAN certificate
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {Array.<string> || null}
*/
this.SubjectAltName = null;
/**
* Certificate status. Valid values:
`applying`: Application in progress
`failed`: Application failed
`processing`: Deploying certificate
`deployed`: Certificate deployed
`disabled`: Certificate disabled
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Status = null;
/**
* Returns a message to display failure causes when `Status=failed`
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Message = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.CertId = 'CertId' in params ? params.CertId : null;
this.Alias = 'Alias' in params ? params.Alias : null;
this.Type = 'Type' in params ? params.Type : null;
this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
this.EffectiveTime = 'EffectiveTime' in params ? params.EffectiveTime : null;
this.CommonName = 'CommonName' in params ? params.CommonName : null;
this.SubjectAltName = 'SubjectAltName' in params ? params.SubjectAltName : null;
this.Status = 'Status' in params ? params.Status : null;
this.Message = 'Message' in params ? params.Message : null;
}
}
/**
* DNSSEC information
* @class
*/
class DnssecInfo extends AbstractModel {
constructor(){
super();
/**
* Flag
* @type {number || null}
*/
this.Flags = null;
/**
* Encryption algorithm
* @type {string || null}
*/
this.Algorithm = null;
/**
* Encryption type
* @type {string || null}
*/
this.KeyType = null;
/**
* Digest type
* @type {string || null}
*/
this.DigestType = null;
/**
* Digest algorithm
* @type {string || null}
*/
this.DigestAlgorithm = null;
/**
* Digest message
* @type {string || null}
*/
this.Digest = null;
/**
* DS record value
* @type {string || null}
*/
this.DS = null;
/**
* Key tag
* @type {number || null}
*/
this.KeyTag = null;
/**
* Public key
* @type {string || null}
*/
this.PublicKey = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Flags = 'Flags' in params ? params.Flags : null;
this.Algorithm = 'Algorithm' in params ? params.Algorithm : null;
this.KeyType = 'KeyType' in params ? params.KeyType : null;
this.DigestType = 'DigestType' in params ? params.DigestType : null;
this.DigestAlgorithm = 'DigestAlgorithm' in params ? params.DigestAlgorithm : null;
this.Digest = 'Digest' in params ? params.Digest : null;
this.DS = 'DS' in params ? params.DS : null;
this.KeyTag = 'KeyTag' in params ? params.KeyTag : null;
this.PublicKey = 'PublicKey' in params ? params.PublicKey : null;
}
}
/**
* DescribeOriginGroup request structure.
* @class
*/
class DescribeOriginGroupRequest extends AbstractModel {
constructor(){
super();
/**
* Pagination parameter
* @type {number || null}
*/
this.Offset = null;
/**
* Pagination parameter
* @type {number || null}
*/
this.Limit = null;
/**
* Filter parameters
* @type {Array.<OriginFilter> || null}
*/
this.Filters = null;
/**
* Site ID
If it’s not specified, all origin groups will be obtained.
* @type {string || null}
*/
this.ZoneId = 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 OriginFilter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* DescribeOriginGroupDetail response structure.
* @class
*/
class DescribeOriginGroupDetailResponse extends AbstractModel {
constructor(){
super();
/**
* Origin group ID
* @type {string || null}
*/
this.OriginId = null;
/**
* Origin group name
* @type {string || null}
*/
this.OriginName = null;
/**
* Origin-pull configuration type
`area`: Origin-pull by the client IP’s region specified by `Area` in OriginRecord.
`weight`: Origin-pull by the weight specified by `Weight` in OriginRecord.
* @type {string || null}
*/
this.Type = null;
/**
* Record
* @type {Array.<OriginRecord> || null}
*/
this.Record = null;
/**
* Update time
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
/**
* Site name
* @type {string || null}
*/
this.ZoneName = null;
/**
* Origin type
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.OriginType = null;
/**
* Whether the origin group uses layer-4 proxy.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.ApplicationProxyUsed = null;
/**
* Whether the origin group is used for load balancing.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.LoadBalancingUsed = null;
/**
* Proxy mode of the load balancing task associated with the origin group.
`none`: Not used for load balancing.
`dns_only`: Used for DNS-only load balancing.
`proxied`: Used for proxied load balancing.
`both`: Used for both DNS-only and proxied load balancing.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LoadBalancingUsedType = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.OriginName = 'OriginName' in params ? params.OriginName : null;
this.Type = 'Type' in params ? params.Type : null;
if (params.Record) {
this.Record = new Array();
for (let z in params.Record) {
let obj = new OriginRecord();
obj.deserialize(params.Record[z]);
this.Record.push(obj);
}
}
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.OriginType = 'OriginType' in params ? params.OriginType : null;
this.ApplicationProxyUsed = 'ApplicationProxyUsed' in params ? params.ApplicationProxyUsed : null;
this.LoadBalancingUsed = 'LoadBalancingUsed' in params ? params.LoadBalancingUsed : null;
this.LoadBalancingUsedType = 'LoadBalancingUsedType' in params ? params.LoadBalancingUsedType : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* HTTP2 origin-pull configuration
* @class
*/
class UpstreamHttp2 extends AbstractModel {
constructor(){
super();
/**
* Whether to enable HTTP2 origin-pull
`on`: Enable
`off`: Disable
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* Configuration of offline cache
* @class
*/
class OfflineCache extends AbstractModel {
constructor(){
super();
/**
* Whether to enable offline cache. Valid values: `on` and `off`.
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Switch = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
}
}
/**
* DescribeOriginGroupDetail request structure.
* @class
*/
class DescribeOriginGroupDetailRequest extends AbstractModel {
constructor(){
super();
/**
* Origin group ID
* @type {string || null}
*/
this.OriginId = null;
/**
* Site ID
* @type {string || null}
*/
this.ZoneId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OriginId = 'OriginId' in params ? params.OriginId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
}
}
/**
* DescribeDDosAttackEventDetail request structure.
* @class
*/
class DescribeDDosAttackEventDetailRequest extends AbstractModel {
constructor(){
super();
/**
* Event ID
* @type {string || null}
*/
this.EventId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.EventId = 'EventId' in params ? params.EventId : null;
}
}
/**
* DescribeTimingL4Data response structure.
* @class
*/
class DescribeTimingL4DataResponse extends AbstractModel {
constructor(){
super();
/**
* Query dimension
* @type {string || null}
*/
this.Type = null;
/**
* Time interval
* @type {string || null}
*/
this.Interval = null;
/**
* Detailed data
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TimingDataRecord> || null}
*/
this.Data = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Type = 'Type' in params ? params.Type : null;
this.Interval = 'Interval' in params ? params.Interval : null;
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new TimingDataRecord();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Pricing query parameter
* @class
*/
class Sv extends AbstractModel {
constructor(){
super();
/**
* Parameter key
* @type {string || null}
*/
this.Key = null;
/**
* Parameter value
* @type {string || 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;
}
}
/**
* Bot security configuration
* @class
*/
class BotConfig extends AbstractModel {
constructor(){
super();
/**
* Whether to enable bot security configuration
* @type {string || null}
*/
this.Switch = null;
/**
* Preset rules
* @type {BotManagedRule || null}
*/
this.ManagedRule = null;
/**
* Not supported currently
* @type {BotManagedRule || null}
*/
this.UaBotRule = null;
/**
* Not supported currently
* @type {BotManagedRule || null}
*/
this.IspBotRule = null;
/**
* User portrait rules
* @type {BotPortraitRule || null}
*/
this.PortraitRule = null;
/**
* Bot intelligence rules
Note: This field may return null, indicating that no valid values can be obtained.
* @type {IntelligenceRule || null}
*/
this.IntelligenceRule = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
if (params.ManagedRule) {
let obj = new BotManagedRule();
obj.deserialize(params.ManagedRule)
this.ManagedRule = obj;
}
if (params.UaBotRule) {
let obj = new BotManagedRule();
obj.deserialize(params.UaBotRule)
this.UaBotRule = obj;
}
if (params.IspBotRule) {
let obj = new BotManagedRule();
obj.deserialize(params.IspBotRule)
this.IspBotRule = obj;
}
if (params.PortraitRule) {
let obj = new BotPortraitRule();
obj.deserialize(params.PortraitRule)
this.PortraitRule = obj;
}
if (params.IntelligenceRule) {
let obj = new IntelligenceRule();
obj.deserialize(params.IntelligenceRule)
this.IntelligenceRule = obj;
}
}
}
/**
* Detailed data of time series type
* @class
*/
class TimingTypeValue extends AbstractModel {
constructor(){
super();
/**
* Sum
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Sum = null;
/**
* Maximum
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Max = null;
/**
* Average
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Avg = null;
/**
* Metric name
* @type {string || null}
*/
this.MetricName = null;
/**
* This field will be disused soon. Use the `Detail` field instead.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.DetailData = null;
/**
* Detailed data
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TimingDataItem> || null}
*/
this.Detail = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Sum = 'Sum' in params ? params.Sum : null;
this.Max = 'Max' in params ? params.Max : null;
this.Avg = 'Avg' in params ? params.Avg : null;
this.MetricName = 'MetricName' in params ? params.MetricName : null;
this.DetailData = 'DetailData' in params ? params.DetailData : null;
if (params.Detail) {
this.Detail = new Array();
for (let z in params.Detail) {
let obj = new TimingDataItem();
obj.deserialize(params.Detail[z]);
this.Detail.push(obj);
}
}
}
}
/**
* DescribeBotManagedRules request structure.
* @class
*/
class DescribeBotManagedRulesRequest extends AbstractModel {
constructor(){
super();
/**
* Top-level domain name
* @type {string || null}
*/
this.ZoneId = null;
/**
* Subdomain name/layer-4 proxy
* @type {string || null}
*/
this.Entity = null;
/**
* Total number of pages
* @type {number || null}
*/
this.Page = null;
/**
* Number of rules per page
* @type {number || null}
*/
this.PerPage = null;
/**
* Rule type. Values: `idcid`, `sipbot` and `uabot`. All rules will be returned if this field is not specified.
* @type {string || null}
*/
this.RuleType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Entity = 'Entity' in params ? params.Entity : null;
this.Page = 'Page' in params ? params.Page : null;
this.PerPage = 'PerPage' in params ? params.PerPage : null;
this.RuleType = 'RuleType' in params ? params.RuleType : null;
}
}
module.exports = {
Compression: Compression,
WebLogData: WebLogData,
HostCertSetting: HostCertSetting,
ACLUserRule: ACLUserRule,
ModifyDefaultCertificateRequest: ModifyDefaultCertificateRequest,
DescribeWebManagedRulesTopDataResponse: DescribeWebManagedRulesTopDataResponse,
DescribeOriginGroupResponse: DescribeOriginGroupResponse,
DescribeWebManagedRulesAttackEventsResponse: DescribeWebManagedRulesAttackEventsResponse,
DescribeTopL7CacheDataRequest: DescribeTopL7CacheDataRequest,
DeleteApplicationProxyResponse: DeleteApplicationProxyResponse,
Https: Https,
SecurityEntity: SecurityEntity,
OriginFilter: OriginFilter,
BotLogData: BotLogData,
DescribeZonesRequest: DescribeZonesRequest,
RateLimitTemplate: RateLimitTemplate,
ShieldArea: ShieldArea,
DdosRule: DdosRule,
ModifyLoadBalancingStatusResponse: ModifyLoadBalancingStatusResponse,
DescribePrefetchTasksResponse: DescribePrefetchTasksResponse,
DescribeDDosAttackEventResponse: DescribeDDosAttackEventResponse,
DeleteApplicationProxyRequest: DeleteApplicationProxyRequest,
CreateCustomErrorPageResponse: CreateCustomErrorPageResponse,
ReclaimZoneResponse: ReclaimZoneResponse,
DescribeZoneSettingRequest: DescribeZoneSettingRequest,
ModifyZoneStatusRequest: ModifyZoneStatusRequest,
ModifyDnsRecordRequest: ModifyDnsRecordRequest,
DDoSAcl: DDoSAcl,
ModifySecurityPolicyRequest: ModifySecurityPolicyRequest,
CreateApplicationProxyRulesRequest: CreateApplicationProxyRulesRequest,
LoadBalancing: LoadBalancing,
ModifyDnssecRequest: ModifyDnssecRequest,
ModifyZoneSettingRequest: ModifyZoneSettingRequest,
DdosPacketFilter: DdosPacketFilter,
CreateApplicationProxyResponse: CreateApplicationProxyResponse,
ImportDnsRecordsRequest: ImportDnsRecordsRequest,
CacheConfigNoCache: CacheConfigNoCache,
ModifyOriginGroupResponse: ModifyOriginGroupResponse,
DescribeZoneDetailsResponse: DescribeZoneDetailsResponse,
BotLog: BotLog,
Origin: Origin,
ModifyZoneStatusResponse: ModifyZoneStatusResponse,
DescribeSecurityPolicyManagedRulesRequest: DescribeSecurityPolicyManagedRulesRequest,
DescribeSecurityPortraitRulesRequest: DescribeSecurityPortraitRulesRequest,
CertSort: CertSort,
ModifySecurityPolicyResponse: ModifySecurityPolicyResponse,
ModifyDDoSPolicyHostRequest: ModifyDDoSPolicyHostRequest,
DescribeHostsSettingResponse: DescribeHostsSettingResponse,
DescribeSecurityPolicyRegionsResponse: DescribeSecurityPolicyRegionsResponse,
ModifyZoneResponse: ModifyZoneResponse,
DescribeDDosAttackSourceEventRequest: DescribeDDosAttackSourceEventRequest,
ModifyZoneRequest: ModifyZoneRequest,
DeleteZoneResponse: DeleteZoneResponse,
DDosAttackEventData: DDosAttackEventData,
Hsts: Hsts,
CreatePurgeTaskResponse: CreatePurgeTaskResponse,
DeleteApplicationProxyRuleResponse: DeleteApplicationProxyRuleResponse,
DDosAttackSourceEvent: DDosAttackSourceEvent,
TimingDataRecord: TimingDataRecord,
DdosAcls: DdosAcls,
DeleteOriginGroupRequest: DeleteOriginGroupRequest,
Tag: Tag,
ModifyHostsCertificateResponse: ModifyHostsCertificateResponse,
CreateDnsRecordRequest: CreateDnsRecordRequest,
IpTableRule: IpTableRule,
L7OfflineLog: L7OfflineLog,
ModifyHostsCertificateRequest: ModifyHostsCertificateRequest,
ApplicationProxyRule: ApplicationProxyRule,
SmartRouting: SmartRouting,
DescribeDnsDataResponse: DescribeDnsDataResponse,
Zone: Zone,
ZoneFilter: ZoneFilter,
DescribeSecurityPolicyManagedRulesIdRequest: DescribeSecurityPolicyManagedRulesIdRequest,
ModifyApplicationProxyStatusRequest: ModifyApplicationProxyStatusRequest,
CacheConfigCache: CacheConfigCache,
CertFilter: CertFilter,
DescribeIdentificationRequest: DescribeIdentificationRequest,
ModifyLoadBalancingStatusRequest: ModifyLoadBalancingStatusRequest,
DescribeDDosAttackTopDataResponse: DescribeDDosAttackTopDataResponse,
DescribeCnameStatusResponse: DescribeCnameStatusResponse,
DescribeLoadBalancingRequest: DescribeLoadBalancingRequest,
CCInterceptEvent: CCInterceptEvent,
DDoSStatusInfo: DDoSStatusInfo,
AclConfig: AclConfig,
ModifyZoneSettingResponse: ModifyZoneSettingResponse,
DescribeZonesResponse: DescribeZonesResponse,
ScanDnsRecordsResponse: ScanDnsRecordsResponse,
WafConfig: WafConfig,
CreateDnsRecordResponse: CreateDnsRecordResponse,
CCLog: CCLog,
ServerCertInfo: ServerCertInfo,
DDoSConfig: DDoSConfig,
DescribeWebManagedRulesDataResponse: DescribeWebManagedRulesDataResponse,
DescribeWebManagedRulesLogResponse: DescribeWebManagedRulesLogResponse,
OriginRecord: OriginRecord,
WebLogs: WebLogs,
TopDetailData: TopDetailData,
CreatePrefetchTaskRequest: CreatePrefetchTaskRequest,
DeleteApplicationProxyRuleRequest: DeleteApplicationProxyRuleRequest,
CacheConfigFollowOrigin: CacheConfigFollowOrigin,
ACLCondition: ACLCondition,
DescribeTopL7AnalysisDataRequest: DescribeTopL7AnalysisDataRequest,
TopNEntry: TopNEntry,
DescribeApplicationProxyResponse: DescribeApplicationProxyResponse,
CreateLoadBalancingResponse: CreateLoadBalancingResponse,
DescribeTopL7CacheDataResponse: DescribeTopL7CacheDataResponse,
DescribeOverviewL7DataRequest: DescribeOverviewL7DataRequest,
SwitchConfig: SwitchConfig,
IdentifyZoneResponse: IdentifyZoneResponse,
WebSocket: WebSocket,
DataItem: DataItem,
ModifyLoadBalancingRequest: ModifyLoadBalancingRequest,
CreateLoadBalancingRequest: CreateLoadBalancingRequest,
DescribeDnssecRequest: DescribeDnssecRequest,
DescribeWebProtectionLogResponse: DescribeWebProtectionLogResponse,
CCInterceptEventData: CCInterceptEventData,
DescribeLoadBalancingDetailResponse: DescribeLoadBalancingDetailResponse,
SecurityConfig: SecurityConfig,
DDosMajorAttackEventData: DDosMajorAttackEventData,
DescribeBotManagedRulesResponse: DescribeBotManagedRulesResponse,
DnsRecord: DnsRecord,
TopDataRecord: TopDataRecord,
DDoSAntiPly: DDoSAntiPly,
DescribeWebManagedRulesDataRequest: DescribeWebManagedRulesDataRequest,
DDosAttackSourceEventData: DDosAttackSourceEventData,
ModifyDDoSPolicyResponse: ModifyDDoSPolicyResponse,
DescribeDnsRecordsRequest: DescribeDnsRecordsRequest,
CreatePrefetchTaskResponse: CreatePrefetchTaskResponse,
WafRule: WafRule,
DescribeDefaultCertificatesRequest: DescribeDefaultCertificatesRequest,
GeoIp: GeoIp,
DescribeSecurityPolicyRequest: DescribeSecurityPolicyRequest,
ModifyApplicationProxyRuleResponse: ModifyApplicationProxyRuleResponse,
DDosAttackEvent: DDosAttackEvent,
FailReason: FailReason,
CreateZoneRequest: CreateZoneRequest,
RateLimitConfig: RateLimitConfig,
DescribeTimingL7CacheDataRequest: DescribeTimingL7CacheDataRequest,
DescribeSecurityPolicyListResponse: DescribeSecurityPolicyListResponse,
DescribePurgeTasksResponse: DescribePurgeTasksResponse,
OriginRecordPrivateParameter: OriginRecordPrivateParameter,
CheckCertificateResponse: CheckCertificateResponse,
DDoSApplication: DDoSApplication,
DownloadL7LogsRequest: DownloadL7LogsRequest,
DeleteLoadBalancingResponse: DeleteLoadBalancingResponse,
DescribeWebProtectionDataRequest: DescribeWebProtectionDataRequest,
CheckCertificateRequest: CheckCertificateRequest,
DescribeSecurityPortraitRulesResponse: DescribeSecurityPortraitRulesResponse,
CreateApplicationProxyRuleRequest: CreateApplicationProxyRuleRequest,
BotManagedRuleDetail: BotManagedRuleDetail,
ForceRedirect: ForceRedirect,
ModifyApplicationProxyRequest: ModifyApplicationProxyRequest,
ModifyApplicationProxyStatusResponse: ModifyApplicationProxyStatusResponse,
IdentifyZoneRequest: IdentifyZoneRequest,
DetailHost: DetailHost,
RateLimitUserRule: RateLimitUserRule,
DescribeDnsRecordsResponse: DescribeDnsRecordsResponse,
DescribeDefaultCertificatesResponse: DescribeDefaultCertificatesResponse,
CachePrefresh: CachePrefresh,
DescribeTimingL7AnalysisDataResponse: DescribeTimingL7AnalysisDataResponse,
PortraitManagedRuleDetail: PortraitManagedRuleDetail,
BotPortraitRule: BotPortraitRule,
DescribeWebProtectionAttackEventsRequest: DescribeWebProtectionAttackEventsRequest,
DescribeOverviewL7DataResponse: DescribeOverviewL7DataResponse,
DescribeHostsCertificateRequest: DescribeHostsCertificateRequest,
DescribeSecurityPolicyManagedRulesResponse: DescribeSecurityPolicyManagedRulesResponse,
OriginGroup: OriginGroup,
DescribeApplicationProxyRequest: DescribeApplicationProxyRequest,
TopNEntryValue: TopNEntryValue,
ModifyDDoSPolicyHostResponse: ModifyDDoSPolicyHostResponse,
ModifyApplicationProxyRuleStatusRequest: ModifyApplicationProxyRuleStatusRequest,
ModifyLoadBalancingResponse: ModifyLoadBalancingResponse,
WebAttackEvent: WebAttackEvent,
DescribeDDosAttackTopDataRequest: DescribeDDosAttackTopDataRequest,
CreateApplicationProxyRuleResponse: CreateApplicationProxyRuleResponse,
DescribeDDosAttackDataRequest: DescribeDDosAttackDataRequest,
ModifyDnsRecordResponse: ModifyDnsRecordResponse,
RateLimitTemplateDetail: RateLimitTemplateDetail,
TimingDataItem: TimingDataItem,
CreateApplicationProxyRequest: CreateApplicationProxyRequest,
DescribeTopL7AnalysisDataResponse: DescribeTopL7AnalysisDataResponse,
IntelligenceRuleItem: IntelligenceRuleItem,
IntelligenceRule: IntelligenceRule,
PostMaxSize: PostMaxSize,
OriginCheckOriginStatus: OriginCheckOriginStatus,
ManagedRule: ManagedRule,
Filter: Filter,
DescribeWebManagedRulesAttackEventsRequest: DescribeWebManagedRulesAttackEventsRequest,
DescribeCnameStatusRequest: DescribeCnameStatusRequest,
CreateCustomErrorPageRequest: CreateCustomErrorPageRequest,
DescribeDnssecResponse: DescribeDnssecResponse,
CreateZoneResponse: CreateZoneResponse,
DnsDataFilter: DnsDataFilter,
DeleteLoadBalancingRequest: DeleteLoadBalancingRequest,
DescribeTimingL7AnalysisDataRequest: DescribeTimingL7AnalysisDataRequest,
DescribeSecurityPolicyManagedRulesIdResponse: DescribeSecurityPolicyManagedRulesIdResponse,
WebEventData: WebEventData,
ApplicationProxy: ApplicationProxy,
ModifyApplicationProxyResponse: ModifyApplicationProxyResponse,
DescribeDDoSPolicyResponse: DescribeDDoSPolicyResponse,
CacheKey: CacheKey,
ModifyOriginGroupRequest: ModifyOriginGroupRequest,
ModifyApplicationProxyRuleStatusResponse: ModifyApplicationProxyRuleStatusResponse,
DescribeSecurityPolicyListRequest: DescribeSecurityPolicyListRequest,
DescribeTimingL7CacheDataResponse: DescribeTimingL7CacheDataResponse,
DescribeApplicationProxyDetailRequest: DescribeApplicationProxyDetailRequest,
RateLimitIntelligence: RateLimitIntelligence,
IpTableConfig: IpTableConfig,
DeleteOriginGroupResponse: DeleteOriginGroupResponse,
Header: Header,
VanityNameServersIps: VanityNameServersIps,
DescribeDDosAttackSourceEventResponse: DescribeDDosAttackSourceEventResponse,
DescribeZoneDetailsRequest: DescribeZoneDetailsRequest,
DescribeDDoSPolicyRequest: DescribeDDoSPolicyRequest,
SecEntry: SecEntry,
DescribeDDosMajorAttackEventRequest: DescribeDDosMajorAttackEventRequest,
Quic: Quic,
CreateOriginGroupResponse: CreateOriginGroupResponse,
DescribeSecurityPolicyResponse: DescribeSecurityPolicyResponse,
QueryString: QueryString,
DescribeSecurityPolicyRegionsRequest: DescribeSecurityPolicyRegionsRequest,
SecEntryValue: SecEntryValue,
ReclaimZoneRequest: ReclaimZoneRequest,
DeleteZoneRequest: DeleteZoneRequest,
BotManagedRule: BotManagedRule,
ModifyDefaultCertificateResponse: ModifyDefaultCertificateResponse,
DescribeDDosAttackEventRequest: DescribeDDosAttackEventRequest,
ClientIp: ClientIp,
DnsRecordFilter: DnsRecordFilter,
DescribeHostsCertificateResponse: DescribeHostsCertificateResponse,
DescribeZoneSettingResponse: DescribeZoneSettingResponse,
AiRule: AiRule,
MaxAge: MaxAge,
DescribePurgeTasksRequest: DescribePurgeTasksRequest,
QueryCondition: QueryCondition,
DescribeDnsDataRequest: DescribeDnsDataRequest,
CacheConfig: CacheConfig,
DescribeDDosAttackEventDetailResponse: DescribeDDosAttackEventDetailResponse,
ModifyApplicationProxyRuleRequest: ModifyApplicationProxyRuleRequest,
ModifyDDoSPolicyRequest: ModifyDDoSPolicyRequest,
ModifyZoneCnameSpeedUpResponse: ModifyZoneCnameSpeedUpResponse,
DescribeWebProtectionLogRequest: DescribeWebProtectionLogRequest,
CCLogData: CCLogData,
DescribePrefetchTasksRequest: DescribePrefetchTasksRequest,
Task: Task,
DeleteDnsRecordsRequest: DeleteDnsRecordsRequest,
DdosAllowBlock: DdosAllowBlock,
DDoSGeoIp: DDoSGeoIp,
DescribeZoneDDoSPolicyResponse: DescribeZoneDDoSPolicyResponse,
CnameStatus: CnameStatus,
DescribeDDosMajorAttackEventResponse: DescribeDDosMajorAttackEventResponse,
DDoSFeaturesFilter: DDoSFeaturesFilter,
DescribeWebProtectionAttackEventsResponse: DescribeWebProtectionAttackEventsResponse,
CreatePurgeTaskRequest: CreatePurgeTaskRequest,
Resource: Resource,
DeleteDnsRecordsResponse: DeleteDnsRecordsResponse,
DescribeBotLogRequest: DescribeBotLogRequest,
DownloadL7LogsResponse: DownloadL7LogsResponse,
DDosAttackEventDetailData: DDosAttackEventDetailData,
CreateOriginGroupRequest: CreateOriginGroupRequest,
DescribeTimingL4DataRequest: DescribeTimingL4DataRequest,
DescribeHostsSettingRequest: DescribeHostsSettingRequest,
DescribeZoneDDoSPolicyRequest: DescribeZoneDDoSPolicyRequest,
DescribeDDosAttackDataResponse: DescribeDDosAttackDataResponse,
DescribeWebManagedRulesLogRequest: DescribeWebManagedRulesLogRequest,
CreateApplicationProxyRulesResponse: CreateApplicationProxyRulesResponse,
DescribeWebManagedRulesTopDataRequest: DescribeWebManagedRulesTopDataRequest,
DescribeIdentificationResponse: DescribeIdentificationResponse,
DDosMajorAttackEvent: DDosMajorAttackEvent,
ModifyZoneCnameSpeedUpRequest: ModifyZoneCnameSpeedUpRequest,
DescribeApplicationProxyDetailResponse: DescribeApplicationProxyDetailResponse,
DDoSUserAllowBlockIP: DDoSUserAllowBlockIP,
DescribeBotLogResponse: DescribeBotLogResponse,
DescribeLoadBalancingResponse: DescribeLoadBalancingResponse,
DescribeWebProtectionDataResponse: DescribeWebProtectionDataResponse,
ModifyDnssecResponse: ModifyDnssecResponse,
ScanDnsRecordsRequest: ScanDnsRecordsRequest,
VanityNameServers: VanityNameServers,
ImportDnsRecordsResponse: ImportDnsRecordsResponse,
DescribeLoadBalancingDetailRequest: DescribeLoadBalancingDetailRequest,
DefaultServerCertInfo: DefaultServerCertInfo,
DnssecInfo: DnssecInfo,
DescribeOriginGroupRequest: DescribeOriginGroupRequest,
DescribeOriginGroupDetailResponse: DescribeOriginGroupDetailResponse,
UpstreamHttp2: UpstreamHttp2,
OfflineCache: OfflineCache,
DescribeOriginGroupDetailRequest: DescribeOriginGroupDetailRequest,
DescribeDDosAttackEventDetailRequest: DescribeDDosAttackEventDetailRequest,
DescribeTimingL4DataResponse: DescribeTimingL4DataResponse,
Sv: Sv,
BotConfig: BotConfig,
TimingTypeValue: TimingTypeValue,
DescribeBotManagedRulesRequest: DescribeBotManagedRulesRequest,
}