tencentcloud-sdk-nodejs-intl-en
Version:
1,748 lines (1,473 loc) • 914 kB
JavaScript
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const AbstractModel = require("../../common/abstract_model");
/**
* GenerateVpnConnectionDefaultHealthCheckIp request structure.
* @class
*/
class GenerateVpnConnectionDefaultHealthCheckIpRequest extends AbstractModel {
constructor(){
super();
/**
* VPN gateway ID, such as `vpngw-1w9tue3d`
* @type {string || null}
*/
this.VpnGatewayId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VpnGatewayId = 'VpnGatewayId' in params ? params.VpnGatewayId : null;
}
}
/**
* CreateNetworkAcl response structure.
* @class
*/
class CreateNetworkAclResponse extends AbstractModel {
constructor(){
super();
/**
* Network ACL instance
* @type {NetworkAcl || null}
*/
this.NetworkAcl = 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.NetworkAcl) {
let obj = new NetworkAcl();
obj.deserialize(params.NetworkAcl)
this.NetworkAcl = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Network ACL
* @class
*/
class NetworkAcl extends AbstractModel {
constructor(){
super();
/**
* `ID` of the `VPC` instance.
* @type {string || null}
*/
this.VpcId = null;
/**
* `ID` of the network ACL instance.
* @type {string || null}
*/
this.NetworkAclId = null;
/**
* Name of the network ACL. The maximum length is 60 bytes.
* @type {string || null}
*/
this.NetworkAclName = null;
/**
* Creation time.
* @type {string || null}
*/
this.CreatedTime = null;
/**
* Array of subnets associated with the network ACL.
* @type {Array.<Subnet> || null}
*/
this.SubnetSet = null;
/**
* Inbound rules of the network ACL.
* @type {Array.<NetworkAclEntry> || null}
*/
this.IngressEntries = null;
/**
* Outbound rules of the network ACL.
* @type {Array.<NetworkAclEntry> || null}
*/
this.EgressEntries = null;
/**
* Network ACL type. Valid values: `TRIPLE` and `QUINTUPLE`.
* @type {string || null}
*/
this.NetworkAclType = null;
/**
* Tag key-value pairs
* @type {Array.<Tag> || null}
*/
this.TagSet = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VpcId = 'VpcId' in params ? params.VpcId : null;
this.NetworkAclId = 'NetworkAclId' in params ? params.NetworkAclId : null;
this.NetworkAclName = 'NetworkAclName' in params ? params.NetworkAclName : null;
this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null;
if (params.SubnetSet) {
this.SubnetSet = new Array();
for (let z in params.SubnetSet) {
let obj = new Subnet();
obj.deserialize(params.SubnetSet[z]);
this.SubnetSet.push(obj);
}
}
if (params.IngressEntries) {
this.IngressEntries = new Array();
for (let z in params.IngressEntries) {
let obj = new NetworkAclEntry();
obj.deserialize(params.IngressEntries[z]);
this.IngressEntries.push(obj);
}
}
if (params.EgressEntries) {
this.EgressEntries = new Array();
for (let z in params.EgressEntries) {
let obj = new NetworkAclEntry();
obj.deserialize(params.EgressEntries[z]);
this.EgressEntries.push(obj);
}
}
this.NetworkAclType = 'NetworkAclType' in params ? params.NetworkAclType : null;
if (params.TagSet) {
this.TagSet = new Array();
for (let z in params.TagSet) {
let obj = new Tag();
obj.deserialize(params.TagSet[z]);
this.TagSet.push(obj);
}
}
}
}
/**
* ModifyAddressTemplateAttribute response structure.
* @class
*/
class ModifyAddressTemplateAttributeResponse 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;
}
}
/**
* Protocol port template group
* @class
*/
class ServiceTemplateGroup extends AbstractModel {
constructor(){
super();
/**
* Protocol port template group instance ID, such as `ppmg-2klmrefu`.
* @type {string || null}
*/
this.ServiceTemplateGroupId = null;
/**
* Protocol port template group name.
* @type {string || null}
*/
this.ServiceTemplateGroupName = null;
/**
* Protocol port template instance ID.
* @type {Array.<string> || null}
*/
this.ServiceTemplateIdSet = null;
/**
* Creation Time.
* @type {string || null}
*/
this.CreatedTime = null;
/**
* Protocol port template instance information.
* @type {Array.<ServiceTemplate> || null}
*/
this.ServiceTemplateSet = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ServiceTemplateGroupId = 'ServiceTemplateGroupId' in params ? params.ServiceTemplateGroupId : null;
this.ServiceTemplateGroupName = 'ServiceTemplateGroupName' in params ? params.ServiceTemplateGroupName : null;
this.ServiceTemplateIdSet = 'ServiceTemplateIdSet' in params ? params.ServiceTemplateIdSet : null;
this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null;
if (params.ServiceTemplateSet) {
this.ServiceTemplateSet = new Array();
for (let z in params.ServiceTemplateSet) {
let obj = new ServiceTemplate();
obj.deserialize(params.ServiceTemplateSet[z]);
this.ServiceTemplateSet.push(obj);
}
}
}
}
/**
* CreateRoutes request structure.
* @class
*/
class CreateRoutesRequest extends AbstractModel {
constructor(){
super();
/**
* Route table instance ID.
* @type {string || null}
*/
this.RouteTableId = null;
/**
* Routing policy object.
* @type {Array.<Route> || null}
*/
this.Routes = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RouteTableId = 'RouteTableId' in params ? params.RouteTableId : null;
if (params.Routes) {
this.Routes = new Array();
for (let z in params.Routes) {
let obj = new Route();
obj.deserialize(params.Routes[z]);
this.Routes.push(obj);
}
}
}
}
/**
* DescribeHaVips response structure.
* @class
*/
class DescribeHaVipsResponse extends AbstractModel {
constructor(){
super();
/**
* The number of objects meeting the condition.
* @type {number || null}
*/
this.TotalCount = null;
/**
* `HAVIP` object array.
* @type {Array.<HaVip> || null}
*/
this.HaVipSet = 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.HaVipSet) {
this.HaVipSet = new Array();
for (let z in params.HaVipSet) {
let obj = new HaVip();
obj.deserialize(params.HaVipSet[z]);
this.HaVipSet.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Statistics on the instances associated with the security group
* @class
*/
class SecurityGroupAssociationStatistics extends AbstractModel {
constructor(){
super();
/**
* Security group instance ID.
* @type {string || null}
*/
this.SecurityGroupId = null;
/**
* Number of CVM instances.
* @type {number || null}
*/
this.CVM = null;
/**
* Number of TencentDB for MySQL instances
* @type {number || null}
*/
this.CDB = null;
/**
* Number of ENI instances.
* @type {number || null}
*/
this.ENI = null;
/**
* Number of times a security group is referenced by other security groups
* @type {number || null}
*/
this.SG = null;
/**
* Number of load balancer instances.
* @type {number || null}
*/
this.CLB = null;
/**
* The binding statistics for all instances.
* @type {Array.<InstanceStatistic> || null}
*/
this.InstanceStatistics = null;
/**
* Total count of all resources (excluding resources referenced by security groups).
* @type {number || null}
*/
this.TotalCount = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.SecurityGroupId = 'SecurityGroupId' in params ? params.SecurityGroupId : null;
this.CVM = 'CVM' in params ? params.CVM : null;
this.CDB = 'CDB' in params ? params.CDB : null;
this.ENI = 'ENI' in params ? params.ENI : null;
this.SG = 'SG' in params ? params.SG : null;
this.CLB = 'CLB' in params ? params.CLB : null;
if (params.InstanceStatistics) {
this.InstanceStatistics = new Array();
for (let z in params.InstanceStatistics) {
let obj = new InstanceStatistic();
obj.deserialize(params.InstanceStatistics[z]);
this.InstanceStatistics.push(obj);
}
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
}
}
/**
* DeleteServiceTemplate response structure.
* @class
*/
class DeleteServiceTemplateResponse 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;
}
}
/**
* CreateServiceTemplate request structure.
* @class
*/
class CreateServiceTemplateRequest extends AbstractModel {
constructor(){
super();
/**
* Template name of the protocol port
* @type {string || null}
*/
this.ServiceTemplateName = null;
/**
* Supported ports inlcude single port, multiple ports, consecutive ports and all ports. Supported protocols include TCP, UDP, ICMP and GRE. Either Services or ServicesExtra is required.
* @type {Array.<string> || null}
*/
this.Services = null;
/**
* You can add remarks. Supported ports include single port, multiple ports, consecutive ports and all ports. Supported protocols include TCP, UDP, ICMP and GRE. Either Services or ServicesExtra is required.
* @type {Array.<ServicesInfo> || null}
*/
this.ServicesExtra = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ServiceTemplateName = 'ServiceTemplateName' in params ? params.ServiceTemplateName : null;
this.Services = 'Services' in params ? params.Services : null;
if (params.ServicesExtra) {
this.ServicesExtra = new Array();
for (let z in params.ServicesExtra) {
let obj = new ServicesInfo();
obj.deserialize(params.ServicesExtra[z]);
this.ServicesExtra.push(obj);
}
}
}
}
/**
* Internet Key Exchange (IKE) configuration. IKE has a self-protection mechanism. The network security protocol is configured by the user.
* @class
*/
class IKEOptionsSpecification extends AbstractModel {
constructor(){
super();
/**
* Encryption algorithm. Valid values: `3DES-CBC`, `AES-CBC-128`, `AES-CBS-192`, `AES-CBC-256`, `DES-CBC`, and `SM4`; default value: `3DES-CBC`.
* @type {string || null}
*/
this.PropoEncryAlgorithm = null;
/**
* Authentication algorithm. Valid values: `MD5`, `SHA1` and `SHA-256`; default value: `MD5`.
* @type {string || null}
*/
this.PropoAuthenAlgorithm = null;
/**
* Negotiation mode. Available values: 'AGGRESSIVE' and 'MAIN'. Default is MAIN.
* @type {string || null}
*/
this.ExchangeMode = null;
/**
* Type of local identity. Available values: 'ADDRESS' and 'FQDN'. Default is ADDRESS.
* @type {string || null}
*/
this.LocalIdentity = null;
/**
* Type of remote identity. Available values: 'ADDRESS' and 'FQDN'. Default is ADDRESS.
* @type {string || null}
*/
this.RemoteIdentity = null;
/**
* Local identity. When ADDRESS is selected for LocalIdentity, LocalAddress is required. The default LocalAddress is the public IP of the VPN gateway.
* @type {string || null}
*/
this.LocalAddress = null;
/**
* Remote identity. When ADDRESS is selected for RemoteIdentity, RemoteAddress is required.
* @type {string || null}
*/
this.RemoteAddress = null;
/**
* Local identity. When FQDN is selected for LocalIdentity, LocalFqdnName is required.
* @type {string || null}
*/
this.LocalFqdnName = null;
/**
* Remote identity. When FQDN is selected for RemoteIdentity, RemoteFqdnName is required.
* @type {string || null}
*/
this.RemoteFqdnName = null;
/**
* DH group. Specify the DH group used for exchanging the key via IKE. Available values: 'GROUP1', 'GROUP2', 'GROUP5', 'GROUP14', and 'GROUP24'.
* @type {string || null}
*/
this.DhGroupName = null;
/**
* IKE SA lifetime (in sec). Value range: 60-604800
* @type {number || null}
*/
this.IKESaLifetimeSeconds = null;
/**
* IKE version
* @type {string || null}
*/
this.IKEVersion = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PropoEncryAlgorithm = 'PropoEncryAlgorithm' in params ? params.PropoEncryAlgorithm : null;
this.PropoAuthenAlgorithm = 'PropoAuthenAlgorithm' in params ? params.PropoAuthenAlgorithm : null;
this.ExchangeMode = 'ExchangeMode' in params ? params.ExchangeMode : null;
this.LocalIdentity = 'LocalIdentity' in params ? params.LocalIdentity : null;
this.RemoteIdentity = 'RemoteIdentity' in params ? params.RemoteIdentity : null;
this.LocalAddress = 'LocalAddress' in params ? params.LocalAddress : null;
this.RemoteAddress = 'RemoteAddress' in params ? params.RemoteAddress : null;
this.LocalFqdnName = 'LocalFqdnName' in params ? params.LocalFqdnName : null;
this.RemoteFqdnName = 'RemoteFqdnName' in params ? params.RemoteFqdnName : null;
this.DhGroupName = 'DhGroupName' in params ? params.DhGroupName : null;
this.IKESaLifetimeSeconds = 'IKESaLifetimeSeconds' in params ? params.IKESaLifetimeSeconds : null;
this.IKEVersion = 'IKEVersion' in params ? params.IKEVersion : null;
}
}
/**
* CreateCcn response structure.
* @class
*/
class CreateCcnResponse extends AbstractModel {
constructor(){
super();
/**
* The CCN object.
* @type {CCN || null}
*/
this.Ccn = 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.Ccn) {
let obj = new CCN();
obj.deserialize(params.Ccn)
this.Ccn = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeVpnConnections request structure.
* @class
*/
class DescribeVpnConnectionsRequest extends AbstractModel {
constructor(){
super();
/**
* The instance ID of the VPN tunnel, such as `vpnx-f49l6u0z`. Each request can have a maximum of 100 instances. `VpnConnectionIds` and `Filters` cannot be specified at the same time.
* @type {Array.<string> || null}
*/
this.VpnConnectionIds = null;
/**
* Filter condition. In each request, the upper limit for `Filters` is 10 and 5 for `Filter.Values`. `VpnConnectionIds` and `Filters` cannot be specified at the same time.
<li>vpc-id - String - VPC instance ID, such as `vpc-0a36uwkr`.</li>
<li>vpn-gateway-id - String - VPN gateway instance ID, such as `vpngw-p4lmqawn`.</li>
<li>customer-gateway-id - String - Customer gateway instance ID, such as `cgw-l4rblw63`.</li>
<li>vpn-connection-name - String - Connection name, such as `test-vpn`.</li>
<li>vpn-connection-id - String - Connection instance ID, such as `vpnx-5p7vkch8"`.</li>
* @type {Array.<Filter> || null}
*/
this.Filters = null;
/**
* The Offset. The default value is 0. For more information about Offset, see the relevant section in the API Introduction.
* @type {number || null}
*/
this.Offset = null;
/**
* Number of values to be returned. The default value is 20. Maximum is 100.
* @type {number || null}
*/
this.Limit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VpnConnectionIds = 'VpnConnectionIds' in params ? params.VpnConnectionIds : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
}
}
/**
* CreateAssistantCidr request structure.
* @class
*/
class CreateAssistantCidrRequest extends AbstractModel {
constructor(){
super();
/**
* `VPC` instance `ID`, such as `vpc-6v2ht8q5`.
* @type {string || null}
*/
this.VpcId = null;
/**
* Array of CIDR blocks, such as ["10.0.0.0/16", "172.16.0.0/16"]
* @type {Array.<string> || null}
*/
this.CidrBlocks = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VpcId = 'VpcId' in params ? params.VpcId : null;
this.CidrBlocks = 'CidrBlocks' in params ? params.CidrBlocks : null;
}
}
/**
* DescribeNetworkInterfaces request structure.
* @class
*/
class DescribeNetworkInterfacesRequest extends AbstractModel {
constructor(){
super();
/**
* Queries the ID of the ENI instance, such as `eni-pxir56ns`. Each request can have a maximum of 100 instances. `NetworkInterfaceIds` and `Filters` cannot be specified at the same time.
* @type {Array.<string> || null}
*/
this.NetworkInterfaceIds = null;
/**
* Filter. `NetworkInterfaceIds` and `Filters` cannot be specified at the same time.
<li>`vpc-id` - String - VPC ID, such as `vpc-f49l6u0z`. </li>
<li>`subnet-id` - String - Subnet ID, such as `subnet-f49l6u0z`. </li>
<li>`network-interface-id` - String - ENI ID, such as `eni-5k56k7k7`. </li>
<li>`attachment.instance-id` - String - ID of the bound CVM instance, such as `ins-3nqpdn3i`. </li>
<li>`groups.security-group-id` - String - ID of the bound security group, such as `sg-f9ekbxeq`. </li>
<li>`network-interface-name` - String - ENI instance name. </li>
<li>`network-interface-description` - String - ENI instance description. </li>
<li>`address-ip` - String - Private IPv4 address. A single IP will be fuzzily matched with the suffix, while multiple IPs will be exactly matched. It can be used with `ip-exact-match` to query and exactly match a single IP. </li>
<li>`ip-exact-match` - Boolean - Exact match by private IPv4 address. The first value will be returned if multiple values are found. </li>
<li>`tag-key` - String - Optional - Tag key. See Example 2 to learn more details. </li>
<li>`tag:tag-key` - String - Optional - Tag key-value pair. The `tag-key` should be replaced with a specific tag key. See Example 2 to learn more details. </li>
<li>`is-primary` - Boolean - Optional - Filter based on whether it is a primary ENI. Values: `true`, `false`. If this parameter is not specified, filter the both. </li>
<li>`eni-type` - String - Optional - Filter by ENI type. Values: `0` (Secondary ENI), `1` (Primary ENI), `2` (Relayed ENI) </li>
<li>`eni-qos` - String - Optional - Filter by ENI service level. Values: `AG` (Bronze), `AU` (Silver) </li>
<li>`address-ipv6` - String - Optional - Filter by private IPv6 address. Multiple IPv6 addresses can be used for query. If this field is used together with `address-ip`, their intersection will be used. </li>
<li>`public-address-ip` - String - Public IPv4 address. It supports exact matching. </li>
* @type {Array.<Filter> || null}
*/
this.Filters = null;
/**
* Offset. Default value: 0.
* @type {number || null}
*/
this.Offset = null;
/**
* Number of returned results. Default value: 20. Maximum value: 100.
* @type {number || null}
*/
this.Limit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.NetworkInterfaceIds = 'NetworkInterfaceIds' in params ? params.NetworkInterfaceIds : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
}
}
/**
* ReleaseIp6AddressesBandwidth response structure.
* @class
*/
class ReleaseIp6AddressesBandwidthResponse extends AbstractModel {
constructor(){
super();
/**
* Asynchronous task ID. You can call the [DescribeTaskResult](https://intl.cloud.tencent.com/document/api/215/36271?from_cn_redirect=1) API to query the task status.
* @type {string || null}
*/
this.TaskId = 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.TaskId = 'TaskId' in params ? params.TaskId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeVpcIpv6Addresses request structure.
* @class
*/
class DescribeVpcIpv6AddressesRequest extends AbstractModel {
constructor(){
super();
/**
* The `ID` of the `VPC`, such as `vpc-f49l6u0z`.
* @type {string || null}
*/
this.VpcId = null;
/**
* The `IP` address list. Each request supports a maximum of `10` batch querying.
* @type {Array.<string> || null}
*/
this.Ipv6Addresses = null;
/**
* Offset.
* @type {number || null}
*/
this.Offset = null;
/**
* The returned quantity.
* @type {number || null}
*/
this.Limit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VpcId = 'VpcId' in params ? params.VpcId : null;
this.Ipv6Addresses = 'Ipv6Addresses' in params ? params.Ipv6Addresses : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
}
}
/**
* SNAT rule of a NAT Gateway
* @class
*/
class SourceIpTranslationNatRule extends AbstractModel {
constructor(){
super();
/**
* Resource ID. It can be left empty if `ResourceType` is `USERDEFINED`.
* @type {string || null}
*/
this.ResourceId = null;
/**
* Resource type. Valid values: `SUBNET`, `NETWORKINTERFACE`, `USERDEFINED`
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ResourceType = null;
/**
* Source IP/IP range
* @type {string || null}
*/
this.PrivateIpAddress = null;
/**
* Elastic IP address pool
* @type {Array.<string> || null}
*/
this.PublicIpAddresses = null;
/**
* Description
* @type {string || null}
*/
this.Description = null;
/**
* SNAT rule ID
* @type {string || null}
*/
this.NatGatewaySnatId = null;
/**
* NAT gateway ID.
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.NatGatewayId = null;
/**
* VPC ID.
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.VpcId = null;
/**
* The creation time of a NAT gateway's SNAT rule.
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CreatedTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ResourceId = 'ResourceId' in params ? params.ResourceId : null;
this.ResourceType = 'ResourceType' in params ? params.ResourceType : null;
this.PrivateIpAddress = 'PrivateIpAddress' in params ? params.PrivateIpAddress : null;
this.PublicIpAddresses = 'PublicIpAddresses' in params ? params.PublicIpAddresses : null;
this.Description = 'Description' in params ? params.Description : null;
this.NatGatewaySnatId = 'NatGatewaySnatId' in params ? params.NatGatewaySnatId : null;
this.NatGatewayId = 'NatGatewayId' in params ? params.NatGatewayId : null;
this.VpcId = 'VpcId' in params ? params.VpcId : null;
this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null;
}
}
/**
* DisableCcnRoutes request structure.
* @class
*/
class DisableCcnRoutesRequest extends AbstractModel {
constructor(){
super();
/**
* The CCN instance ID, such as `ccn-f49l6u0z`.
* @type {string || null}
*/
this.CcnId = null;
/**
* The unique ID of the CCN routing policy, such as `ccnr-f49l6u0z`.
* @type {Array.<string> || null}
*/
this.RouteIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.CcnId = 'CcnId' in params ? params.CcnId : null;
this.RouteIds = 'RouteIds' in params ? params.RouteIds : null;
}
}
/**
* ModifyNatGatewayDestinationIpPortTranslationNatRule response structure.
* @class
*/
class ModifyNatGatewayDestinationIpPortTranslationNatRuleResponse 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;
}
}
/**
* ModifyNatGatewaySourceIpTranslationNatRule request structure.
* @class
*/
class ModifyNatGatewaySourceIpTranslationNatRuleRequest extends AbstractModel {
constructor(){
super();
/**
* The ID of the NAT Gateway, such as `nat-df453454`
* @type {string || null}
*/
this.NatGatewayId = null;
/**
* The SNAT forwarding rule of the NAT Gateway
* @type {SourceIpTranslationNatRule || null}
*/
this.SourceIpTranslationNatRule = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.NatGatewayId = 'NatGatewayId' in params ? params.NatGatewayId : null;
if (params.SourceIpTranslationNatRule) {
let obj = new SourceIpTranslationNatRule();
obj.deserialize(params.SourceIpTranslationNatRule)
this.SourceIpTranslationNatRule = obj;
}
}
}
/**
* SetVpnGatewaysRenewFlag request structure.
* @class
*/
class SetVpnGatewaysRenewFlagRequest extends AbstractModel {
constructor(){
super();
/**
* VPN gateway IDs
* @type {Array.<string> || null}
*/
this.VpnGatewayIds = null;
/**
* Status of auto-renewal
Values: `0` (Follow original), `1` (Enable auto-renewal), `2` (Disable auto-renewal)
* @type {number || null}
*/
this.AutoRenewFlag = null;
/**
* VPNGW type: `IPSEC`, `SSL`
* @type {string || null}
*/
this.Type = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VpnGatewayIds = 'VpnGatewayIds' in params ? params.VpnGatewayIds : null;
this.AutoRenewFlag = 'AutoRenewFlag' in params ? params.AutoRenewFlag : null;
this.Type = 'Type' in params ? params.Type : null;
}
}
/**
* ModifyCcnRegionBandwidthLimitsType response structure.
* @class
*/
class ModifyCcnRegionBandwidthLimitsTypeResponse 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;
}
}
/**
* DescribeVpnGateways response structure.
* @class
*/
class DescribeVpnGatewaysResponse extends AbstractModel {
constructor(){
super();
/**
* The number of instances meeting the filter condition.
* @type {number || null}
*/
this.TotalCount = null;
/**
* The list of details of VPN gateway instances.
* @type {Array.<VpnGateway> || null}
*/
this.VpnGatewaySet = 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.VpnGatewaySet) {
this.VpnGatewaySet = new Array();
for (let z in params.VpnGatewaySet) {
let obj = new VpnGateway();
obj.deserialize(params.VpnGatewaySet[z]);
this.VpnGatewaySet.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyNetworkAclQuintupleEntries request structure.
* @class
*/
class ModifyNetworkAclQuintupleEntriesRequest extends AbstractModel {
constructor(){
super();
/**
* Network ACL instance ID, such as `acl-12345678`.
* @type {string || null}
*/
this.NetworkAclId = null;
/**
* Network ACL quintuple rule set.
* @type {NetworkAclQuintupleEntries || null}
*/
this.NetworkAclQuintupleSet = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.NetworkAclId = 'NetworkAclId' in params ? params.NetworkAclId : null;
if (params.NetworkAclQuintupleSet) {
let obj = new NetworkAclQuintupleEntries();
obj.deserialize(params.NetworkAclQuintupleSet)
this.NetworkAclQuintupleSet = obj;
}
}
}
/**
* ModifyServiceTemplateAttribute request structure.
* @class
*/
class ModifyServiceTemplateAttributeRequest extends AbstractModel {
constructor(){
super();
/**
* Protocol port template instance ID, such as `ppm-529nwwj8`.
* @type {string || null}
*/
this.ServiceTemplateId = null;
/**
* Protocol port template name.
* @type {string || null}
*/
this.ServiceTemplateName = null;
/**
* It supports single port, multiple ports, consecutive ports and all ports. Supported protocols include TCP, UDP, ICMP, and GRE.
* @type {Array.<string> || null}
*/
this.Services = null;
/**
* Protocol port information with remarks. Supported ports include single port, multiple ports, consecutive ports and other ports. Supported protocols include TCP, UDP, ICMP, and GRE.
* @type {Array.<ServicesInfo> || null}
*/
this.ServicesExtra = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ServiceTemplateId = 'ServiceTemplateId' in params ? params.ServiceTemplateId : null;
this.ServiceTemplateName = 'ServiceTemplateName' in params ? params.ServiceTemplateName : null;
this.Services = 'Services' in params ? params.Services : null;
if (params.ServicesExtra) {
this.ServicesExtra = new Array();
for (let z in params.ServicesExtra) {
let obj = new ServicesInfo();
obj.deserialize(params.ServicesExtra[z]);
this.ServicesExtra.push(obj);
}
}
}
}
/**
* Security group policy object
* @class
*/
class SecurityGroupPolicy extends AbstractModel {
constructor(){
super();
/**
* The index number of security group rules, which dynamically changes with the rules. This parameter can be obtained via the `DescribeSecurityGroupPolicies` API and used with the `Version` field in the returned value of the API.
* @type {number || null}
*/
this.PolicyIndex = null;
/**
* Protocol. Valid values: TCP, UDP, ICMP, ICMPv6, ALL.
* @type {string || null}
*/
this.Protocol = null;
/**
* Port (`all`, a single port, or a port range).
Note: If the `Protocol` value is set to `ALL`, the `Port` value also needs to be set to `all`.
* @type {string || null}
*/
this.Port = null;
/**
* Protocol port ID or protocol port group ID. ServiceTemplate and Protocol+Port are mutually exclusive.
* @type {ServiceTemplateSpecification || null}
*/
this.ServiceTemplate = null;
/**
* Either `CidrBlock` or `Ipv6CidrBlock can be specified. Note that if `0.0.0.0/n` is entered, it is mapped to 0.0.0.0/0.
* @type {string || null}
*/
this.CidrBlock = null;
/**
* The CIDR block or IPv6 (mutually exclusive).
* @type {string || null}
*/
this.Ipv6CidrBlock = null;
/**
* The security group instance ID, such as `sg-ohuuioma`.
* @type {string || null}
*/
this.SecurityGroupId = null;
/**
* IP address ID or IP address group ID.
* @type {AddressTemplateSpecification || null}
*/
this.AddressTemplate = null;
/**
* ACCEPT or DROP.
* @type {string || null}
*/
this.Action = null;
/**
* Security group policy description.
* @type {string || null}
*/
this.PolicyDescription = null;
/**
* The last modification time of the security group.
* @type {string || null}
*/
this.ModifyTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PolicyIndex = 'PolicyIndex' in params ? params.PolicyIndex : null;
this.Protocol = 'Protocol' in params ? params.Protocol : null;
this.Port = 'Port' in params ? params.Port : null;
if (params.ServiceTemplate) {
let obj = new ServiceTemplateSpecification();
obj.deserialize(params.ServiceTemplate)
this.ServiceTemplate = obj;
}
this.CidrBlock = 'CidrBlock' in params ? params.CidrBlock : null;
this.Ipv6CidrBlock = 'Ipv6CidrBlock' in params ? params.Ipv6CidrBlock : null;
this.SecurityGroupId = 'SecurityGroupId' in params ? params.SecurityGroupId : null;
if (params.AddressTemplate) {
let obj = new AddressTemplateSpecification();
obj.deserialize(params.AddressTemplate)
this.AddressTemplate = obj;
}
this.Action = 'Action' in params ? params.Action : null;
this.PolicyDescription = 'PolicyDescription' in params ? params.PolicyDescription : null;
this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null;
}
}
/**
* DescribeIpGeolocationInfos request structure.
* @class
*/
class DescribeIpGeolocationInfosRequest extends AbstractModel {
constructor(){
super();
/**
* The list of IP addresses (only IPv4 addresses are available currently) to be queried; upper limit: 100
* @type {Array.<string> || null}
*/
this.AddressIps = null;
/**
* Fields of the IP addresses to be queried.
* @type {IpField || null}
*/
this.Fields = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AddressIps = 'AddressIps' in params ? params.AddressIps : null;
if (params.Fields) {
let obj = new IpField();
obj.deserialize(params.Fields)
this.Fields = obj;
}
}
}
/**
* ResetAttachCcnInstances response structure.
* @class
*/
class ResetAttachCcnInstancesResponse 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;
}
}
/**
* CreateSnapshotPolicies response structure.
* @class
*/
class CreateSnapshotPoliciesResponse extends AbstractModel {
constructor(){
super();
/**
* Snapshot policies
* @type {Array.<SnapshotPolicy> || null}
*/
this.SnapshotPolicies = 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.SnapshotPolicies) {
this.SnapshotPolicies = new Array();
for (let z in params.SnapshotPolicies) {
let obj = new SnapshotPolicy();
obj.deserialize(params.SnapshotPolicies[z]);
this.SnapshotPolicies.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeServiceTemplateGroups response structure.
* @class
*/
class DescribeServiceTemplateGroupsResponse extends AbstractModel {
constructor(){
super();
/**
* The number of instances meeting the filter condition.
* @type {number || null}
*/
this.TotalCount = null;
/**
* Protocol port template group.
* @type {Array.<ServiceTemplateGroup> || null}
*/
this.ServiceTemplateGroupSet = 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.ServiceTemplateGroupSet) {
this.ServiceTemplateGroupSet = new Array();
for (let z in params.ServiceTemplateGroupSet) {
let obj = new ServiceTemplateGroup();
obj.deserialize(params.ServiceTemplateGroupSet[z]);
this.ServiceTemplateGroupSet.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeVpcEndPoint request structure.
* @class
*/
class DescribeVpcEndPointRequest extends AbstractModel {
constructor(){
super();
/**
* Filter condition
<li> end-point-service-id - String - (Filter condition) Endpoint service ID.</li>
<li>end-point-name - String - (Filter condition) Endpoint instance name.</li>
<li> end-point-id - String - (Filter condition) Endpoint instance ID.</li>
<li> vpc-id - String - (Filter condition) VPC instance ID.</li>
* @type {Array.<Filter> || null}
*/
this.Filters = null;
/**
* Offset. Default value: 0.
* @type {number || null}
*/
this.Offset = null;
/**
* Number of results per page; default value: 20; maximum value: 100.
* @type {number || null}
*/
this.Limit = null;
/**
* Endpoint ID list
* @type {Array.<string> || null}
*/
this.EndPointId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.EndPointId = 'EndPointId' in params ? params.EndPointId : null;
}
}
/**
* AssignPrivateIpAddresses request structure.
* @class
*/
class AssignPrivateIpAddressesRequest extends AbstractModel {
constructor(){
super();
/**
* The ID of the ENI instance, such as `eni-m6dyj72l`.
* @type {string || null}
*/
this.NetworkInterfaceId = null;
/**
* The information on private IP addresses, of which you can specify a maximum of 10 at a time. You should provide either this parameter or SecondaryPrivateIpAddressCount, or both.
* @type {Array.<PrivateIpAddressSpecification> || null}
*/
this.PrivateIpAddresses = null;
/**
* The number of newly-applied private IP addresses. You should provide either this parameter or PrivateIpAddresses, or both. The total number of private IP addresses cannot exceed the quota. For more information, see<a href="/document/product/576/18527">ENI Use Limits</a>.
* @type {number || null}
*/
this.SecondaryPrivateIpAddressCount = null;
/**
* IP service level. It is used together with `SecondaryPrivateIpAddressCount`. Values: PT` (Gold), `AU` (Silver), `AG `(Bronze) and DEFAULT (Default).
* @type {string || null}
*/
this.QosLevel = null;
/**
*
* @type {string || null}
*/
this.ClientToken = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.NetworkInterfaceId = 'NetworkInterfaceId' in params ? params.NetworkInterfaceId : null;
if (params.PrivateIpAddresses) {
this.PrivateIpAddresses = new Array();
for (let z in params.PrivateIpAddresses) {
let obj = new PrivateIpAddressSpecification();
obj.deserialize(params.PrivateIpAddresses[z]);
this.PrivateIpAddresses.push(obj);
}
}
this.SecondaryPrivateIpAddressCount = 'SecondaryPrivateIpAddressCount' in params ? params.SecondaryPrivateIpAddressCount : null;
this.QosLevel = 'QosLevel' in params ?