tencentcloud-sdk-nodejs-intl-en
Version:
1,660 lines (1,401 loc) • 221 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");
/**
* Permission configuration in Topic & Group dimension.
* @class
*/
class DetailedRolePerm extends AbstractModel {
constructor(){
super();
/**
* Resources corresponding to permissions.
Specifies the topic name, which can be obtained from [TopicItem](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#TopicItem) returned by the api [DescribeTopicList](https://www.tencentcloud.com/document/api/1493/96030?from_cn_redirect=1) or from the console.
Specifies the consumer group name, which can be obtained from the api response of DescribeConsumerGroupList (https://www.tencentcloud.com/document/api/1493/101535?from_cn_redirect=1) or the console.
* @type {string || null}
*/
this.Resource = null;
/**
* Whether to enable production permission
* @type {boolean || null}
*/
this.PermWrite = null;
/**
* Whether to enable consumption permission
* @type {boolean || null}
*/
this.PermRead = null;
/**
* Authorize resource type (Topic: theme; Group: consumption Group).
* @type {string || null}
*/
this.ResourceType = null;
/**
* Resource remark.
* @type {string || null}
*/
this.Remark = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Resource = 'Resource' in params ? params.Resource : null;
this.PermWrite = 'PermWrite' in params ? params.PermWrite : null;
this.PermRead = 'PermRead' in params ? params.PermRead : null;
this.ResourceType = 'ResourceType' in params ? params.ResourceType : null;
this.Remark = 'Remark' in params ? params.Remark : null;
}
}
/**
* DescribeProductSKUs request structure.
* @class
*/
class DescribeProductSKUsRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* ResetConsumerGroupOffset response structure.
* @class
*/
class ResetConsumerGroupOffsetResponse 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;
}
}
/**
* DescribeSmoothMigrationTaskList request structure.
* @class
*/
class DescribeSmoothMigrationTaskListRequest extends AbstractModel {
constructor(){
super();
/**
* Maximum number of queried results. Default value: 20.
* @type {number || null}
*/
this.Limit = null;
/**
* Starting position of the query. Default value: 0.
* @type {number || null}
*/
this.Offset = null;
/**
* Filtering condition list. See the description of the API using this parameter for the usage method.
* @type {Array.<Filter> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
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 Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* Product sales information
* @class
*/
class ProductSKU extends AbstractModel {
constructor(){
super();
/**
* Specifies the product type.
Trial version.
BASIC version.
PRO, professional edition.
PLATINUM edition.
* @type {string || null}
*/
this.InstanceType = null;
/**
* Specification code
* @type {string || null}
*/
this.SkuCode = null;
/**
* TPS limit
* @type {number || null}
*/
this.TpsLimit = null;
/**
* Elastic TPS upper limit
* @type {number || null}
*/
this.ScaledTpsLimit = null;
/**
* Default maximum number of topics.
* @type {number || null}
*/
this.TopicNumLimit = null;
/**
* Maximum number of consumer groups
* @type {number || null}
*/
this.GroupNumLimit = null;
/**
* Default message retention time, in hours
* @type {number || null}
*/
this.DefaultRetention = null;
/**
* Adjustable maximum message retention time, in hours
* @type {number || null}
*/
this.RetentionUpperLimit = null;
/**
* Adjustable minimum message retention time, in hours
* @type {number || null}
*/
this.RetentionLowerLimit = null;
/**
* Maximum delayed message duration, in hours
* @type {number || null}
*/
this.MaxMessageDelay = null;
/**
* Whether it is purchasable
* @type {boolean || null}
*/
this.OnSale = null;
/**
* Billing item information
* @type {Array.<PriceTag> || null}
*/
this.PriceTags = null;
/**
* Default maximum number of topics.
* @type {number || null}
*/
this.TopicNumUpperLimit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceType = 'InstanceType' in params ? params.InstanceType : null;
this.SkuCode = 'SkuCode' in params ? params.SkuCode : null;
this.TpsLimit = 'TpsLimit' in params ? params.TpsLimit : null;
this.ScaledTpsLimit = 'ScaledTpsLimit' in params ? params.ScaledTpsLimit : null;
this.TopicNumLimit = 'TopicNumLimit' in params ? params.TopicNumLimit : null;
this.GroupNumLimit = 'GroupNumLimit' in params ? params.GroupNumLimit : null;
this.DefaultRetention = 'DefaultRetention' in params ? params.DefaultRetention : null;
this.RetentionUpperLimit = 'RetentionUpperLimit' in params ? params.RetentionUpperLimit : null;
this.RetentionLowerLimit = 'RetentionLowerLimit' in params ? params.RetentionLowerLimit : null;
this.MaxMessageDelay = 'MaxMessageDelay' in params ? params.MaxMessageDelay : null;
this.OnSale = 'OnSale' in params ? params.OnSale : null;
if (params.PriceTags) {
this.PriceTags = new Array();
for (let z in params.PriceTags) {
let obj = new PriceTag();
obj.deserialize(params.PriceTags[z]);
this.PriceTags.push(obj);
}
}
this.TopicNumUpperLimit = 'TopicNumUpperLimit' in params ? params.TopicNumUpperLimit : null;
}
}
/**
* DescribeRoleList response structure.
* @class
*/
class DescribeRoleListResponse extends AbstractModel {
constructor(){
super();
/**
* Total query count
* @type {number || null}
*/
this.TotalCount = null;
/**
* Role information list
* @type {Array.<RoleItem> || null}
*/
this.Data = 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.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new RoleItem();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateInstance response structure.
* @class
*/
class CreateInstanceResponse extends AbstractModel {
constructor(){
super();
/**
* Cluster ID
* @type {string || null}
*/
this.InstanceId = 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.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Consumer group information
* @class
*/
class ConsumeGroupItem extends AbstractModel {
constructor(){
super();
/**
* Instance ID.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Consumer group name
* @type {string || null}
*/
this.ConsumerGroup = null;
/**
* Enable consumption
* @type {boolean || null}
*/
this.ConsumeEnable = null;
/**
* Ordered delivery: true
Concurrent delivery: false.
* @type {boolean || null}
*/
this.ConsumeMessageOrderly = null;
/**
* Maximum number of retries
* @type {number || null}
*/
this.MaxRetryTimes = null;
/**
* Remarks
* @type {string || null}
*/
this.Remark = null;
/**
* ID of a 4.x cluster.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ClusterIdV4 = null;
/**
* Namespace of a 4.x cluster.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.NamespaceV4 = null;
/**
* Consumer group name of a 4.x cluster.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ConsumerGroupV4 = null;
/**
* Complete namespace of a 4.x cluster.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.FullNamespaceV4 = null;
/**
* Number of subscribed topics.
* @type {number || null}
*/
this.SubscribeTopicNum = null;
/**
* Creation time.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CreateTime = null;
/**
* List of bound tags
* @type {Array.<Tag> || null}
*/
this.TagList = null;
/**
* Retry policy
* @type {RetryPolicy || null}
*/
this.RetryPolicy = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.ConsumerGroup = 'ConsumerGroup' in params ? params.ConsumerGroup : null;
this.ConsumeEnable = 'ConsumeEnable' in params ? params.ConsumeEnable : null;
this.ConsumeMessageOrderly = 'ConsumeMessageOrderly' in params ? params.ConsumeMessageOrderly : null;
this.MaxRetryTimes = 'MaxRetryTimes' in params ? params.MaxRetryTimes : null;
this.Remark = 'Remark' in params ? params.Remark : null;
this.ClusterIdV4 = 'ClusterIdV4' in params ? params.ClusterIdV4 : null;
this.NamespaceV4 = 'NamespaceV4' in params ? params.NamespaceV4 : null;
this.ConsumerGroupV4 = 'ConsumerGroupV4' in params ? params.ConsumerGroupV4 : null;
this.FullNamespaceV4 = 'FullNamespaceV4' in params ? params.FullNamespaceV4 : null;
this.SubscribeTopicNum = 'SubscribeTopicNum' in params ? params.SubscribeTopicNum : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
if (params.TagList) {
this.TagList = new Array();
for (let z in params.TagList) {
let obj = new Tag();
obj.deserialize(params.TagList[z]);
this.TagList.push(obj);
}
}
if (params.RetryPolicy) {
let obj = new RetryPolicy();
obj.deserialize(params.RetryPolicy)
this.RetryPolicy = obj;
}
}
}
/**
* DescribeConsumerClient response structure.
* @class
*/
class DescribeConsumerClientResponse extends AbstractModel {
constructor(){
super();
/**
* Client details
Note: This field may return null, indicating that no valid values can be obtained.
* @type {ConsumerClient || null}
*/
this.Client = null;
/**
* Topic consumption information
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<TopicConsumeStats> || null}
*/
this.TopicList = 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.Client) {
let obj = new ConsumerClient();
obj.deserialize(params.Client)
this.Client = obj;
}
if (params.TopicList) {
this.TopicList = new Array();
for (let z in params.TopicList) {
let obj = new TopicConsumeStats();
obj.deserialize(params.TopicList[z]);
this.TopicList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeMessageList request structure.
* @class
*/
class DescribeMessageListRequest extends AbstractModel {
constructor(){
super();
/**
* TDMQ RocketMQ instance ID. It can be obtained from the API [DescribeFusionInstanceList](https://www.tencentcloud.com/document/api/1493/106745?from_cn_redirect=1) or the console.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Topic name. It can be obtained from [TopicItem](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#TopicItem) returned by the API [DescribeTopicList](https://www.tencentcloud.com/document/api/1493/96030?from_cn_redirect=1) or from the console.
* @type {string || null}
*/
this.Topic = null;
/**
* Start time for querying messages. **It is a Unix timestamp (ms).**
* @type {number || null}
*/
this.StartTime = null;
/**
* End time for querying messages. **It is a Unix timestamp (ms).**
* @type {number || null}
*/
this.EndTime = null;
/**
* Query identifier. For the first query, input a null string. If the query results involve pagination, use the TaskRequestId value in the previous request response as the value of this input parameter for requesting data on the next page.
* @type {string || null}
*/
this.TaskRequestId = null;
/**
* Starting position of the query. Default value: 0.
* @type {number || null}
*/
this.Offset = null;
/**
* Maximum number of queried results. Default value: 20.
* @type {number || null}
*/
this.Limit = null;
/**
* Consumer group name. It can be obtained from [ConsumeGroupItem](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#ConsumeGroupItem) returned by the API [DescribeConsumerGroupList](https://www.tencentcloud.com/document/api/1493/101535?from_cn_redirect=1) or from the console.
* @type {string || null}
*/
this.ConsumerGroup = null;
/**
* Message ID. It can be obtained from [MessageItem](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#MessageItem) returned by the API [DescribeMessageList](https://www.tencentcloud.com/document/api/1493/114593?from_cn_redirect=1) or from the workload logs.
* @type {string || null}
*/
this.MsgId = null;
/**
* Message key. It can be obtained from [MessageItem](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#MessageItem) returned by the API [DescribeMessageList](https://www.tencentcloud.com/document/api/1493/114593?from_cn_redirect=1) or from workload logs.
* @type {string || null}
*/
this.MsgKey = null;
/**
* Query the last N messages. The value of N cannot exceed 1024. By default, -1 indicates other query conditions.
* @type {number || null}
*/
this.RecentMessageNum = null;
/**
* Whether to query dead letter messages. Default value: false.
* @type {boolean || null}
*/
this.QueryDeadLetterMessage = null;
/**
* Message tag. It can be obtained from [MessageItem](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#MessageItem) returned by the API [DescribeMessageList](https://www.tencentcloud.com/document/api/1493/114593?from_cn_redirect=1) or from workload logs.
* @type {string || null}
*/
this.Tag = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Topic = 'Topic' in params ? params.Topic : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.TaskRequestId = 'TaskRequestId' in params ? params.TaskRequestId : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.ConsumerGroup = 'ConsumerGroup' in params ? params.ConsumerGroup : null;
this.MsgId = 'MsgId' in params ? params.MsgId : null;
this.MsgKey = 'MsgKey' in params ? params.MsgKey : null;
this.RecentMessageNum = 'RecentMessageNum' in params ? params.RecentMessageNum : null;
this.QueryDeadLetterMessage = 'QueryDeadLetterMessage' in params ? params.QueryDeadLetterMessage : null;
this.Tag = 'Tag' in params ? params.Tag : null;
}
}
/**
* retry policy
* @class
*/
class RetryPolicy extends AbstractModel {
constructor(){
super();
/**
* Retry policy type. The enumeration values are as follows:
-EXPONENTIAL: Fixed interval
-CUSTOMIZED: Tier backoff
* @type {string || null}
*/
this.PolicyType = null;
/**
* Fixed retry interval. This parameter takes effect when a fixed interval-based retry policy is configured.
* @type {number || null}
*/
this.RetryInterval = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PolicyType = 'PolicyType' in params ? params.PolicyType : null;
this.RetryInterval = 'RetryInterval' in params ? params.RetryInterval : null;
}
}
/**
* ModifyInstance request structure.
* @class
*/
class ModifyInstanceRequest extends AbstractModel {
constructor(){
super();
/**
* TDMQ RocketMQ instance ID. It can be obtained from the API [DescribeFusionInstanceList](https://www.tencentcloud.com/document/api/1493/106745?from_cn_redirect=1) or the console.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Instance name. It cannot be left blank. It can contain 3 to 64 characters consisting of only digits, letters, hyphens (-), and underscores (_).
* @type {string || null}
*/
this.Name = null;
/**
* Remarks. Up to 128 characters are allowed.
* @type {string || null}
*/
this.Remark = null;
/**
* Message sending and receiving ratio
* @type {number || null}
*/
this.SendReceiveRatio = null;
/**
* Product specification. It can be obtained from the output parameters of [ProductSKU](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#ProductSKU) of the API [DescribeProductSKUs](https://www.tencentcloud.com/document/api/1493/107676?from_cn_redirect=1).
* @type {string || null}
*/
this.SkuCode = null;
/**
* Message retention time (unit: hr). value range refers to the ProductSKU response parameters structure in the DescribeProductSKUs api (https://www.tencentcloud.com/document/api/1493/107676?from_cn_redirect=1).
-Default value: DefaultRetention parameter.
-Minimum value: specifies the RetentionLowerLimit parameter.
-Specifies the maximum value of the RetentionUpperLimit parameter.
* @type {number || null}
*/
this.MessageRetention = null;
/**
* Whether to enable elastic TPS.
* @type {boolean || null}
*/
this.ScaledTpsEnabled = null;
/**
* Whether ACL is enabled.
* @type {boolean || null}
*/
this.AclEnabled = null;
/**
* The maximum number of topics that can be created. value ranges from...to... refer to the ProductSKU output parameter in the DescribeProductSKUs api (https://www.tencentcloud.com/document/api/1493/107676?from_cn_redirect=1) (https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#ProductSKU).
-Minimum value and default value: TopicNumLimit parameter.
-Maximum value of TopicNumUpperLimit parameter.
* @type {number || null}
*/
this.MaxTopicNum = null;
/**
* Number of topics not included in the free quota. For the free quota, see the TopicNumLimit parameter in the output parameters of [ProductSKU](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#ProductSKU) of the API [DescribeProductSKUs](https://www.tencentcloud.com/document/api/1493/107676?from_cn_redirect=1).
* @type {string || null}
*/
this.ExtraTopicNum = null;
/**
* Whether to enable deletion protection
* @type {boolean || null}
*/
this.EnableDeletionProtection = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Name = 'Name' in params ? params.Name : null;
this.Remark = 'Remark' in params ? params.Remark : null;
this.SendReceiveRatio = 'SendReceiveRatio' in params ? params.SendReceiveRatio : null;
this.SkuCode = 'SkuCode' in params ? params.SkuCode : null;
this.MessageRetention = 'MessageRetention' in params ? params.MessageRetention : null;
this.ScaledTpsEnabled = 'ScaledTpsEnabled' in params ? params.ScaledTpsEnabled : null;
this.AclEnabled = 'AclEnabled' in params ? params.AclEnabled : null;
this.MaxTopicNum = 'MaxTopicNum' in params ? params.MaxTopicNum : null;
this.ExtraTopicNum = 'ExtraTopicNum' in params ? params.ExtraTopicNum : null;
this.EnableDeletionProtection = 'EnableDeletionProtection' in params ? params.EnableDeletionProtection : null;
}
}
/**
* Migration task information.
* @class
*/
class MigrationTaskItem extends AbstractModel {
constructor(){
super();
/**
* Task ID
* @type {string || null}
*/
this.TaskId = null;
/**
* Instance ID.
* @type {string || null}
*/
this.InstanceId = null;
/**
* 0 - not specified (existing).
Metadata import.
* @type {number || null}
*/
this.Type = null;
/**
* Total number of topics.
* @type {number || null}
*/
this.TopicNum = null;
/**
* Total Number of Consumer Groups
* @type {number || null}
*/
this.GroupNum = null;
/**
* Task status. 0: migrating; 1: migration successful; 2: migration completed, with only part of the data migrated.
* @type {number || null}
*/
this.Status = null;
/**
* Creation time.
* @type {number || null}
*/
this.CreateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TaskId = 'TaskId' in params ? params.TaskId : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Type = 'Type' in params ? params.Type : null;
this.TopicNum = 'TopicNum' in params ? params.TopicNum : null;
this.GroupNum = 'GroupNum' in params ? params.GroupNum : null;
this.Status = 'Status' in params ? params.Status : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
}
}
/**
* Instance information on the instance list page
* @class
*/
class FusionInstanceItem extends AbstractModel {
constructor(){
super();
/**
* Instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Instance name
* @type {string || null}
*/
this.InstanceName = null;
/**
* Instance version.
* @type {string || null}
*/
this.Version = null;
/**
* Instance type.
Trial version.
BASIC version.
PRO, professional edition.
PLATINUM edition.
* @type {string || null}
*/
this.InstanceType = null;
/**
* Instance status.
RUNNING. specifies the running status.
MAINTAINING.
ABNORMAL.
OVERDUE. specifies the state of arrears.
`DESTROYED`: `deleted`.
CREATING.
MODIFYING.
CREATE_FAILURE. specifies that the creation failed.
MODIFY_FAILURE. indicates a configuration adjustment failure.
Valid values: DELETING. indicates that the resource is being deleted.
* @type {string || null}
*/
this.InstanceStatus = null;
/**
* Maximum number of instance topics
* @type {number || null}
*/
this.TopicNumLimit = null;
/**
* Maximum number of instance consumer groups
* @type {number || null}
*/
this.GroupNumLimit = null;
/**
* Billing mode. valid enumeration values are as follows:.
-POSTPAID: pay-as-you-go.
- PREPAID: monthly subscription.
* @type {string || null}
*/
this.PayMode = null;
/**
* Expiration time. **It is a Unix timestamp (ms).**
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ExpiryTime = null;
/**
* Remarks
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Remark = null;
/**
* Number of topics
* @type {number || null}
*/
this.TopicNum = null;
/**
* Number of consumer groups
* @type {number || null}
*/
this.GroupNum = null;
/**
* Tag list
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<Tag> || null}
*/
this.TagList = null;
/**
* Specifies the product specification.
* @type {string || null}
*/
this.SkuCode = null;
/**
* TPS throttle value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TpsLimit = null;
/**
* Elastic TPS throttle value
* @type {number || null}
*/
this.ScaledTpsLimit = null;
/**
* Message retention time, in hours
* @type {number || null}
*/
this.MessageRetention = null;
/**
* Maximum delayed message duration, in hours
* @type {number || null}
*/
this.MaxMessageDelay = null;
/**
* Specifies whether the prepaid cluster is automatically renewed. valid values are as follows:.
- 0: no automatic renewal.
- 1: specifies automatic renewal.
* @type {number || null}
*/
this.RenewFlag = null;
/**
* Data unique to version 4.x.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {InstanceItemExtraInfo || null}
*/
this.InstanceItemExtraInfo = null;
/**
* Expected termination time. **It is a Unix timestamp (ms).**
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.DestroyTime = null;
/**
* AZ list. See [ZoneInfo](https://www.tencentcloud.com/document/api/1596/77932?from_cn_redirect=1#ZoneInfo) returned by the API [DescribeZones](https://www.tencentcloud.com/document/product/1596/77929?from_cn_redirect=1) in Data Type.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.ZoneIds = null;
/**
* Whether to enable deletion protection
* @type {boolean || null}
*/
this.EnableDeletionProtection = null;
/**
* Instance creation time
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.CreateTime = null;
/**
* Elastic TPS switch.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.ScaledTpsEnabled = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.InstanceName = 'InstanceName' in params ? params.InstanceName : null;
this.Version = 'Version' in params ? params.Version : null;
this.InstanceType = 'InstanceType' in params ? params.InstanceType : null;
this.InstanceStatus = 'InstanceStatus' in params ? params.InstanceStatus : null;
this.TopicNumLimit = 'TopicNumLimit' in params ? params.TopicNumLimit : null;
this.GroupNumLimit = 'GroupNumLimit' in params ? params.GroupNumLimit : null;
this.PayMode = 'PayMode' in params ? params.PayMode : null;
this.ExpiryTime = 'ExpiryTime' in params ? params.ExpiryTime : null;
this.Remark = 'Remark' in params ? params.Remark : null;
this.TopicNum = 'TopicNum' in params ? params.TopicNum : null;
this.GroupNum = 'GroupNum' in params ? params.GroupNum : null;
if (params.TagList) {
this.TagList = new Array();
for (let z in params.TagList) {
let obj = new Tag();
obj.deserialize(params.TagList[z]);
this.TagList.push(obj);
}
}
this.SkuCode = 'SkuCode' in params ? params.SkuCode : null;
this.TpsLimit = 'TpsLimit' in params ? params.TpsLimit : null;
this.ScaledTpsLimit = 'ScaledTpsLimit' in params ? params.ScaledTpsLimit : null;
this.MessageRetention = 'MessageRetention' in params ? params.MessageRetention : null;
this.MaxMessageDelay = 'MaxMessageDelay' in params ? params.MaxMessageDelay : null;
this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null;
if (params.InstanceItemExtraInfo) {
let obj = new InstanceItemExtraInfo();
obj.deserialize(params.InstanceItemExtraInfo)
this.InstanceItemExtraInfo = obj;
}
this.DestroyTime = 'DestroyTime' in params ? params.DestroyTime : null;
this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
this.EnableDeletionProtection = 'EnableDeletionProtection' in params ? params.EnableDeletionProtection : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.ScaledTpsEnabled = 'ScaledTpsEnabled' in params ? params.ScaledTpsEnabled : null;
}
}
/**
* Unified list display for 4.x clusters and 5.0 clusters shows the 4.x special data carrying interface.
* @class
*/
class InstanceItemExtraInfo extends AbstractModel {
constructor(){
super();
/**
* Whether it is a vip.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.IsVip = null;
/**
* Specifies the dedicated cluster status of version 4.x.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.VipInstanceStatus = null;
/**
* Specifies the peak bandwidth of the dedicated cluster.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.MaxBandWidth = null;
/**
* Exclusive cluster specification.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SpecName = null;
/**
* Specifies the quantity of exclusive cluster nodes.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.NodeCount = null;
/**
* Specifies the maximum storage of the dedicated cluster.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.MaxStorage = null;
/**
* Specifies the maximum retention time of the dedicated cluster. the unit is hour.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.MaxRetention = null;
/**
* Special project cluster maximum retention time, unit: hr.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.MinRetention = null;
/**
* Status of 4.0 shared cluster.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.InstanceStatus = null;
/**
* Whether it is frozen.
* @type {boolean || null}
*/
this.IsFrozen = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.IsVip = 'IsVip' in params ? params.IsVip : null;
this.VipInstanceStatus = 'VipInstanceStatus' in params ? params.VipInstanceStatus : null;
this.MaxBandWidth = 'MaxBandWidth' in params ? params.MaxBandWidth : null;
this.SpecName = 'SpecName' in params ? params.SpecName : null;
this.NodeCount = 'NodeCount' in params ? params.NodeCount : null;
this.MaxStorage = 'MaxStorage' in params ? params.MaxStorage : null;
this.MaxRetention = 'MaxRetention' in params ? params.MaxRetention : null;
this.MinRetention = 'MinRetention' in params ? params.MinRetention : null;
this.InstanceStatus = 'InstanceStatus' in params ? params.InstanceStatus : null;
this.IsFrozen = 'IsFrozen' in params ? params.IsFrozen : null;
}
}
/**
* DescribeConsumerGroup response structure.
* @class
*/
class DescribeConsumerGroupResponse extends AbstractModel {
constructor(){
super();
/**
* Number of online consumers.
* @type {number || null}
*/
this.ConsumerNum = null;
/**
* TPS
* @type {number || null}
*/
this.Tps = null;
/**
* Specifies the number of accumulated messages.
* @type {number || null}
*/
this.ConsumerLag = null;
/**
* Consumption type. valid values as follows:.
-PULL: specifies the pull consumption type.
-PUSH: specifies the push consumption type.
-POP: specifies the pop consumption type.
* @type {string || null}
*/
this.ConsumeType = null;
/**
* Creation time. **It is a Unix timestamp (ms).**
* @type {number || null}
*/
this.CreatedTime = null;
/**
* Specifies whether to use ordered delivery. valid values: true.
Concurrent delivery: false.
* @type {boolean || null}
*/
this.ConsumeMessageOrderly = null;
/**
* Whether to enable consumption.
* @type {boolean || null}
*/
this.ConsumeEnable = null;
/**
* Maximum number of retries.
* @type {number || null}
*/
this.MaxRetryTimes = null;
/**
* Remarks
* @type {string || null}
*/
this.Remark = null;
/**
* Specifies the consumption mode.
BROADCASTING.
CLUSTERING cluster mode.
* @type {string || null}
*/
this.MessageModel = 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.ConsumerNum = 'ConsumerNum' in params ? params.ConsumerNum : null;
this.Tps = 'Tps' in params ? params.Tps : null;
this.ConsumerLag = 'ConsumerLag' in params ? params.ConsumerLag : null;
this.ConsumeType = 'ConsumeType' in params ? params.ConsumeType : null;
this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null;
this.ConsumeMessageOrderly = 'ConsumeMessageOrderly' in params ? params.ConsumeMessageOrderly : null;
this.ConsumeEnable = 'ConsumeEnable' in params ? params.ConsumeEnable : null;
this.MaxRetryTimes = 'MaxRetryTimes' in params ? params.MaxRetryTimes : null;
this.Remark = 'Remark' in params ? params.Remark : null;
this.MessageModel = 'MessageModel' in params ? params.MessageModel : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteTopic request structure.
* @class
*/
class DeleteTopicRequest extends AbstractModel {
constructor(){
super();
/**
* TDMQ RocketMQ instance ID. It can be obtained from the API [DescribeFusionInstanceList](https://www.tencentcloud.com/document/api/1493/106745?from_cn_redirect=1) or the console.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Topic name. It can be obtained from [TopicItem](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#TopicItem) returned by the API [DescribeTopicList](https://www.tencentcloud.com/document/api/1493/96030?from_cn_redirect=1) or from the console.
* @type {string || null}
*/
this.Topic = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Topic = 'Topic' in params ? params.Topic : null;
}
}
/**
* DescribeSmoothMigrationTaskList response structure.
* @class
*/
class DescribeSmoothMigrationTaskListResponse extends AbstractModel {
constructor(){
super();
/**
* Total query count
* @type {number || null}
*/
this.TotalCount = null;
/**
* Task list.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<SmoothMigrationTaskItem> || null}
*/
this.Data = 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.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new SmoothMigrationTaskItem();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeMigrationTaskList response structure.
* @class
*/
class DescribeMigrationTaskListResponse extends AbstractModel {
constructor(){
super();
/**
* Total query count
* @type {number || null}
*/
this.TotalCount = null;
/**
* Migration Task List
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<MigrationTaskItem> || null}
*/
this.Tasks = 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.Tasks) {
this.Tasks = new Array();
for (let z in params.Tasks) {
let obj = new MigrationTaskItem();
obj.deserialize(params.Tasks[z]);
this.Tasks.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* VPC information.
* @class
*/
class VpcInfo extends AbstractModel {
constructor(){
super();
/**
* VPC ID
* @type {string || null}
*/
this.VpcId = null;
/**
* Subnet ID.
* @type {string || null}
*/
this.SubnetId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VpcId = 'VpcId' in params ? params.VpcId : null;
this.SubnetId = 'SubnetId' in params ? params.SubnetId : null;
}
}
/**
* DescribeRoleList request structure.
* @class
*/
class DescribeRoleListRequest extends AbstractModel {
constructor(){
super();
/**
* TDMQ RocketMQ instance ID. It can be obtained from the API [DescribeFusionInstanceList](https://www.tencentcloud.com/document/api/1493/106745?from_cn_redirect=1) or the console.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Starting position of the query. Default value: 0.
* @type {number || null}
*/
this.Offset = null;
/**
* Maximum number of queried results. Default value: 20.
* @type {number || null}
*/
this.Limit = null;
/**
* Filtering condition list. See the description of the API using this parameter for the usage method.
* @type {Array.<Filter> || null}
*/
this.Filters = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
}
}
/**
* DescribeMigratingTopicStats response structure.
* @class
*/
class DescribeMigratingTopicStatsResponse extends AbstractModel {
constructor(){
super();
/**
* Number of consumers in the source cluster.
* @type {number || null}
*/
this.SourceClusterConsumerCount = null;
/**
* Number of consumers in the target cluster.
* @type {number || null}
*/
this.TargetClusterConsumerCount = null;
/**
* Source cluster consumer group list.
* @type {Array.<string> || null}
*/
this.SourceClusterConsumerGroups = null;
/**
* Target cluster consumer group list.
* @type {Array.<string> || null}
*/
this.TargetClusterConsumerGroups = 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.SourceClusterConsumerCount = 'SourceClusterConsumerCount' in params ? params.SourceClusterConsumerCount : null;
this.TargetClusterConsumerCount = 'TargetClusterConsumerCount' in params ? params.TargetClusterConsumerCount : null;
this.SourceClusterConsumerGroups = 'SourceClusterConsumerGroups' in params ? params.SourceClusterConsumerGroups : null;
this.TargetClusterConsumerGroups = 'TargetClusterConsumerGroups' in params ? params.TargetClusterConsumerGroups : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeConsumerLag request structure.
* @class
*/
class DescribeConsumerLagRequest extends AbstractModel {
constructor(){
super();
/**
* TDMQ RocketMQ instance ID. It can be obtained from the API [DescribeFusionInstanceList](https://www.tencentcloud.com/document/api/1493/106745?from_cn_redirect=1) or the console.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Consumer group name. It can be obtained from [ConsumeGroupItem](https://www.tencentcloud.com/document/api/1493/96031?from_cn_redirect=1#ConsumeGroupItem) returned by the API [DescribeConsumerGroupList](https://www.tencentcloud.com/document/api/1493/101535?from_cn_redirect=1) or from the console.
* @type {string || null}
*/
this.ConsumerGroup = null;