UNPKG

tencentcloud-sdk-nodejs-intl-en

Version:
1,748 lines (1,482 loc) • 891 kB
/* * 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"); /** * DeployConfigGroupVersion request structure. * @class */ class DeployConfigGroupVersionRequest extends AbstractModel { constructor(){ super(); /** * Zone ID. * @type {string || null} */ this.ZoneId = null; /** * Environment ID. Please specify the environment ID to which the version should be released. * @type {string || null} */ this.EnvId = null; /** * Version information required for release. Multiple versions of different configuration groups can be modified simultaneously, while each group allows modifying only one version at a time. * @type {Array.<ConfigGroupVersionInfo> || null} */ this.ConfigGroupVersionInfos = null; /** * Change description. It is used to describe the content and reasons for this change. A maximum of 100 characters are supported. * @type {string || null} */ this.Description = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ZoneId = 'ZoneId' in params ? params.ZoneId : null; this.EnvId = 'EnvId' in params ? params.EnvId : null; if (params.ConfigGroupVersionInfos) { this.ConfigGroupVersionInfos = new Array(); for (let z in params.ConfigGroupVersionInfos) { let obj = new ConfigGroupVersionInfo(); obj.deserialize(params.ConfigGroupVersionInfos[z]); this.ConfigGroupVersionInfos.push(obj); } } this.Description = 'Description' in params ? params.Description : null; } } /** * Auto-renewal configuration item in a prepaid plan. * @class */ class RenewFlag extends AbstractModel { constructor(){ super(); /** * The auto-renewal flag for prepaid plan has the following values: <li> on: Enable auto-renewal;</li> <li> off: Disable auto-renewal. </li> * @type {string || null} */ this.Switch = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Switch = 'Switch' in params ? params.Switch : null; } } /** * Smart compression configuration. * @class */ class Compression extends AbstractModel { constructor(){ super(); /** * Whether to enable smart compression. Values: <li>`on`: Enable</li> <li>`off`: Disable</li> * @type {string || null} */ this.Switch = null; /** * Compression algorithm. Values: <li>`brotli`: Brotli algorithm</li> <li>`gzip`: Gzip algorithm</li> Note: This field may return null, indicating that no valid values can be obtained. * @type {Array.<string> || null} */ this.Algorithms = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Switch = 'Switch' in params ? params.Switch : null; this.Algorithms = 'Algorithms' in params ? params.Algorithms : null; } } /** * DescribeFunctions response structure. * @class */ class DescribeFunctionsResponse extends AbstractModel { constructor(){ super(); /** * Total number of functions that meet the query condition. * @type {number || null} */ this.TotalCount = null; /** * Information of all functions that meet the query condition. * @type {Array.<Function> || null} */ this.Functions = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; if (params.Functions) { this.Functions = new Array(); for (let z in params.Functions) { let obj = new Function(); obj.deserialize(params.Functions[z]); this.Functions.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * DeleteL4ProxyRules request structure. * @class */ class DeleteL4ProxyRulesRequest extends AbstractModel { constructor(){ super(); /** * Zone ID. * @type {string || null} */ this.ZoneId = null; /** * Layer 4 proxy instance ID. * @type {string || null} */ this.ProxyId = null; /** * List of forwarding rule IDs. It supports up to 200 forwarding rules at a time. * @type {Array.<string> || null} */ this.RuleIds = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ZoneId = 'ZoneId' in params ? params.ZoneId : null; this.ProxyId = 'ProxyId' in params ? params.ProxyId : null; this.RuleIds = 'RuleIds' in params ? params.RuleIds : null; } } /** * DescribeOriginGroup response structure. * @class */ class DescribeOriginGroupResponse extends AbstractModel { constructor(){ super(); /** * Total number of records. * @type {number || null} */ this.TotalCount = null; /** * Origin group information. * @type {Array.<OriginGroup> || null} */ this.OriginGroups = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; if (params.OriginGroups) { this.OriginGroups = new Array(); for (let z in params.OriginGroups) { let obj = new OriginGroup(); obj.deserialize(params.OriginGroups[z]); this.OriginGroups.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * DescribeSecurityIPGroupInfo response structure. * @class */ class DescribeSecurityIPGroupInfoResponse extends AbstractModel { constructor(){ super(); /** * The number of IP groups that meet the conditions. * @type {number || null} */ this.TotalCount = null; /** * Detailed configuration information of the IP group, including the ID, name, and IP/network segment list of each IP group. * @type {Array.<IPGroup> || null} */ this.IPGroups = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; if (params.IPGroups) { this.IPGroups = new Array(); for (let z in params.IPGroups) { let obj = new IPGroup(); obj.deserialize(params.IPGroups[z]); this.IPGroups.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * Slow attack defense configuration. * @class */ class SlowPostConfig extends AbstractModel { constructor(){ super(); /** * Values: <li>`on`: Enable</li> <li>`off`: Disable</li> * @type {string || null} */ this.Switch = null; /** * Detect slow attacks by the transfer period of the first 8 KB of requests Note: This field may return `null`, indicating that no valid value can be obtained. * @type {FirstPartConfig || null} */ this.FirstPartConfig = null; /** * Detect slow attacks by the data rate of the main body (excluding the first 8 KB) of requests Note: This field may return `null`, indicating that no valid value can be obtained. * @type {SlowRateConfig || null} */ this.SlowRateConfig = null; /** * The action to taken when a slow attack is detected. Values: <li>`monitor`: Observe</li> <li>`drop`: Block the request</li> Note: This field may return `null`, indicating that no valid value can be obtained. * @type {string || null} */ this.Action = 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; } /** * @private */ deserialize(params) { if (!params) { return; } this.Switch = 'Switch' in params ? params.Switch : null; if (params.FirstPartConfig) { let obj = new FirstPartConfig(); obj.deserialize(params.FirstPartConfig) this.FirstPartConfig = obj; } if (params.SlowRateConfig) { let obj = new SlowRateConfig(); obj.deserialize(params.SlowRateConfig) this.SlowRateConfig = obj; } this.Action = 'Action' in params ? params.Action : null; this.RuleId = 'RuleId' in params ? params.RuleId : null; } } /** * Origin group record * @class */ class OriginRecord extends AbstractModel { constructor(){ super(); /** * The origin record value, which can be an IPv4/IPv6 address or a domain name. * @type {string || null} */ this.Record = null; /** * The origin type. Values: <li>`IP_DOMAIN`: IPv4/IPv6 address or domain name</li> <li>`COS`: COS bucket address</li> <li>`AWS_S3`: AWS S3 bucket address * @type {string || null} */ this.Type = null; /** * The origin record ID. * @type {string || null} */ this.RecordId = null; /** * Weight of an origin. Range: 0-100. If it is not specified, a random weight is assigned. If `0` is passed in, there is no traffic scheduled to this origin. Note: This field may returnĀ·null, indicating that no valid values can be obtained. * @type {number || null} */ this.Weight = null; /** * Whether to enable private authentication. It is valid when `OriginType=COS/AWS_S3`. Values: <li>`true`: Yes.</li> <li>`false`: No.</li>Default: `false`. * @type {boolean || null} */ this.Private = null; /** * Private authentication parameters. This field is valid when `Private=true`. * @type {Array.<PrivateParameter> || null} */ this.PrivateParameters = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Record = 'Record' in params ? params.Record : null; this.Type = 'Type' in params ? params.Type : null; this.RecordId = 'RecordId' in params ? params.RecordId : null; this.Weight = 'Weight' in params ? params.Weight : null; this.Private = 'Private' in params ? params.Private : null; if (params.PrivateParameters) { this.PrivateParameters = new Array(); for (let z in params.PrivateParameters) { let obj = new PrivateParameter(); obj.deserialize(params.PrivateParameters[z]); this.PrivateParameters.push(obj); } } } } /** * Smart compression configuration. * @class */ class CompressionParameters extends AbstractModel { constructor(){ super(); /** * Whether to enable smart compression. values:. <Li>`On`: enable;</li> . <Li>Off: disable.</li>. * @type {string || null} */ this.Switch = null; /** * Supported compression algorithm list. this field is required when switch is on; otherwise, it is not effective. valid values:. <Li>`Brotli`: brotli algorithm;</li>. <Li>`Gzip`: gzip algorithm.</li>. * @type {Array.<string> || null} */ this.Algorithms = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Switch = 'Switch' in params ? params.Switch : null; this.Algorithms = 'Algorithms' in params ? params.Algorithms : null; } } /** * DescribeConfigGroupVersionDetail response structure. * @class */ class DescribeConfigGroupVersionDetailResponse extends AbstractModel { constructor(){ super(); /** * Version information. * @type {ConfigGroupVersionInfo || null} */ this.ConfigGroupVersionInfo = null; /** * Version file content. It is returned in JSON format. * @type {string || null} */ this.Content = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.ConfigGroupVersionInfo) { let obj = new ConfigGroupVersionInfo(); obj.deserialize(params.ConfigGroupVersionInfo) this.ConfigGroupVersionInfo = obj; } this.Content = 'Content' in params ? params.Content : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * Details of the origin. * @class */ class OriginDetail extends AbstractModel { constructor(){ super(); /** * Origin server type. Valid values: <li>IP_DOMAIN: IPv4, IPv6, or domain name type origin server;</li> <li>COS: Tencent Cloud COS origin server;</li> <li>AWS_S3: AWS S3 COS origin server;</li> <li>ORIGIN_GROUP: origin server group;</li> <li>VOD: Video on Demand;</li> <li>SPACE: origin server uninstallation, currently only available to the allowlist;</li> <li>LB: load balancing. Currently only available to the allowlist. </li> * @type {string || null} */ this.OriginType = null; /** * Origin server address, which varies with the value of OriginType: <li>When OriginType = IP_DOMAIN, this parameter is an IPv4 address, an IPv6 address, or a domain name.</li> <li>When OriginType = COS, this parameter is the access domain name of the COS bucket.</li> <li>When OriginType = AWS_S3, this parameter is the access domain name of the S3 bucket.</li> <li>When OriginType = ORIGIN_GROUP, this parameter is the origin server group ID.</li> <li>When OriginType = VOD, this parameter is the VOD application ID.</li> * @type {string || null} */ this.Origin = null; /** * Secondary origin group ID. This parameter is valid only when OriginType is ORIGIN_GROUP and a secondary origin group is configured. * @type {string || null} */ this.BackupOrigin = null; /** * Primary origin group name. This parameter returns a value when OriginType is ORIGIN_GROUP. * @type {string || null} */ this.OriginGroupName = null; /** * Secondary origin group name. This parameter is valid only when OriginType is ORIGIN_GROUP and a secondary origin group is configured. * @type {string || null} */ this.BackOriginGroupName = null; /** * Whether access to the private object storage origin server is allowed. This parameter is valid only when the origin server type OriginType is COS or AWS_S3. Valid values: <li>on: Enable private authentication;</li> <li>off: Disable private authentication. </li> If this field is not specified, the default value 'off' will be used. * @type {string || null} */ this.PrivateAccess = null; /** * Private authentication parameter. This parameter is valid only when PrivateAccess is on. Note: This field may return null, indicating that no valid values can be obtained. * @type {Array.<PrivateParameter> || null} */ this.PrivateParameters = null; /** * MO sub-application ID * @type {number || null} */ this.VodeoSubAppId = null; /** * MO distribution range. Valid values: <li>All: all</li> <li>Bucket: bucket</li> * @type {string || null} */ this.VodeoDistributionRange = null; /** * MO bucket ID, required when the distribution range (DistributionRange) is bucket (Bucket) * @type {string || null} */ this.VodeoBucketId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.OriginType = 'OriginType' in params ? params.OriginType : null; this.Origin = 'Origin' in params ? params.Origin : null; this.BackupOrigin = 'BackupOrigin' in params ? params.BackupOrigin : null; this.OriginGroupName = 'OriginGroupName' in params ? params.OriginGroupName : null; this.BackOriginGroupName = 'BackOriginGroupName' in params ? params.BackOriginGroupName : null; this.PrivateAccess = 'PrivateAccess' in params ? params.PrivateAccess : null; if (params.PrivateParameters) { this.PrivateParameters = new Array(); for (let z in params.PrivateParameters) { let obj = new PrivateParameter(); obj.deserialize(params.PrivateParameters[z]); this.PrivateParameters.push(obj); } } this.VodeoSubAppId = 'VodeoSubAppId' in params ? params.VodeoSubAppId : null; this.VodeoDistributionRange = 'VodeoDistributionRange' in params ? params.VodeoDistributionRange : null; this.VodeoBucketId = 'VodeoBucketId' in params ? params.VodeoBucketId : null; } } /** * HTTP header setting rules. * @class */ class HeaderAction extends AbstractModel { constructor(){ super(); /** * HTTP header setting methods. valid values are:. <Li>`Set`: sets a value for an existing header parameter;</li>. <Li>`Del`: deletes a header parameter;</li>. <Li>`Add`: adds a header parameter.</li>. * @type {string || null} */ this.Action = null; /** * HTTP header name. * @type {string || null} */ this.Name = null; /** * HTTP header value. this parameter is required when the action is set to `set` or `add`; it is optional when the action is set to `del`. * @type {string || null} */ this.Value = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Action = 'Action' in params ? params.Action : null; this.Name = 'Name' in params ? params.Name : null; this.Value = 'Value' in params ? params.Value : null; } } /** * Real-time log delivery task * @class */ class RealtimeLogDeliveryTask extends AbstractModel { constructor(){ super(); /** * ID of a real-time log shipping task. * @type {string || null} */ this.TaskId = null; /** * Name of a real-time log shipping task. * @type {string || null} */ this.TaskName = null; /** * Status of a real-time log shipping task. Valid values: <li>enabled: enabled;</li><li>disabled: disabled;</li><li>deleted: deleted abnormally. Check whether the destination log set/log topic of Tencent Cloud CLS has been deleted.</li> * @type {string || null} */ this.DeliveryStatus = null; /** * Type of a real-time log shipping task. Valid values:<li>cls: push to Tencent Cloud CLS;</li><li>custom_endpoint: push to a custom HTTP(S) address;</li><li>s3: push to an AWS S3-compatible bucket address.</li> * @type {string || null} */ this.TaskType = null; /** * List of entities (L7 domain names or L4 proxy instances) corresponding to a real-time log shipping task. Valid value examples: <li>L7 domain name: domain.example.com;</li><li>L4 proxy instance: sid-2s69eb5wcms7.</li> * @type {Array.<string> || null} */ this.EntityList = null; /** * Data shipping type. Valid values: <li>domain: site acceleration logs;</li><li>application: L4 proxy logs;</li><li>web-rateLiming: rate limiting and CC attack defense logs;</li><li>web-attack: managed rule logs;</li><li>web-rule: custom rule logs;</li><li>web-bot: Bot management logs.</li> * @type {string || null} */ this.LogType = null; /** * Data shipping area. Valid values:<li>mainland: within the Chinese mainland;</li><li>overseas: global (excluding the Chinese mainland).</li> * @type {string || null} */ this.Area = null; /** * List of predefined fields for shipping. * @type {Array.<string> || null} */ this.Fields = null; /** * List of custom fields for shipping. * @type {Array.<CustomField> || null} */ this.CustomFields = null; /** * Filter criteria of log shipping. * @type {Array.<DeliveryCondition> || null} */ this.DeliveryConditions = null; /** * Sampling ratio in permille. Value range: 1-1000. For example, 605 indicates a sampling ratio of 60.5%. * @type {number || null} */ this.Sample = null; /** * Output format for log delivery. When the output parameter is null, the default format is used, which works as follows: <li>When TaskType is 'custom_endpoint', the default format is an array of JSON objects, with each JSON object representing a log entry;</li> <li>When TaskType is 's3', the default format is JSON Lines. </li> Note: This field may return 'null', which indicates a failure to obtain a valid value. * @type {LogFormat || null} */ this.LogFormat = null; /** * Configuration information of the CLS. Note: This field may return null, which indicates a failure to obtain a valid value. * @type {CLSTopic || null} */ this.CLS = null; /** * Configuration information of the custom HTTP service. Note: This field may return null, which indicates a failure to obtain a valid value. * @type {CustomEndpoint || null} */ this.CustomEndpoint = null; /** * Configuration information of the AWS S3-compatible bucket. Note: This field may return null, which indicates a failure to obtain a valid value. * @type {S3 || null} */ this.S3 = null; /** * Creation time. * @type {string || null} */ this.CreateTime = null; /** * Update time. * @type {string || null} */ this.UpdateTime = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TaskId = 'TaskId' in params ? params.TaskId : null; this.TaskName = 'TaskName' in params ? params.TaskName : null; this.DeliveryStatus = 'DeliveryStatus' in params ? params.DeliveryStatus : null; this.TaskType = 'TaskType' in params ? params.TaskType : null; this.EntityList = 'EntityList' in params ? params.EntityList : null; this.LogType = 'LogType' in params ? params.LogType : null; this.Area = 'Area' in params ? params.Area : null; this.Fields = 'Fields' in params ? params.Fields : null; if (params.CustomFields) { this.CustomFields = new Array(); for (let z in params.CustomFields) { let obj = new CustomField(); obj.deserialize(params.CustomFields[z]); this.CustomFields.push(obj); } } if (params.DeliveryConditions) { this.DeliveryConditions = new Array(); for (let z in params.DeliveryConditions) { let obj = new DeliveryCondition(); obj.deserialize(params.DeliveryConditions[z]); this.DeliveryConditions.push(obj); } } this.Sample = 'Sample' in params ? params.Sample : null; if (params.LogFormat) { let obj = new LogFormat(); obj.deserialize(params.LogFormat) this.LogFormat = obj; } if (params.CLS) { let obj = new CLSTopic(); obj.deserialize(params.CLS) this.CLS = obj; } if (params.CustomEndpoint) { let obj = new CustomEndpoint(); obj.deserialize(params.CustomEndpoint) this.CustomEndpoint = obj; } if (params.S3) { let obj = new S3(); obj.deserialize(params.S3) this.S3 = obj; } this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null; } } /** * Prepaid Plan Billing Parameters * @class */ class PrepaidPlanParam extends AbstractModel { constructor(){ super(); /** * Prepaid plan duration, unit: month. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. If this field is not specified, the default value '1' will be used. * @type {number || null} */ this.Period = null; /** * The auto-renewal flag for prepaid plan has the following values: <li> on: Enable auto-renewal;</li> <li> off: Disable auto-renewal. </li> If this field is not specified, the default value 'off' will be used. When auto-renewal is enabled, it defaults to renewing for one month. * @type {string || null} */ this.RenewFlag = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Period = 'Period' in params ? params.Period : null; this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null; } } /** * Access URL redirect configuration parameters. * @class */ class AccessURLRedirectQueryString extends AbstractModel { constructor(){ super(); /** * Action to be executed. values:. <Li>`Full`: retain all</li>. <Li>`Ignore`: ignore all</li>. * @type {string || null} */ this.Action = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Action = 'Action' in params ? params.Action : null; } } /** * ModifyFunctionRulePriority request structure. * @class */ class ModifyFunctionRulePriorityRequest extends AbstractModel { constructor(){ super(); /** * Zone ID. * @type {string || null} */ this.ZoneId = null; /** * Rule ID list. All rule IDs after priority adjustment must be input. Multiple rules are executed from top to bottom. If this parameter is not input, the original priority order is maintained. * @type {Array.<string> || null} */ this.RuleIds = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ZoneId = 'ZoneId' in params ? params.ZoneId : null; this.RuleIds = 'RuleIds' in params ? params.RuleIds : null; } } /** * ModifyAccelerationDomain response structure. * @class */ class ModifyAccelerationDomainResponse extends AbstractModel { constructor(){ super(); /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * The top-ranked data * @class */ class TopEntryValue extends AbstractModel { constructor(){ super(); /** * The item name. * @type {string || null} */ this.Name = null; /** * The number of items. * @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; } } /** * DescribeHostsSetting response structure. * @class */ class DescribeHostsSettingResponse extends AbstractModel { constructor(){ super(); /** * List of domain names. * @type {Array.<DetailHost> || null} */ this.DetailHosts = null; /** * Number of domain names * @type {number || null} */ this.TotalNumber = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.DetailHosts) { this.DetailHosts = new Array(); for (let z in params.DetailHosts) { let obj = new DetailHost(); obj.deserialize(params.DetailHosts[z]); this.DetailHosts.push(obj); } } this.TotalNumber = 'TotalNumber' in params ? params.TotalNumber : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * The origin server configuration. * @class */ class Origin extends AbstractModel { constructor(){ super(); /** * Primary origin server list Note: This field may return null, indicating that no valid values can be obtained. * @type {Array.<string> || null} */ this.Origins = null; /** * The list of backup origin servers. Note: This field may return null, indicating that no valid values can be obtained. * @type {Array.<string> || null} */ this.BackupOrigins = null; /** * Origin-pull protocol configuration. Values: <li>`http`: Force HTTP for origin-pull.</li> <li>`follow`: Follow protocol.</li> <li>`https`: Force HTTPS for origin-pull.</li> Note: This field may return `null`, indicating that no valid value can be obtained. * @type {string || null} */ this.OriginPullProtocol = null; /** * Whether to allow private access to buckets when `OriginType=cos`. Valid values: <li>`on`: Private access;</li> <li>`off`: Public access.</li> Note: This field may return `null`, indicating that no valid values can be obtained. * @type {string || null} */ this.CosPrivateAccess = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Origins = 'Origins' in params ? params.Origins : null; this.BackupOrigins = 'BackupOrigins' in params ? params.BackupOrigins : null; this.OriginPullProtocol = 'OriginPullProtocol' in params ? params.OriginPullProtocol : null; this.CosPrivateAccess = 'CosPrivateAccess' in params ? params.CosPrivateAccess : null; } } /** * DescribeRules response structure. * @class */ class DescribeRulesResponse extends AbstractModel { constructor(){ super(); /** * ID of the site * @type {string || null} */ this.ZoneId = null; /** * List of rules. Rules are sorted in order of execution. * @type {Array.<RuleItem> || null} */ this.RuleItems = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ZoneId = 'ZoneId' in params ? params.ZoneId : null; if (params.RuleItems) { this.RuleItems = new Array(); for (let z in params.RuleItems) { let obj = new RuleItem(); obj.deserialize(params.RuleItems[z]); this.RuleItems.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * The time-series data * @class */ class TimingDataRecord extends AbstractModel { constructor(){ super(); /** * The query dimension value. * @type {string || null} */ this.TypeKey = null; /** * Detailed time series data * @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); } } } } /** * CreateCLSIndex response structure. * @class */ class CreateCLSIndexResponse extends AbstractModel { constructor(){ super(); /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * DescribeRealtimeLogDeliveryTasks request structure. * @class */ class DescribeRealtimeLogDeliveryTasksRequest extends AbstractModel { constructor(){ super(); /** * Zone ID. * @type {string || null} */ this.ZoneId = null; /** * The offset of paginated query. Default value: 0. * @type {number || null} */ this.Offset = null; /** * The limit of paginated query. Default value: 20. Maximum value: 1000. * @type {number || null} */ this.Limit = null; /** * Filter conditions. The maximum value for Filters.Values is 20. If this field is not filled in, all the real-time log delivery task information under the current zone-id will be returned. Detailed filter conditions are as follows: <li>task-id: Filter by real-time log delivery task ID. Fuzzy search is not supported.</li> <li>task-name: Filter by real-time log delivery task name. Fuzzy search is supported, but only one real-time log delivery task name can be filled in for fuzzy search.</li> <li>entity-list: Filter by entity corresponding to the real-time log delivery task. Fuzzy search is not supported. Example values: domain.example.com or sid-2s69eb5wcms7.</li> <li>task-type: Filter by real-time log delivery task type. Fuzzy search is not supported. Optional values:<br>cls: Push to Tencent Cloud CLS;<br>custom_endpoint: Push to a user-defined HTTP(S) address;<br>s3: Push to an AWS S3-compatible bucket address.</li> * @type {Array.<AdvancedFilter> || null} */ this.Filters = 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 AdvancedFilter(); obj.deserialize(params.Filters[z]); this.Filters.push(obj); } } } } /** * DescribeOriginProtection response structure. * @class */ class DescribeOriginProtectionResponse extends AbstractModel { constructor(){ super(); /** * Origin protection configuration. Note: This field may return `null`, indicating that no valid values can be obtained. * @type {Array.<OriginProtectionInfo> || null} */ this.OriginProtectionInfo = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.OriginProtectionInfo) { this.OriginProtectionInfo = new Array(); for (let z in params.OriginProtectionInfo) { let obj = new OriginProtectionInfo(); obj.deserialize(params.OriginProtectionInfo[z]); this.OriginProtectionInfo.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * DescribeBillingData request structure. * @class */ class DescribeBillingDataRequest extends AbstractModel { constructor(){ super(); /** * Start time. * @type {string || null} */ this.StartTime = null; /** * End time. * @type {string || null} */ this.EndTime = null; /** * Site ID set. This parameter is required. * @type {Array.<string> || null} */ this.ZoneIds = null; /** * Metric list. Valid values: <li>acc_flux: content acceleration traffic, in bytes;</li> <li>smt_flux: smart acceleration traffic, in bytes;</li> <li>l4_flux: L4 acceleration traffic, in bytes;</li> <li>sec_flux: exclusive protection traffic, in bytes;</li> <li>zxctg_flux: network optimization traffic in the Chinese mainland, in bytes;</li> <li>acc_bandwidth: content acceleration bandwidth, in bps;</li> <li>smt_bandwidth: smart acceleration bandwidth, in bps;</li> <li>l4_bandwidth: L4 acceleration bandwidth, in bps;</li> <li>sec_bandwidth: exclusive protection bandwidth, in bps;</li> <li>zxctg_bandwidth: network optimization bandwidth in the Chinese mainland, in bps;</li> <li>sec_request_clean: number of HTTP/HTTPS requests;</li> <li>smt_request_clean: number of smart acceleration requests;</li> <li>quic_request: number of QUIC requests;</li> <li>bot_request_clean: number of Bot requests;</li> <li>cls_count: number of real-time log entries pushed;</li> <li>ddos_bandwidth: elastic DDoS protection bandwidth, in bps.</li> * @type {string || null} */ this.MetricName = null; /** * Time granularity of the query. Valid values: <li>5min: 5 minutes;</li> <li>hour: 1 hour;</li> <li>day: 1 day.</li> * @type {string || null} */ this.Interval = null; /** * Filter criteria. The detailed values of filter criteria are as follows: <li>host: Filter by domain name, such as test.example.com.<br></li> <li>proxy-id: Filter by L4 proxy instance ID, such as sid-2rugn89bkla9.<br></li> <li>region-id: Filter by billing region. Options:<br> CH: Chinese mainland<br> AF: Africa<br> AS1: Asia-Pacific Region 1<br> AS2: Asia-Pacific Region 2<br> AS3: Asia-Pacific Region 3<br> EU: Europe<br> MidEast: Middle East<br> NA: North America<br> SA: South America</li> * @type {Array.<BillingDataFilter> || 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.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null; this.MetricName = 'MetricName' in params ? params.MetricName : null; this.Interval = 'Interval' in params ? params.Interval : null; if (params.Filters) { this.Filters = new Array(); for (let z in params.Filters) { let obj = new BillingDataFilter(); obj.deserialize(params.Filters[z]); this.Filters.push(obj); } } } } /** * Output format for real-time log delivery. You can directly use the specified predefined log output format (JSON Lines / csv) through the FormatType parameter, or define a variant output format through additional parameters based on the predefined log output format. * @class */ class LogFormat extends AbstractModel { constructor(){ super(); /** * Predefined output format for log shipping. Valid values: <li>json: Use JSON Lines as the predefined log output format. In each log entry, fields are displayed as key-value pairs.</li> <li>csv: Use the predefined log output format csv, where each log entry only is presented as field values only, excluding field names. </li> * @type {string || null} */ this.FormatType = null; /** * A string added before each log delivery batch. Each log delivery batch may contain multiple log records. * @type {string || null} */ this.BatchPrefix = null; /** * A string appended after each log delivery batch. * @type {string || null} */ this.BatchSuffix = null; /** * A string added before each log record. * @type {string || null} */ this.RecordPrefix = null; /** * A string appended after each log record. * @type {string || null} */ this.RecordSuffix = null; /** * A string inserted between log records as a separator. Valid values: <li>\n: line break;</li> <li>\t: tab character;</li> <li>,: Half-width comma. </li> * @type {string || null} */ this.RecordDelimiter = null; /** * A string inserted between fields as a separator within a single log record. Valid values: <li>\t: tab character;</li> <li>,: half-width comma;</li> <li>;: Half-width semicolon. </li> * @type {string || null} */ this.FieldDelimiter = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FormatType = 'FormatType' in params ? params.FormatType : null; this.BatchPrefix = 'BatchPrefix' in params ? params.BatchPrefix : null; this.BatchSuffix = 'BatchSuffix' in params ? params.BatchSuffix : null; this.RecordPrefix = 'RecordPrefix' in params ? params.RecordPrefix : null; this.RecordSuffix = 'RecordSuffix' in params ? params.RecordSuffix : null; this.RecordDelimiter = 'RecordDelimiter' in params ? params.RecordDelimiter : null; this.FieldDelimiter = 'FieldDelimiter' in params ? params.FieldDelimiter : null; } } /** * DescribeEnvironments request structure. * @class */ class DescribeEnvironmentsRequest extends AbstractModel { constructor(){ super(); /** * Zone ID. * @type {string || null} */ this.ZoneId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ZoneId = 'ZoneId' in params ? params.ZoneId : null; } } /** * DescribeAliasDomains request structure. * @class */ class DescribeAliasDomainsRequest extends AbstractModel { constructor(){ super(); /** * The site ID. * @type {string || null} */ this.ZoneId = null; /** * The page offset. Default value: 0 * @type {number || null} */ this.Offset = null; /** * The paginated query limit. Default value: 20. Maximum value: 1000. * @type {number || null} */ this.Limit = null; /** * Filter conditions. The maximum value for Filters.Values is 20. The detailed conditions are as follows: <li>target-name: Filter by the target domain name;</li> <li>alias-name: Filter by the alias of the domain name.</li>Fuzzy queries are only supported for the field name alias-name. * @type {Array.<AdvancedFilter> || null} */ this.Filters = 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 AdvancedFilter(); obj.deserialize(params.Filters[z]); this.Filters.push(obj); } } } } /** * QUIC configuration item. * @class */ class QUICParameters extends AbstractModel { constructor(){ super(); /** * Whether to enable quic. values:. <Li>`On`: enable;</li> . <Li>Off: disable.</li>. * @type {string || null} */ this.Switch = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Switch = 'Switch' in params ? params.Switch : null; } } /** * Managed rule group meta information. * @class */ class ManagedRuleGroupMeta extends AbstractModel { constructor(){ super(); /** * ManagedRuleGroup detailed information, output parameter only. * @type {string || null} */ this.GroupDetail = null; /** * ManagedRuleGroup name, output parameter only. * @type {string || null} */ this.GroupName = null; /** * All sub-rules information under current ManagedRuleGroup, output parameter only. * @type {Array.<ManagedRuleDetail> || null} */ this.RuleDetails = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.GroupDetail = 'GroupDetail' in params ? params.GroupDetail : null; this.GroupName = 'GroupName' in params ? params.GroupName : null; if (params.Rul