tencentcloud-sdk-nodejs-intl-en
Version:
2,089 lines (1,761 loc) • 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