tencentcloud-sdk-nodejs-intl-en
Version:
1,723 lines (1,451 loc) • 1.35 MB
JavaScript
/*
* Copyright (c) 2018 Tencent. 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;
}
}
/**
* DescribeSecurityAPIResource response structure.
* @class
*/
class DescribeSecurityAPIResourceResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of API resources.
* @type {number || null}
*/
this.TotalCount = null;
/**
* API resource list.
* @type {Array.<APIResource> || null}
*/
this.APIResources = 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.APIResources) {
this.APIResources = new Array();
for (let z in params.APIResources) {
let obj = new APIResource();
obj.deserialize(params.APIResources[z]);
this.APIResources.push(obj);
}
}
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;
}
}
/**
* ModifyZoneWorkMode request structure.
* @class
*/
class ModifyZoneWorkModeRequest extends AbstractModel {
constructor(){
super();
/**
* Zone ID.
* @type {string || null}
*/
this.ZoneId = null;
/**
* Version management configuration group working mode. site configuration modules can enable "version management mode" or "immediate effect mode" by configuration group dimension. for details, see [version management](https://www.tencentcloud.com/document/product/1552/113690?from_cn_redirect=1).
* @type {Array.<ConfigGroupWorkModeInfo> || null}
*/
this.WorkModeInfos = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
if (params.WorkModeInfos) {
this.WorkModeInfos = new Array();
for (let z in params.WorkModeInfos) {
let obj = new ConfigGroupWorkModeInfo();
obj.deserialize(params.WorkModeInfos[z]);
this.WorkModeInfos.push(obj);
}
}
}
}
/**
* 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;
/**
* Supported compression algorithm list. valid values:.
<Li>Brotli: specifies the brotli algorithm.</li>.
<Li>Gzip: specifies the 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;
}
}
/**
* 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;
}
}
/**
* Skipped fields configuration in exception rules.
* @class
*/
class RequestFieldsForException extends AbstractModel {
constructor(){
super();
/**
* Skip specific field. supported values:.
<li>body.json: parameter content in json requests. at this point, Condition supports key and value, TargetField supports key and value, for example { "Scope": "body.json", "Condition": "", "TargetField": "key" }, which means all parameters in json requests skip WAF scan.</li>.
<li style="margin-top:5px">cookie: cookie; at this point Condition supports key, value, TargetField supports key, value, for example { "Scope": "cookie", "Condition": "${key} in ['account-id'] and ${value} like ['prefix-*']", "TargetField": "value" }, which means the cookie parameter name equals account-id and the parameter value wildcard matches prefix-* to skip WAF scan;</li>.
<li style="margin-top:5px">header: HTTP header parameters. at this point, Condition supports key and value, TargetField supports key and value, for example { "Scope": "header", "Condition": "${key} like ['x-auth-*']", "TargetField": "value" }, which means header parameter name wildcard match x-auth-* skips WAF scan.</li>.
<li style="margin-top:5px">uri.query: URL encoding content/query parameter. at this point, Condition supports key and value, TargetField supports key and value. example: { "Scope": "uri.query", "Condition": "${key} in ['action'] and ${value} in ['upload', 'delete']", "TargetField": "value" }. indicates URL encoding content/query parameter name equal to action and parameter value equal to upload or delete skips WAF scan.</li>.
<li style="margin-top:5px">uri: specifies the request path uri. at this point, Condition must be empty. TargetField supports query, path, fullpath, such as {"Scope": "uri", "Condition": "", "TargetField": "query"}, indicates the request path uri skips WAF scan for query parameters.</li>.
<li style="margin-top:5px">body: request body content. at this point Condition must be empty, TargetField supports fullbody, multipart, such as { "Scope": "body", "Condition": "", "TargetField": "fullbody" }, which means the request body content skips WAF scan as a full request.</li>.
* @type {string || null}
*/
this.Scope = null;
/**
* Skip specific field expression must comply with expression grammar.
Condition supports expression configuration syntax: <li> write according to the matching conditional expression syntax of rules, with support for referencing key and value.</li> <li> supports in, like operators, and logical combination with and.</li>.
For example: <li>${key} in ['x-trace-id']: the parameter name equals x-trace-id.</li> <li>${key} in ['x-trace-id'] and ${value} like ['Bearer *']: the parameter name equals x-trace-id and the parameter value wildcard matches Bearer *.</li>.
* @type {string || null}
*/
this.Condition = null;
/**
* The Scope parameter takes different values. the TargetField expression supports the following values:.
<Li> body.json: supports key, value.</li>.
<li>cookie: supports key and value.</li>.
<li>header: supports key, value</li>.
<Li> uri.query: supports key and value</li>.
<li>uri. specifies path, query, or fullpath.</li>.
<Li>Body: supports fullbody and multipart.</li>.
* @type {string || null}
*/
this.TargetField = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Scope = 'Scope' in params ? params.Scope : null;
this.Condition = 'Condition' in params ? params.Condition : null;
this.TargetField = 'TargetField' in params ? params.TargetField : 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;
}
}
/**
* ModifySecurityJSInjectionRule request structure.
* @class
*/
class ModifySecurityJSInjectionRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Zone ID.
* @type {string || null}
*/
this.ZoneId = null;
/**
* JavaScript injection rule list.
* @type {Array.<JSInjectionRule> || null}
*/
this.JSInjectionRules = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
if (params.JSInjectionRules) {
this.JSInjectionRules = new Array();
for (let z in params.JSInjectionRules) {
let obj = new JSInjectionRule();
obj.deserialize(params.JSInjectionRules[z]);
this.JSInjectionRules.push(obj);
}
}
}
}
/**
* 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;
}
}
/**
* Adaptive frequency control.
* @class
*/
class AdaptiveFrequencyControl extends AbstractModel {
constructor(){
super();
/**
* Whether adaptive frequency control is enabled. valid values: <li>on: enable;</li> <li>off: disable.</li>.
* @type {string || null}
*/
this.Enabled = null;
/**
* Rule ID of adaptive frequency control, returned as an output parameter.
* @type {string || null}
*/
this.Id = null;
/**
* The restriction level of adaptive frequency control. required when Enabled is on. valid values: <li>Loose: Loose</li><li>Moderate: Moderate</li><li>Strict: Strict</li>.
* @type {string || null}
*/
this.Sensitivity = null;
/**
* The handling method of adaptive frequency control. this field is required when Enabled is on. valid values for SecurityAction Name: <li>Monitor: observation;</li> <li>Deny: block;</li> <li>Challenge: Challenge, where ChallengeActionParameters.Name only supports JSChallenge.</li>.
* @type {SecurityAction || null}
*/
this.Action = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Enabled = 'Enabled' in params ? params.Enabled : null;
this.Id = 'Id' in params ? params.Id : null;
this.Sensitivity = 'Sensitivity' in params ? params.Sensitivity : null;
if (params.Action) {
let obj = new SecurityAction();
obj.deserialize(params.Action)
this.Action = obj;
}
}
}
/**
* 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;
}
}
/**
* DescribeWebSecurityTemplates request structure.
* @class
*/
class DescribeWebSecurityTemplatesRequest extends AbstractModel {
constructor(){
super();
/**
* List of zone IDs. A maximum of 100 zones can be queried in a single request.
* @type {Array.<string> || null}
*/
this.ZoneIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
}
}
/**
* Action for security operation.
* @class
*/
class SecurityAction extends AbstractModel {
constructor(){
super();
/**
* Specifies the specific actions for safe execution. valid values:.
<Li>Deny. specifies to block requests from accessing site resources.</li>.
<Li>Monitor: observation, only record logs.</li>.
<li>Redirect: Redirect to URL.</li>.
<Li>Disabled: specifies that the rule is not enabled.</li>.
<Li>Allow: specifies whether to allow access with delayed processing of requests.</li>.
<Li>Challenge: specifies the challenge content to respond to.</li>.
<Li>Trans: pass and allow requests to directly access site resources.</li>.
<Li>BlockIP: to be deprecated. ip block.</li>.
<Li>ReturnCustomPage: to be deprecated. use specified page for interception.</li>.
<li>JSChallenge: to be deprecated, JavaScript challenge;</li>.
<Li>ManagedChallenge: to be deprecated. managed challenge.</li>.
* @type {string || null}
*/
this.Name = null;
/**
* Additional parameters when Name is Deny.
* @type {DenyActionParameters || null}
*/
this.DenyActionParameters = null;
/**
* Additional parameter when Name is Redirect.
* @type {RedirectActionParameters || null}
*/
this.RedirectActionParameters = null;
/**
* Additional parameters when Name is Allow.
* @type {AllowActionParameters || null}
*/
this.AllowActionParameters = null;
/**
* Additional parameter when Name is Challenge.
* @type {ChallengeActionParameters || null}
*/
this.ChallengeActionParameters = null;
/**
* To be deprecated, additional parameter when Name is BlockIP.
* @type {BlockIPActionParameters || null}
*/
this.BlockIPActionParameters = null;
/**
* To be deprecated, additional parameter when Name is ReturnCustomPage.
* @type {ReturnCustomPageActionParameters || null}
*/
this.ReturnCustomPageActionParameters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
if (params.DenyActionParameters) {
let obj = new DenyActionParameters();
obj.deserialize(params.DenyActionParameters)
this.DenyActionParameters = obj;
}
if (params.RedirectActionParameters) {
let obj = new RedirectActionParameters();
obj.deserialize(params.RedirectActionParameters)
this.RedirectActionParameters = obj;
}
if (params.AllowActionParameters) {
let obj = new AllowActionParameters();
obj.deserialize(params.AllowActionParameters)
this.AllowActionParameters = obj;
}
if (params.ChallengeActionParameters) {
let obj = new ChallengeActionParameters();
obj.deserialize(params.ChallengeActionParameters)
this.ChallengeActionParameters = obj;
}
if (params.BlockIPActionParameters) {
let obj = new BlockIPActionParameters();
obj.deserialize(params.BlockIPActionParameters)
this.BlockIPActionParameters = obj;
}
if (params.ReturnCustomPageActionParameters) {
let obj = new ReturnCustomPageActionParameters();
obj.deserialize(params.ReturnCustomPageActionParameters)
this.ReturnCustomPageActionParameters = obj;
}
}
}
/**
* IP intelligence library (formerly client profile analysis) configuration.
* @class
*/
class IPReputation extends AbstractModel {
constructor(){
super();
/**
* IP intelligence library (formerly client profile analysis). valid values: <li>on: enable;</li> <li>off: disable.</li>.
* @type {string || null}
*/
this.Enabled = null;
/**
* IP intelligence library (formerly client profile analysis) configuration content.
* @type {IPReputationGroup || null}
*/
this.IPReputationGroup = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Enabled = 'Enabled' in params ? params.Enabled : null;
if (params.IPReputationGroup) {
let obj = new IPReputationGroup();
obj.deserialize(params.IPReputationGroup)
this.IPReputationGroup = obj;
}
}
}
/**
* CreateSecurityAPIService request structure.
* @class
*/
class CreateSecurityAPIServiceRequest extends AbstractModel {
constructor(){
super();
/**
* Zone ID.
* @type {string || null}
*/
this.ZoneId = null;
/**
* API service list.
* @type {Array.<APIService> || null}
*/
this.APIServices = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
if (params.APIServices) {
this.APIServices = new Array();
for (let z in params.APIServices) {
let obj = new APIService();
obj.deserialize(params.APIServices[z]);
this.APIServices.push(obj);
}
}
}
}
/**
* Precision rate limiting configuration.
* @class
*/
class RateLimitingRules extends AbstractModel {
constructor(){
super();
/**
* Definition list of precise rate limiting. when using ModifySecurityPolicy to modify the Web protection configuration: <br> <li> if the Rules parameter is not specified or its length is zero: clear all precision rate limiting configurations.</li> <li> if the RateLimitingRules parameter value is unspecified in the SecurityPolicy parameter: retain the existing custom rule configuration without modification.</li>.
* @type {Array.<RateLimitingRule> || null}
*/
this.Rules = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Rules) {
this.Rules = new Array();
for (let z in params.Rules) {
let obj = new RateLimitingRule();
obj.deserialize(params.Rules[z]);
this.Rules.push(obj);
}
}
}
}
/**
* DescribeMultiPathGatewayLine request structure.
* @class
*/
class DescribeMultiPathGatewayLineRequest extends AbstractModel {
constructor(){
super();
/**
* Zone ID.
* @type {string || null}
*/
this.ZoneId = null;
/**
* Gateway ID.
* @type {string || null}
*/
this.GatewayId = null;
/**
* Line ID.
* @type {string || null}
*/
this.LineId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.LineId = 'LineId' in params ? params.LineId : null;
}
}
/**
* Instances that require configuration origin ACLs.
* @class
*/
class OriginACLEntity extends AbstractModel {
constructor(){
super();
/**
* Instance type. Valid values:
-l7: L7 acceleration domain;
-l4: L4 proxy instance.
* @type {string || null}
*/
this.Type = null;
/**
* Instance detail. Valid values:
-When Type = l7, please enter the L7 acceleration domain.
-When Type = l4, please enter the L4 proxy instance ID.
* @type {Array.<string> || null}
*/
this.Instances = null;
/**
* Operation mode. Valid values:.
- enable: enabled L7/L4 instances.
- disable: disable L7/L4 instances.
* @type {string || null}
*/
this.OperationMode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Type = 'Type' in params ? params.Type : null;
this.Instances = 'Instances' in params ? params.Instances : null;
this.OperationMode = 'OperationMode' in params ? params.OperationMode : null;
}
}
/**
* Specifies the specific content of IDC rule configuration.
* @class
*/
class SourceIDC extends AbstractModel {
constructor(){
super();
/**
* Handling method for requests from the specified IDC. valid values for SecurityAction Name: <li>Deny: block;</li> <li>Monitor: observe;</li> <li>Disabled: not enabled, disable specified rule;</li> <li>Challenge: Challenge, where ChallengeOption in ChallengeActionParameters supports JSChallenge and ManagedChallenge;</li> <li>Allow: pass (to be deprecated).</li>.
* @type {SecurityAction || null}
*/
this.BaseAction = null;
/**
* Specifies the handling method for the specified id request.
* @type {Array.<BotManagementActionOverrides> || null}
*/
this.BotManagementActionOverrides = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.BaseAction) {
let obj = new SecurityAction();
obj.deserialize(params.BaseAction)
this.BaseAction = obj;
}
if (params.BotManagementActionOverrides) {
this.BotManagementActionOverrides = new Array();
for (let z in params.BotManagementActionOverrides) {
let obj = new BotManagementActionOverrides();
obj.deserialize(params.BotManagementActionOverrides[z]);
this.BotManagementActionOverrides.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;
/**
* Specifies the current configuration of the origin-pull HOST header.
* @type {string || null}
*/
this.HostHeader = 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;
/**
* VOD origin-pull range. this parameter returns a value when OriginType = VOD. valid values: <li>all: all files in the VOD application corresponding to the current origin server. the default value is all;</li> <li>bucket: files in a specified bucket under the VOD application corresponding to the current origin server. specify the bucket by the VodBucketId parameter.</li>.
</li>
* @type {string || null}
*/
this.VodOriginScope = null;
/**
* VOD bucket ID. this parameter is required when OriginType = VOD and VodOriginScope = bucket. data source: storage ID of the bucket under the VOD professional application.
* @type {string || null}
*/
this.VodBucketId = 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.HostHeader = 'HostHeader' in params ? params.HostHeader : null;
this.VodeoSubAppId = 'VodeoSubAppId' in params ? params.VodeoSubAppId : null;
this.VodeoDistributionRange = 'VodeoDistributionRange' in params ? params.VodeoDistributionRange : null;
this.VodeoBucketId = 'VodeoBucketId' in params ? params.VodeoBucketId : null;
this.VodOriginScope = 'VodOriginScope' in params ? params.VodOriginScope : null;
this.VodBucketId = 'VodBucketId' in params ? params.VodBucketId : null;
}
}
/**
* Reasoning hardware specifications.
* @class
*/
class InferenceHardwareSpecification extends AbstractModel {
constructor(){
super();
/**
* Specification flag.
* @type {string || null}
*/
this.Spec = null;
/**
* Specification name.
* @type {string || null}
*/
this.Name = null;
/**
* Number of CPU cores.
* @type {number || null}
*/
this.CPUNum = null;
/**
* Memory size. Unit: MB.
* @type {number || null}
*/
this.MemSize = null;
/**
* Number of GPU cards.
* @type {number || null}
*/
this.GPUNum = null;
/**
* GPU VRAM size. Unit: MB.
* @type {number || null}
*/
this.GPUMemSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Spec = 'Spec' in params ? params.Spec : null;
this.Name = 'Name' in params ? params.Name : null;
this.CPUNum = 'CPUNum' in params ? params.CPUNum : null;
this.MemSize = 'MemSize' in params ? params.MemSize : null;
this.GPUNum = 'GPUNum' in params ? params.GPUNum : null;
this.GPUMemSize = 'GPUMemSize' in params ? params.GPUMemSize : null;
}
}
/**
* DescribeSecurityClientAttester response structure.
* @class
*/
class DescribeSecurityClientAttesterResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of authentication options.
* @type {number || null}
*/
this.TotalCount = null;
/**
* Specifies the authentication option list.
* @type {Array.<ClientAttester> || null}
*/
this.ClientAttesters = 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.ClientAttesters) {
this.ClientAttesters = new Array();
for (let z in params.ClientAttesters) {
let obj = new ClientAttester();
obj.deserialize(params.ClientAttesters[z]);
this.ClientAttesters.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Multi-Channel gateway example instance binding relationship with origin IP ranges and origin IP range details.
* @class
*/
class MultiPathGatewayOriginACLInfo extends AbstractModel {
constructor(){
super();
/**
* Describes the currently effective IP range for origin servers.
* @type {MultiPathGatewayCurrentOriginACL || null}
*/
this.MultiPathGatewayCurrentOriginACL = null;
/**
* When the origin IP range is updated, this field will be returned with the next version's effective origin IP range, including a comparison with the current origin IP range. this field is empty if not updated.
* @type {MultiPathGatewayNextOriginACL || null}
*/
this.MultiPathGatewayNextOriginACL = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.MultiPathGatewayCurrentOriginACL) {
let obj = new MultiPathGatewayCurrentOriginACL();
obj.deserialize(params.MultiPathGatewayCurrentOriginACL)
this.MultiPathGatewayCurrentOriginACL = obj;
}
if (params.MultiPathGatewayNextOriginACL) {
let obj = new MultiPathGatewayNextOriginACL();
obj.deserialize(params.MultiPathGatewayNextOriginACL)
this.MultiPathGatewayNextOriginACL = obj;
}
}
}
/**
* 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;
}
}
/**
* ModifyEdgeKVNamespace request structure.
* @class
*/
class ModifyEdgeKVNamespaceRequest extends AbstractModel {
constructor(){
super();
/**
* Zone ID.
* @type {string || null}
*/
this.ZoneId = null;
/**
* Namespace name.
* @type {string || null}
*/
this.Namespace = null;
/**
* Namespace description. Used to describe the purpose or business meaning of a namespace. Supports a maximum of 256 characters.
* @type {string || null}
*/
this.Remark = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.Namespace = 'Namespace' in params ? params.Namespace : null;
this.Remark = 'Remark' in params ? params.Remark : 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;
}
}
/**
* Minimum minimum body transfer rate threshold configuration.
* @class
*/
class MinimalRequestBodyTransferRate extends AbstractModel {
constructor(){
super();
/**
* Minimum body transfer rate threshold, the measurement unit is only supported in bps.
* @type {string || null}
*/
this.MinimalAvgTransferRateThreshold = null;
/**
* Minimum body transfer rate statistical time range, valid values: <li>10s: 10 seconds;</li> <li>30s: 30 seconds;</li> <li>60s: 60 seconds;</li> <li>120s: 120 seconds.</li>.
* @type {string || null}
*/
this.CountingPeriod = null;
/**
* Specifies whether the minimum body transfer rate threshold is enabled. valid values: <li>on: enable;</li> <li>off: disable.</li>.
* @type {string || null}
*/
this.Enabled = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.MinimalAvgTransferRateThreshold = 'MinimalAvgTransferRateThreshold' in params ? params.MinimalAvgTransferRateThreshold : null;
this.CountingPeriod = 'CountingPeriod' in params ? params.CountingPeriod : null;
this.Enabled = 'Enabled' in params ? params.Enabled : 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;
}
}
/**
* Browser spoofing identification rule (formerly active feature detection rule).
* @class
*/
class BrowserImpersonationDetectionRule extends AbstractModel {
constructor(){
super();
/**
* Browser spoofing identification rule ID. rule ID supports different rule configuration operations: <li> <b>add</b> a new rule: ID is empty or without specifying the ID parameter;</li> <li> <b>modify</b> an existing rule: specify the rule ID that needs to be updated/modified;</li> <li> <b>delete</b> an existing rule: existing Rules not included in the Rules list of the BrowserImpersonationDetection parameter will be deleted.</li>.
* @type {string || null}
*/
this.Id = null;
/**
* Specifies the name of the browser spoofing identification rule.
* @type {string || null}
*/
this.Name = null;
/**
* Whether browser spoofing detection is enabled. valid values: <li>on: enabled;</li><li>off: disabled.</li>.
* @type {string || null}
*/
this.Enabled = null;
/**
* Specifies the specific content of browser spoofing identification rules, which only support configuration of request Method (Method), request Path (Path), and request URL, and must comply with expression grammar. for detailed specifications, please refer to the product document.
* @type {string || null}
*/
this.Condition = null;
/**
* Describes the handling method for browser spoofing identification rules, including Cookie verification, session tracking configuration, and client behavior validation configuration.
* @type {BrowserImpersonationDetectionAction || null}
*/
this.Action = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.Enabled = 'Enabled' in params ? params.Enabled : null;
this.Condition = 'Condition' in params ? params.Condition : null;
if (params.Action) {
let obj = new BrowserImpersonationDetectionAction();
obj.deserialize(params.Action)
this.Action = obj;
}
}
}
/**
* DescribeInferenceAPITokens request structure.
* @class
*/
class DescribeInferenceAPITokensRequest extends AbstractModel {
constructor(){
super();
/**
* <p>Site ID.</p>
* @type {string || null}
*/
this.ZoneId = null;
/**
* <p>Paginated query offset. Default value: 0.</p>
* @type {number || null}
*/
this.Offset = null;
/**
* <p>Paginated query limit. Default value: 20, maximum value: 100.</p>
* @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;
}
}
/**
* 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
*/
dese