tencentcloud-sdk-nodejs-intl-en
Version:
2,065 lines (1,731 loc) • 343 kB
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");
/**
* Retrieve the response result of the Cloud Native API gateway instance list.
* @class
*/
class ListCloudNativeAPIGatewayResult extends AbstractModel {
constructor(){
super();
/**
* Total quantity.
* @type {number || null}
*/
this.TotalCount = null;
/**
* Cloud Native API gateway instance list.
* @type {Array.<DescribeCloudNativeAPIGatewayResult> || null}
*/
this.GatewayList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
if (params.GatewayList) {
this.GatewayList = new Array();
for (let z in params.GatewayList) {
let obj = new DescribeCloudNativeAPIGatewayResult();
obj.deserialize(params.GatewayList[z]);
this.GatewayList.push(obj);
}
}
}
}
/**
* DescribeCloudNativeAPIGateway response structure.
* @class
*/
class DescribeCloudNativeAPIGatewayResponse extends AbstractModel {
constructor(){
super();
/**
* Retrieve the response result of the Cloud Native API gateway basic information.
* @type {DescribeCloudNativeAPIGatewayResult || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Result) {
let obj = new DescribeCloudNativeAPIGatewayResult();
obj.deserialize(params.Result)
this.Result = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateCloudNativeAPIGatewayService response structure.
* @class
*/
class CreateCloudNativeAPIGatewayServiceResponse extends AbstractModel {
constructor(){
super();
/**
* Gateway service creation result
* @type {CreateGatewayServiceResult || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Result) {
let obj = new CreateGatewayServiceResult();
obj.deserialize(params.Result)
this.Result = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteCloudNativeAPIGatewayPublicNetwork response structure.
* @class
*/
class DeleteCloudNativeAPIGatewayPublicNetworkResponse 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;
}
}
/**
* DeleteCloudNativeAPIGatewayRouteRateLimit response structure.
* @class
*/
class DeleteCloudNativeAPIGatewayRouteRateLimitResponse 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;
}
}
/**
* DeleteWafDomains request structure.
* @class
*/
class DeleteWafDomainsRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* WAF-protected domain name list
* @type {Array.<string> || null}
*/
this.Domains = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.Domains = 'Domains' in params ? params.Domains : null;
}
}
/**
* CreateOrModifyCloudNativeAPIGatewayCORS response structure.
* @class
*/
class CreateOrModifyCloudNativeAPIGatewayCORSResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* WAF status of the service
* @class
*/
class ServiceWafStatus extends AbstractModel {
constructor(){
super();
/**
* Service name
* @type {string || null}
*/
this.Name = null;
/**
* Service ID
* @type {string || null}
*/
this.Id = null;
/**
* Service type
* @type {string || null}
*/
this.Type = null;
/**
* Whether WAF protection is enabled for the service
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Id = 'Id' in params ? params.Id : null;
this.Type = 'Type' in params ? params.Type : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* DeleteNativeGatewayServiceSource response structure.
* @class
*/
class DeleteNativeGatewayServiceSourceResponse extends AbstractModel {
constructor(){
super();
/**
* Result
* @type {boolean || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Result = 'Result' in params ? params.Result : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCloudNativeAPIGatewayServiceRateLimit request structure.
* @class
*/
class DescribeCloudNativeAPIGatewayServiceRateLimitRequest extends AbstractModel {
constructor(){
super();
/**
* Gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* Service name or service ID.
* @type {string || null}
*/
this.Name = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.Name = 'Name' in params ? params.Name : null;
}
}
/**
* Service with percentage traffic configuration
* @class
*/
class CloudNativeAPIGatewayBalancedService extends AbstractModel {
constructor(){
super();
/**
* Service ID, required as an input parameter
* @type {string || null}
*/
this.ServiceID = null;
/**
* Service name, as an input parameter, meaningless
* @type {string || null}
*/
this.ServiceName = null;
/**
* Upstream name, meaningless as an input parameter
* @type {string || null}
*/
this.UpstreamName = null;
/**
* Percentage, 10 means 10%, range 0-100
* @type {number || null}
*/
this.Percent = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ServiceID = 'ServiceID' in params ? params.ServiceID : null;
this.ServiceName = 'ServiceName' in params ? params.ServiceName : null;
this.UpstreamName = 'UpstreamName' in params ? params.UpstreamName : null;
this.Percent = 'Percent' in params ? params.Percent : null;
}
}
/**
* ModifyGovernanceLaneGroups response structure.
* @class
*/
class ModifyGovernanceLaneGroupsResponse extends AbstractModel {
constructor(){
super();
/**
* Whether the creation succeeded
* @type {boolean || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Result = 'Result' in params ? params.Result : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Scheduled scaling policy configuration
* @class
*/
class CloudNativeAPIGatewayStrategyCronScalerConfig extends AbstractModel {
constructor(){
super();
/**
* Enable scheduled scaling
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.Enabled = null;
/**
* Scheduled scaling configuration parameter list
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<CloudNativeAPIGatewayStrategyCronScalerConfigParam> || null}
*/
this.Params = null;
/**
* Creation time.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CreateTime = null;
/**
* Modification time.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ModifyTime = null;
/**
* Auto scaling policy ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.StrategyId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Enabled = 'Enabled' in params ? params.Enabled : null;
if (params.Params) {
this.Params = new Array();
for (let z in params.Params) {
let obj = new CloudNativeAPIGatewayStrategyCronScalerConfigParam();
obj.deserialize(params.Params[z]);
this.Params.push(obj);
}
}
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null;
this.StrategyId = 'StrategyId' in params ? params.StrategyId : null;
}
}
/**
* Gateway group information of policy binding
* @class
*/
class CloudNativeAPIGatewayStrategyBindingGroupInfo extends AbstractModel {
constructor(){
super();
/**
* gateway group ID
* @type {string || null}
*/
this.GroupId = null;
/**
* Node configuration
* @type {CloudNativeAPIGatewayNodeConfig || null}
*/
this.NodeConfig = null;
/**
* Binding time
* @type {string || null}
*/
this.BindTime = null;
/**
* gateway group name
* @type {string || null}
*/
this.GroupName = null;
/**
* Binding status
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GroupId = 'GroupId' in params ? params.GroupId : null;
if (params.NodeConfig) {
let obj = new CloudNativeAPIGatewayNodeConfig();
obj.deserialize(params.NodeConfig)
this.NodeConfig = obj;
}
this.BindTime = 'BindTime' in params ? params.BindTime : null;
this.GroupName = 'GroupName' in params ? params.GroupName : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* ModifyCloudNativeAPIGatewayRoute request structure.
* @class
*/
class ModifyCloudNativeAPIGatewayRouteRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* ID of the associated service
* @type {string || null}
*/
this.ServiceID = null;
/**
* Route ID, unique at the instance level
* @type {string || null}
*/
this.RouteID = null;
/**
* Route name, unique at the instance level, does not provide
* @type {string || null}
*/
this.RouteName = null;
/**
* Route method. Available values:
- GET
- POST
- DELETE
- PUT
- OPTIONS
- PATCH
- HEAD
- ANY
- TRACE
- COPY
- MOVE
- PROPFIND
- PROPPATCH
- MKCOL
- LOCK
- UNLOCK
* @type {Array.<string> || null}
*/
this.Methods = null;
/**
* Domain name of the route
* @type {Array.<string> || null}
*/
this.Hosts = null;
/**
* Path of the route
* @type {Array.<string> || null}
*/
this.Paths = null;
/**
* Route protocol, selectable
- https
- http
* @type {Array.<string> || null}
*/
this.Protocols = null;
/**
* Preserve Host when forwarding to backend
* @type {boolean || null}
*/
this.PreserveHost = null;
/**
* HTTP redirection status code
* @type {number || null}
*/
this.HttpsRedirectStatusCode = null;
/**
* StripPath when forwarding to backend
* @type {boolean || null}
*/
this.StripPath = null;
/**
* Whether to enable mandatory HTTPS
* @type {boolean || null}
*/
this.ForceHttps = null;
/**
* Destination port for Layer 4 match
* @type {Array.<number> || null}
*/
this.DestinationPorts = null;
/**
* Headers of the route
* @type {Array.<KVMapping> || null}
*/
this.Headers = null;
/**
* Whether to cache the request body, default true
* @type {boolean || null}
*/
this.RequestBuffering = null;
/**
* Whether to cache response body, default true
* @type {boolean || null}
*/
this.ResponseBuffering = null;
/**
* Add priority
* @type {number || null}
*/
this.RegexPriority = null;
/**
* QueryString parameter
* @type {Array.<KVMapping> || null}
*/
this.QueryStringParameters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.ServiceID = 'ServiceID' in params ? params.ServiceID : null;
this.RouteID = 'RouteID' in params ? params.RouteID : null;
this.RouteName = 'RouteName' in params ? params.RouteName : null;
this.Methods = 'Methods' in params ? params.Methods : null;
this.Hosts = 'Hosts' in params ? params.Hosts : null;
this.Paths = 'Paths' in params ? params.Paths : null;
this.Protocols = 'Protocols' in params ? params.Protocols : null;
this.PreserveHost = 'PreserveHost' in params ? params.PreserveHost : null;
this.HttpsRedirectStatusCode = 'HttpsRedirectStatusCode' in params ? params.HttpsRedirectStatusCode : null;
this.StripPath = 'StripPath' in params ? params.StripPath : null;
this.ForceHttps = 'ForceHttps' in params ? params.ForceHttps : null;
this.DestinationPorts = 'DestinationPorts' in params ? params.DestinationPorts : null;
if (params.Headers) {
this.Headers = new Array();
for (let z in params.Headers) {
let obj = new KVMapping();
obj.deserialize(params.Headers[z]);
this.Headers.push(obj);
}
}
this.RequestBuffering = 'RequestBuffering' in params ? params.RequestBuffering : null;
this.ResponseBuffering = 'ResponseBuffering' in params ? params.ResponseBuffering : null;
this.RegexPriority = 'RegexPriority' in params ? params.RegexPriority : null;
if (params.QueryStringParameters) {
this.QueryStringParameters = new Array();
for (let z in params.QueryStringParameters) {
let obj = new KVMapping();
obj.deserialize(params.QueryStringParameters[z]);
this.QueryStringParameters.push(obj);
}
}
}
}
/**
* DescribeCloudNativeAPIGatewayUpstream request structure.
* @class
*/
class DescribeCloudNativeAPIGatewayUpstreamRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* Service name.
* @type {string || null}
*/
this.ServiceName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.ServiceName = 'ServiceName' in params ? params.ServiceName : null;
}
}
/**
* DeleteNativeGatewayServerGroup response structure.
* @class
*/
class DeleteNativeGatewayServerGroupResponse extends AbstractModel {
constructor(){
super();
/**
* Deletes messages.
* @type {DeleteNativeGatewayServerGroupResult || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Result) {
let obj = new DeleteNativeGatewayServerGroupResult();
obj.deserialize(params.Result)
this.Result = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Target service instance instance tag info
* @class
*/
class RoutingDestinationRuleLabel extends AbstractModel {
constructor(){
super();
/**
* Tag key.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LabelKey = null;
/**
* Tag value.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LabelValue = null;
/**
* expression type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LabelType = null;
/**
* value type
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.LabelValueType = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LabelKey = 'LabelKey' in params ? params.LabelKey : null;
this.LabelValue = 'LabelValue' in params ? params.LabelValue : null;
this.LabelType = 'LabelType' in params ? params.LabelType : null;
this.LabelValueType = 'LabelValueType' in params ? params.LabelValueType : null;
}
}
/**
* ModifyCloudNativeAPIGatewayCertificate response structure.
* @class
*/
class ModifyCloudNativeAPIGatewayCertificateResponse 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;
}
}
/**
* CreateCloudNativeAPIGatewayRouteRateLimit response structure.
* @class
*/
class CreateCloudNativeAPIGatewayRouteRateLimitResponse 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;
}
}
/**
* DescribeCloudNativeAPIGatewayCORS request structure.
* @class
*/
class DescribeCloudNativeAPIGatewayCORSRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* Resource type bound by the cross-origin plug-in: route|service
* @type {string || null}
*/
this.SourceType = null;
/**
* id of the route or services
* @type {string || null}
*/
this.SourceId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.SourceType = 'SourceType' in params ? params.SourceType : null;
this.SourceId = 'SourceId' in params ? params.SourceId : null;
}
}
/**
* Cloud Native API gateway node configuration.
* @class
*/
class CloudNativeAPIGatewayNodeConfig extends AbstractModel {
constructor(){
super();
/**
* Node configuration, 1c2g|2c4g|4c8g|8c16g.
* @type {string || null}
*/
this.Specification = null;
/**
* Node count, 2-9.
* @type {number || null}
*/
this.Number = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Specification = 'Specification' in params ? params.Specification : null;
this.Number = 'Number' in params ? params.Number : null;
}
}
/**
* CreateNativeGatewayServiceSource request structure.
* @class
*/
class CreateNativeGatewayServiceSourceRequest extends AbstractModel {
constructor(){
super();
/**
* Gateway instance ID
* @type {string || null}
*/
this.GatewayID = null;
/**
* Service source type. Reference value:
- TSE-Nacos
- TSE-Consul
- TSE-PolarisMesh
- Customer-Nacos
- Customer-Consul
- Customer-PolarisMesh
- TSF
- TKE
- EKS
- PrivateDNS
- Customer-DNS
* @type {string || null}
*/
this.SourceType = null;
/**
* Instance ID of the service source. Required when SourceType is not PrivateDNS or Customer-DNS.
* @type {string || null}
*/
this.SourceID = null;
/**
* Source instance name of the service. Required when SourceType is not PrivateDNS.
* @type {string || null}
*/
this.SourceName = null;
/**
* Service source instance additional information
* @type {SourceInfo || null}
*/
this.SourceInfo = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayID = 'GatewayID' in params ? params.GatewayID : null;
this.SourceType = 'SourceType' in params ? params.SourceType : null;
this.SourceID = 'SourceID' in params ? params.SourceID : null;
this.SourceName = 'SourceName' in params ? params.SourceName : null;
if (params.SourceInfo) {
let obj = new SourceInfo();
obj.deserialize(params.SourceInfo)
this.SourceInfo = obj;
}
}
}
/**
* Key/Value structure
* @class
*/
class KeyValue extends AbstractModel {
constructor(){
super();
/**
* Key of the condition
* @type {string || null}
*/
this.Key = null;
/**
* Value of the condition
* @type {string || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Key = 'Key' in params ? params.Key : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* CreateNativeGatewayServerGroup request structure.
* @class
*/
class CreateNativeGatewayServerGroupRequest extends AbstractModel {
constructor(){
super();
/**
* Gateway instance id.
Only supports postpaid instances
* @type {string || null}
*/
this.GatewayId = null;
/**
* gateway group name
* @type {string || null}
*/
this.Name = null;
/**
* Node configuration
* @type {CloudNativeAPIGatewayNodeConfig || null}
*/
this.NodeConfig = null;
/**
* Subnet ID
* @type {string || null}
*/
this.SubnetId = null;
/**
* Description information
* @type {string || null}
*/
this.Description = null;
/**
* Public network bandwidth information
* @type {number || null}
*/
this.InternetMaxBandwidthOut = null;
/**
* Public Network Configuration.
* @type {InternetConfig || null}
*/
this.InternetConfig = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.Name = 'Name' in params ? params.Name : null;
if (params.NodeConfig) {
let obj = new CloudNativeAPIGatewayNodeConfig();
obj.deserialize(params.NodeConfig)
this.NodeConfig = obj;
}
this.SubnetId = 'SubnetId' in params ? params.SubnetId : null;
this.Description = 'Description' in params ? params.Description : null;
this.InternetMaxBandwidthOut = 'InternetMaxBandwidthOut' in params ? params.InternetMaxBandwidthOut : null;
if (params.InternetConfig) {
let obj = new InternetConfig();
obj.deserialize(params.InternetConfig)
this.InternetConfig = obj;
}
}
}
/**
* DescribeCloudNativeAPIGatewayCertificates request structure.
* @class
*/
class DescribeCloudNativeAPIGatewayCertificatesRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* Number of tables in the list
* @type {number || null}
*/
this.Limit = null;
/**
* List offset
* @type {number || null}
*/
this.Offset = null;
/**
* Filter criteria. Multiple filter conditions are in an AND relationship with each other. Support BindDomain and Name.
* @type {Array.<ListFilter> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Offset = 'Offset' in params ? params.Offset : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new ListFilter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* ModifyCloudNativeAPIGatewayCanaryRule response structure.
* @class
*/
class ModifyCloudNativeAPIGatewayCanaryRuleResponse 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;
}
}
/**
* ModifyCloudNativeAPIGatewayRouteRateLimit request structure.
* @class
*/
class ModifyCloudNativeAPIGatewayRouteRateLimitRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* Route id or routing name.
"Unnamed" is not supported.
* @type {string || null}
*/
this.Id = null;
/**
* Configure stream
* @type {CloudNativeAPIGatewayRateLimitDetail || null}
*/
this.LimitDetail = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.Id = 'Id' in params ? params.Id : null;
if (params.LimitDetail) {
let obj = new CloudNativeAPIGatewayRateLimitDetail();
obj.deserialize(params.LimitDetail)
this.LimitDetail = obj;
}
}
}
/**
* CreateGovernanceLaneGroups request structure.
* @class
*/
class CreateGovernanceLaneGroupsRequest extends AbstractModel {
constructor(){
super();
/**
* Engine Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Lane group rule list
* @type {Array.<GovernanceLaneGroup> || null}
*/
this.LaneGroups = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
if (params.LaneGroups) {
this.LaneGroups = new Array();
for (let z in params.LaneGroups) {
let obj = new GovernanceLaneGroup();
obj.deserialize(params.LaneGroups[z]);
this.LaneGroups.push(obj);
}
}
}
}
/**
* Delete the response result of the cloud native API gateway.
* @class
*/
class DeleteCloudNativeAPIGatewayResult extends AbstractModel {
constructor(){
super();
/**
* Cloud-native gateway ID.
* @type {string || null}
*/
this.GatewayId = null;
/**
* Cloud-native gateway status.
* @type {string || null}
*/
this.Status = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.Status = 'Status' in params ? params.Status : null;
}
}
/**
* Retrieve the response result of the Cloud Native API gateway instance policy.
* @class
*/
class ListCloudNativeAPIGatewayStrategyResult extends AbstractModel {
constructor(){
super();
/**
* Total quantity.
* @type {number || null}
*/
this.TotalCount = null;
/**
* Cloud Native API gateway instance policy list.
* @type {Array.<CloudNativeAPIGatewayStrategy> || null}
*/
this.StrategyList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
if (params.StrategyList) {
this.StrategyList = new Array();
for (let z in params.StrategyList) {
let obj = new CloudNativeAPIGatewayStrategy();
obj.deserialize(params.StrategyList[z]);
this.StrategyList.push(obj);
}
}
}
}
/**
* DescribeWafDomains request structure.
* @class
*/
class DescribeWafDomainsRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
}
}
/**
* CloseWafProtection request structure.
* @class
*/
class CloseWafProtectionRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* Type of protection resource.
-Global instance
-Service
-Route
-Object
* @type {string || null}
*/
this.Type = null;
/**
* When resource type Type is Service or Route, input the list of services or routes
* @type {Array.<string> || null}
*/
this.List = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.Type = 'Type' in params ? params.Type : null;
this.List = 'List' in params ? params.List : null;
}
}
/**
* ModifyCloudNativeAPIGatewayCanaryRule request structure.
* @class
*/
class ModifyCloudNativeAPIGatewayCanaryRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* Service ID
* @type {string || null}
*/
this.ServiceId = null;
/**
* Priority. The grayscale rule priority of a service is unique.
* @type {number || null}
*/
this.Priority = null;
/**
* Grayscale rule configuration
* @type {CloudNativeAPIGatewayCanaryRule || null}
*/
this.CanaryRule = null;
/**
* Grayscale rule configuration list. If configured, this parameter takes precedence and the Priority and CanaryRule parameters are ignored.
* @type {Array.<CanaryPriorityRule> || null}
*/
this.CanaryRuleList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.ServiceId = 'ServiceId' in params ? params.ServiceId : null;
this.Priority = 'Priority' in params ? params.Priority : null;
if (params.CanaryRule) {
let obj = new CloudNativeAPIGatewayCanaryRule();
obj.deserialize(params.CanaryRule)
this.CanaryRule = obj;
}
if (params.CanaryRuleList) {
this.CanaryRuleList = new Array();
for (let z in params.CanaryRuleList) {
let obj = new CanaryPriorityRule();
obj.deserialize(params.CanaryRuleList[z]);
this.CanaryRuleList.push(obj);
}
}
}
}
/**
* DescribeWafProtection request structure.
* @class
*/
class DescribeWafProtectionRequest extends AbstractModel {
constructor(){
super();
/**
* gateway ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* Type of protection resource.
-Global instance
-Service
-Route
-Object
* @type {string || null}
*/
this.Type = null;
/**
* Resource type list for protection supports querying multiple types (Global, Service, Route, Object). If left empty, it defaults to querying the Global type.
* @type {Array.<string> || null}
*/
this.TypeList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayId = 'GatewayId' in params ? params.GatewayId : null;
this.Type = 'Type' in params ? params.Type : null;
this.TypeList = 'TypeList' in params ? params.TypeList : null;
}
}
/**
* ModifyCloudNativeAPIGatewayService response structure.
* @class
*/
class ModifyCloudNativeAPIGatewayServiceResponse 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;
}
}
/**
* DescribeCloudNativeAPIGatewayNodes response structure.
* @class
*/
class DescribeCloudNativeAPIGatewayNodesResponse extends AbstractModel {
constructor(){
super();
/**
* Retrieve cloud-native gateway node list results.
* @type {DescribeCloudNativeAPIGatewayNodesResult || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Result) {
let obj = new DescribeCloudNativeAPIGatewayNodesResult();
obj.deserialize(params.Result)
this.Result = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Gateway data source description
* @class
*/
class NativeGatewayServiceSourceItem extends AbstractModel {
constructor(){
super();
/**
* Gateway instance ID
* @type {string || null}
*/
this.GatewayID = null;
/**
* Service Source ID
* @type {string || null}
*/
this.SourceID = null;
/**
* Service Source Name
* @type {string || null}
*/
this.SourceName = null;
/**
* Service source type
* @type {string || null}
*/
this.SourceType = null;
/**
* Service source additional information
* @type {SourceInfo || null}
*/
this.SourceInfo = null;
/**
* Creation time.
* @type {string || null}
*/
this.CreateTime = null;
/**
* Modification time.
* @type {string || null}
*/
this.ModifyTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayID = 'GatewayID' in params ? params.GatewayID : null;
this.SourceID = 'SourceID' in params ? params.SourceID : null;
this.SourceName = 'SourceName' in params ? params.SourceName : null;
this.SourceType = 'SourceType' in params ? params.SourceType : null;
if (params.SourceInfo) {
let obj = new SourceInfo();
obj.deserialize(params.SourceInfo)
this.SourceInfo = obj;
}
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null;
}
}
/**
* CreateCloudNativeAPIGateway response structure.
* @class
*/
class CreateCloudNativeAPIGatewayResponse extends AbstractModel {
constructor(){
super();
/**
* Create the response result of the Cloud Native API gateway instance.
* @type {CreateCloudNativeAPIGatewayResult || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Result) {
let obj = new CreateCloudNativeAPIGatewayResult();
obj.deserialize(params.Result)
this.Result = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeUpstreamHealthCheckConfig response structure.
* @class
*/
class DescribeUpstreamHealthCheckConfigResponse extends AbstractModel {
constructor(){
super();
/**
* Health check configuration
* @type {UpstreamHealthCheckConfig || null}
*/
this.Result = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Result) {
let obj = new UpstreamHealthCheckConfig();
obj.deserialize(params.Result)
this.Result = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Network access policy
* @class
*/
class NetworkAccessControl extends AbstractModel {
constructor(){
super();
/**
* Access mode: Whitelist|Blacklist
* @type {string || null}
*/
this.Mode = null;
/**
* List of allowlist
* @type {Array.<string> || null}
*/
this.CidrWhiteList = null;
/**
* blocklist
* @type {Array.<string> || null}
*/
this.CidrBlackList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Mode = 'Mode' in params ? params.Mode : null;
this.CidrWhiteList = 'CidrWhiteList' in params ? params.CidrWhiteList : null;
this.CidrBlackList = 'CidrBlackList' in params ? params.CidrBlackList : null;
}
}
/**
* ModifyNativeGatewayServiceSource request structure.
* @class
*/
class ModifyNativeGatewayServiceSourceRequest extends AbstractModel {
constructor(){
super();
/**
* Gateway instance ID
* @type {string || null}
*/
this.GatewayID = null;
/**
* Service Source Instance ID
* @type {string || null}
*/
this.SourceID = null;
/**
* Service Source Name
* @type {string || null}
*/
this.SourceName = null;
/**
* Service source instance additional information
* @type {SourceInfo || null}
*/
this.SourceInfo = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatewayID = 'GatewayID' in params ? params.GatewayID : null;
this.SourceID = 'SourceID' in params ? params.SourceID : null;
this.SourceName = 'SourceName' in params ? params.SourceName : null;
if (params.SourceInfo) {
let obj = new SourceInfo();
obj.deserialize(params.SourceInfo)
this.SourceInfo = obj;
}
}
}
/**
* Kong gateway proactive health check configuration
* @class
*/
class KongActiveHealthCheck extends AbstractModel {
constructor(){
super();
/**
* Probe interval for active health check in seconds. 0 means disabled.
* @type {number || null}
*/
this.HealthyInterval = null;
/**
* Proactive health check exception probe interval, unit: second. 0 indicates disabled.
* @type {number || null}
*/
this.UnHealthyInterval = null;
/**
* Path used in GET HTTP request to run as a proactive health check probe. Default: "/".
* @type {string || null}
*/
this.HttpPath = null;
/**
* Timeout for GET HTTP requests, unit: seconds. Default 60.
* @type {number || null}
*/
this.Timeout = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.HealthyInterval = 'HealthyInterval' in params ? params.HealthyInterval : null;
this.UnHealthyInterval = 'UnHealthyInterval' in params ? params.UnHealthyInterval : null;
this.HttpPath = 'HttpPath' in params ? params.HttpPath : null;
this.Timeout = 'Timeout' in params ? params.Timeout : null;
}
}
/**
* Query client public network information
* @class
*/
class DescribePublicNetworkResult extends AbstractModel {
constructor(){
super();
/**
* Gateway instance ID
* @type {string || null}
*/
this.GatewayId = null;
/**
* gateway group ID
* @type {string || null}
*/
this.GroupId = null;
/**
* Client public network information
* @type {CloudNativeAPIGatewayConfig || null}
*/
this.PublicNetwork = null;
}
/**
* @private