"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Client = void 0;
/* eslint-disable @typescript-eslint/no-unused-vars */
/*
 * 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 abstract_client_1 = require("../../../common/abstract_client");
/**
 * tdmq client
 * @class
 */
class Client extends abstract_client_1.AbstractClient {
    constructor(clientConfig) {
        super("tdmq.tencentcloudapi.com", "2020-02-17", clientConfig);
    }
    /**
     * 批量删除租户下的命名空间
     */
    async DeleteEnvironments(req, cb) {
        return this.request("DeleteEnvironments", req, cb);
    }
    /**
     * 查询 RocketMQ 消费详情列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。查询 5.x 集群消费详情的接口文档见 [DescribeConsumerGroup](https://cloud.tencent.com/document/api/1493/97941)。
     */
    async DescribeRocketMQConsumeStats(req, cb) {
        return this.request("DescribeRocketMQConsumeStats", req, cb);
    }
    /**
     * 查询RabbitMQ vhost列表
     */
    async DescribeRabbitMQVirtualHost(req, cb) {
        return this.request("DescribeRabbitMQVirtualHost", req, cb);
    }
    /**
     * 查询RabbitMQ exchange 列表
     */
    async DescribeRabbitMQExchanges(req, cb) {
        return this.request("DescribeRabbitMQExchanges", req, cb);
    }
    /**
     * 查询消息轨迹。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群查询消息轨迹的接口文档见 [DescribeMessageTrace](https://cloud.tencent.com/document/api/1493/114302)。
     */
    async DescribeRocketMQMsgTrace(req, cb) {
        return this.request("DescribeRocketMQMsgTrace", req, cb);
    }
    /**
     * 创建角色。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的创建角色接口文档见 [CreateRole](https://cloud.tencent.com/document/api/1493/98864)。
     */
    async CreateRocketMQRole(req, cb) {
        return this.request("CreateRocketMQRole", req, cb);
    }
    /**
     * 创建cmq主题
     */
    async CreateCmqTopic(req, cb) {
        return this.request("CreateCmqTopic", req, cb);
    }
    /**
     * 删除cmq队列
     */
    async DeleteCmqQueue(req, cb) {
        return this.request("DeleteCmqQueue", req, cb);
    }
    /**
     * 查询通用集群售卖规格。
当前 API 适用集群：4.x 通用集群。查询 5.x 集群的售卖规格接口文档见 [DescribeProductSKUs](https://cloud.tencent.com/document/api/1493/107676)。
     */
    async DescribeRocketMQGeneralSKUs(req, cb) {
        return this.request("DescribeRocketMQGeneralSKUs", req, cb);
    }
    /**
     * 枚举cmq全量主题
     */
    async DescribeCmqTopics(req, cb) {
        return this.request("DescribeCmqTopics", req, cb);
    }
    /**
     * 批量删除topics
     */
    async DeleteTopics(req, cb) {
        return this.request("DeleteTopics", req, cb);
    }
    /**
     * 删除 RocketMQ 消费组。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。删除 5.x 集群消费组的接口文档见 [DeleteConsumerGroup](https://cloud.tencent.com/document/api/1493/97942)。
     */
    async DeleteRocketMQGroup(req, cb) {
        return this.request("DeleteRocketMQGroup", req, cb);
    }
    /**
     * 删除专业集群——预付费，仅通过API 调用
     */
    async DeleteProCluster(req, cb) {
        return this.request("DeleteProCluster", req, cb);
    }
    /**
     * 批量删除角色。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的删除角色接口文档见 [DeleteRole](https://cloud.tencent.com/document/api/1493/98863)。
     */
    async DeleteRocketMQRoles(req, cb) {
        return this.request("DeleteRocketMQRoles", req, cb);
    }
    /**
     * 查询 RocketMQ 消费组下的客户端连接列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群查询消费组下的客户端连接列表接口文档见 [DescribeConsumerClientList](https://cloud.tencent.com/document/api/1493/120140)。
     */
    async DescribeRocketMQConsumerConnections(req, cb) {
        return this.request("DescribeRocketMQConsumerConnections", req, cb);
    }
    /**
     * 创建RabbitMQ的用户
     */
    async CreateRabbitMQUser(req, cb) {
        return this.request("CreateRabbitMQUser", req, cb);
    }
    /**
     * 查询用户已购的 RabbitMQ 托管版实例列表
     */
    async DescribeRabbitMQVipInstances(req, cb) {
        return this.request("DescribeRabbitMQVipInstances", req, cb);
    }
    /**
     * 回溯cmq队列
     */
    async RewindCmqQueue(req, cb) {
        return this.request("RewindCmqQueue", req, cb);
    }
    /**
     * 查询 RocketMQ 主题生产详情列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群暂不支持该功能。
     */
    async DescribeRocketMQTopicStats(req, cb) {
        return this.request("DescribeRocketMQTopicStats", req, cb);
    }
    /**
     * 新增指定分区、类型的消息主题
     */
    async CreateTopic(req, cb) {
        return this.request("CreateTopic", req, cb);
    }
    /**
     * 获取 RocketMQ 命名空间列表。
当前 API 适用集群：4.x 虚拟集群和 4.x 专享集群，其他集群类型均不支持该功能。
     */
    async DescribeRocketMQNamespaces(req, cb) {
        return this.request("DescribeRocketMQNamespaces", req, cb);
    }
    /**
     * 查询cmq全量队列
     */
    async DescribeCmqQueues(req, cb) {
        return this.request("DescribeCmqQueues", req, cb);
    }
    /**
     * 获取租户下命名空间列表
     */
    async DescribeEnvironments(req, cb) {
        return this.request("DescribeEnvironments", req, cb);
    }
    /**
     * 获取集群的详细信息
     */
    async DescribeClusterDetail(req, cb) {
        return this.request("DescribeClusterDetail", req, cb);
    }
    /**
     * 创建 RocketMQ 消费组。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。创建 5.x 集群消费组的接口文档见 [CreateConsumerGroup](https://cloud.tencent.com/document/api/1493/97943)。
     */
    async CreateRocketMQGroup(req, cb) {
        return this.request("CreateRocketMQGroup", req, cb);
    }
    /**
     * 根据提供的 MessageID 确认指定 topic 中的消息
     */
    async AcknowledgeMessage(req, cb) {
        return this.request("AcknowledgeMessage", req, cb);
    }
    /**
     * 用于在用户账户下创建消息队列 Tdmq 命名空间
     */
    async CreateEnvironment(req, cb) {
        return this.request("CreateEnvironment", req, cb);
    }
    /**
     * 查询RabbitMQ权限列表
     */
    async DescribeRabbitMQPermission(req, cb) {
        return this.request("DescribeRabbitMQPermission", req, cb);
    }
    /**
     * 修改pulsar专业版公网安全策略
     */
    async ModifyPublicNetworkSecurityPolicy(req, cb) {
        return this.request("ModifyPublicNetworkSecurityPolicy", req, cb);
    }
    /**
     * 修改角色授权。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的修改角色接口文档见 [ModifyRole](https://cloud.tencent.com/document/api/1493/98861)。
     */
    async ModifyRocketMQEnvironmentRole(req, cb) {
        return this.request("ModifyRocketMQEnvironmentRole", req, cb);
    }
    /**
     * 修改 RocketMQ 主题属性。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。修改 5.x 集群主题属性的接口文档见 [ModifyTopic](https://cloud.tencent.com/document/api/1493/97944)。
     */
    async ModifyRocketMQTopic(req, cb) {
        return this.request("ModifyRocketMQTopic", req, cb);
    }
    /**
     * 执行域名异地访问切换，域名的访问指向将切换至备份集群。
     */
    async ExecuteDisasterRecovery(req, cb) {
        return this.request("ExecuteDisasterRecovery", req, cb);
    }
    /**
     * 查询 RocketMQ 消息列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的查询消息列表接口文档见 [DescribeMessageList](https://cloud.tencent.com/document/api/1493/114593)。
     */
    async DescribeRocketMQTopicMsgs(req, cb) {
        return this.request("DescribeRocketMQTopicMsgs", req, cb);
    }
    /**
     * 查询 RocketMQ 指定主题下的生产者客户端列表。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。查询 5.x 集群主题下的生产者客户端列表接口文档见 [DescribeProducerList](https://cloud.tencent.com/document/api/1493/122548)。
     */
    async DescribeRocketMQProducers(req, cb) {
        return this.request("DescribeRocketMQProducers", req, cb);
    }
    /**
     * 获取指定命名空间的属性
     */
    async DescribeEnvironmentAttributes(req, cb) {
        return this.request("DescribeEnvironmentAttributes", req, cb);
    }
    /**
     * 创建cmq订阅接口
     */
    async CreateCmqSubscribe(req, cb) {
        return this.request("CreateCmqSubscribe", req, cb);
    }
    /**
     * 获取消息生产概览信息
     */
    async DescribePublisherSummary(req, cb) {
        return this.request("DescribePublisherSummary", req, cb);
    }
    /**
     * 删除 RocketMQ 命名空间。
当前 API 适用集群：4.x 虚拟集群和 4.x 专享集群，其他集群类型均不支持该功能。
     */
    async DeleteRocketMQNamespace(req, cb) {
        return this.request("DeleteRocketMQNamespace", req, cb);
    }
    /**
     * 创建RabbitMQ的vhost
     */
    async CreateRabbitMQVirtualHost(req, cb) {
        return this.request("CreateRabbitMQVirtualHost", req, cb);
    }
    /**
     * 删除cmq主题
     */
    async DeleteCmqTopic(req, cb) {
        return this.request("DeleteCmqTopic", req, cb);
    }
    /**
     * 修改 RocketMQ 专享或通用集群属性。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。修改 5.x 集群属性的接口文档见 [ModifyInstance](https://cloud.tencent.com/document/api/1493/97865)。
     */
    async ModifyRocketMQInstance(req, cb) {
        return this.request("ModifyRocketMQInstance", req, cb);
    }
    /**
     * 创建cmq队列接口
     */
    async CreateCmqQueue(req, cb) {
        return this.request("CreateCmqQueue", req, cb);
    }
    /**
     * 修改 RocketMQ 消费组属性。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。修改 5.x 集群消费组属性的接口文档见 [ModifyConsumerGroup](https://cloud.tencent.com/document/api/1493/97940)。
     */
    async ModifyRocketMQGroup(req, cb) {
        return this.request("ModifyRocketMQGroup", req, cb);
    }
    /**
     * 获取RocketMQ主题详情
     */
    async DescribeRocketMQTopic(req, cb) {
        return this.request("DescribeRocketMQTopic", req, cb);
    }
    /**
     * 查询Topic迁移状态列表，源集群和目标集群客户端数量信息需要配合DescribeRocketMQSmoothMigrationTaskTopicInsNum接口查询
     */
    async DescribeRocketMQMigratingTopicList(req, cb) {
        return this.request("DescribeRocketMQMigratingTopicList", req, cb);
    }
    /**
     * 查询cmq订阅详情
     */
    async DescribeCmqSubscriptionDetail(req, cb) {
        return this.request("DescribeCmqSubscriptionDetail", req, cb);
    }
    /**
     * 删除集群
     */
    async DeleteCluster(req, cb) {
        return this.request("DeleteCluster", req, cb);
    }
    /**
     * 重置消费位点。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的重置消费位点接口文档见 [ResetConsumerGroupOffset](https://cloud.tencent.com/document/api/1493/116942)。
     */
    async ResetRocketMQConsumerOffSet(req, cb) {
        return this.request("ResetRocketMQConsumerOffSet", req, cb);
    }
    /**
     * 获取集群列表
     */
    async DescribeClusters(req, cb) {
        return this.request("DescribeClusters", req, cb);
    }
    /**
     * 删除RabbitMQ的权限
     */
    async DeleteRabbitMQPermission(req, cb) {
        return this.request("DeleteRabbitMQPermission", req, cb);
    }
    /**
     * 获取环境下主题列表
     */
    async GetTopicList(req, cb) {
        return this.request("GetTopicList", req, cb);
    }
    /**
     * 创建角色授权。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的创建角色接口文档见 [CreateRole](https://cloud.tencent.com/document/api/1493/98864)。
     */
    async CreateRocketMQEnvironmentRole(req, cb) {
        return this.request("CreateRocketMQEnvironmentRole", req, cb);
    }
    /**
     * 查询 RocketMQ 消费者客户端详情。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的查询消费者客户端详情接口文档见 [DescribeConsumerClient](https://cloud.tencent.com/document/api/1493/115240)。
     */
    async DescribeRocketMQConsumerConnectionDetail(req, cb) {
        return this.request("DescribeRocketMQConsumerConnectionDetail", req, cb);
    }
    /**
     * 获取单个 RabbitMQ 托管版实例信息
     */
    async DescribeRabbitMQVipInstance(req, cb) {
        return this.request("DescribeRabbitMQVipInstance", req, cb);
    }
    /**
     * 查询 RocketMQ 消费组订阅的主题列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群查询消费组订阅的主题列表接口文档见 [DescribeTopicListByGroup](https://cloud.tencent.com/document/api/1493/115314)。
     */
    async DescribeRocketMQTopicsByGroup(req, cb) {
        return this.request("DescribeRocketMQTopicsByGroup", req, cb);
    }
    /**
     * 查询公网指标监控数据，目前仅支持客户端到 LB 的入带宽和出宽带指标。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。5.x 集群暂不支持该功能。
     */
    async DescribeRocketMQPublicAccessMonitorData(req, cb) {
        return this.request("DescribeRocketMQPublicAccessMonitorData", req, cb);
    }
    /**
     * 导入topic列表
     */
    async ImportRocketMQTopics(req, cb) {
        return this.request("ImportRocketMQTopics", req, cb);
    }
    /**
     * 开启或关闭公网访问、设置安全访问策略。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。设置 5.x 集群的公网接入点接口文档见 [ModifyInstanceEndpoint](https://cloud.tencent.com/document/api/1493/115981)。
     */
    async SetRocketMQPublicAccessPoint(req, cb) {
        return this.request("SetRocketMQPublicAccessPoint", req, cb);
    }
    /**
     * 修改RabbitMQ的vhost
     */
    async ModifyRabbitMQVirtualHost(req, cb) {
        return this.request("ModifyRabbitMQVirtualHost", req, cb);
    }
    /**
     * 查询指定环境和主题下的订阅者列表
     */
    async DescribeSubscriptions(req, cb) {
        return this.request("DescribeSubscriptions", req, cb);
    }
    /**
     * 批量发送消息

注意：TDMQ 批量发送消息的接口是在 TDMQ-HTTP 的服务侧将消息打包为一个 Batch，然后将该 Batch 在服务内部当作一次 TCP 请求发送出去。所以在使用过程中，用户还是按照单条消息发送的逻辑，每一条消息是一个独立的 HTTP 的请求，在 TDMQ-HTTP 的服务内部，会将多个 HTTP 的请求聚合为一个 Batch 发送到服务端。即，批量发送消息在使用上与发送单条消息是一致的，batch 的聚合是在 TDMQ-HTTP 的服务内部完成的。
     */
    async SendBatchMessages(req, cb) {
        return this.request("SendBatchMessages", req, cb);
    }
    /**
     * 查询cmq主题详情
     */
    async DescribeCmqTopicDetail(req, cb) {
        return this.request("DescribeCmqTopicDetail", req, cb);
    }
    /**
     * 查询 RocketMQ 集群信息。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。查询 5.x 集群信息的接口文档见 [DescribeInstance](https://cloud.tencent.com/document/api/1493/97866)。
     */
    async DescribeRocketMQVipInstanceDetail(req, cb) {
        return this.request("DescribeRocketMQVipInstanceDetail", req, cb);
    }
    /**
     * 查询角色列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的查询角色列表接口文档见 [DescribeRoleList](https://cloud.tencent.com/document/api/1493/98862)。
     */
    async DescribeRocketMQRoles(req, cb) {
        return this.request("DescribeRocketMQRoles", req, cb);
    }
    /**
     * 查询RabbitMQ用户列表
     */
    async DescribeRabbitMQUser(req, cb) {
        return this.request("DescribeRabbitMQUser", req, cb);
    }
    /**
     * 修改 RocketMQ 集群属性。
当前 API 适用集群：4.x 虚拟集群。修改 4.x 专享或通用集群属性接口文档见 [ModifyRocketMQInstance](https://cloud.tencent.com/document/api/1179/108862)，修改 5.x 集群属性的接口文档见 [ModifyInstance](https://cloud.tencent.com/document/api/1493/97865)。
     */
    async ModifyRocketMQCluster(req, cb) {
        return this.request("ModifyRocketMQCluster", req, cb);
    }
    /**
     * 更新集群信息
     */
    async ModifyCluster(req, cb) {
        return this.request("ModifyCluster", req, cb);
    }
    /**
     * 获取Pulsar专业版集群实例信息
     */
    async DescribePulsarProInstanceDetail(req, cb) {
        return this.request("DescribePulsarProInstanceDetail", req, cb);
    }
    /**
     * 修改cmq订阅属性
     */
    async ModifyCmqSubscriptionAttribute(req, cb) {
        return this.request("ModifyCmqSubscriptionAttribute", req, cb);
    }
    /**
     * 查询 RocketMQ 消费组订阅关系列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群查询消费组订阅的主题列表接口文档见 [DescribeTopicListByGroup](https://cloud.tencent.com/document/api/1493/115314)。
     */
    async DescribeRocketMQSubscriptions(req, cb) {
        return this.request("DescribeRocketMQSubscriptions", req, cb);
    }
    /**
     * 创建一个主题的订阅关系
     */
    async CreateSubscription(req, cb) {
        return this.request("CreateSubscription", req, cb);
    }
    /**
     * 查询 RocketMQ 虚拟集群信息。
当前 API 适用集群：4.x 虚拟集群。查询 4.x 专享或通用集群信息的接口文档见 [DescribeRocketMQVipInstanceDetail](https://cloud.tencent.com/document/api/1179/86725)，查询 5.x 集群信息的接口文档见 [DescribeInstance](https://cloud.tencent.com/document/api/1493/97866)。
     */
    async DescribeRocketMQCluster(req, cb) {
        return this.request("DescribeRocketMQCluster", req, cb);
    }
    /**
     * 删除环境角色授权。
     */
    async DeleteEnvironmentRoles(req, cb) {
        return this.request("DeleteEnvironmentRoles", req, cb);
    }
    /**
     * 根据时间戳进行消息回溯，精确到毫秒
     */
    async ResetMsgSubOffsetByTimestamp(req, cb) {
        return this.request("ResetMsgSubOffsetByTimestamp", req, cb);
    }
    /**
     * 创建RabbitMQ路由关系
     */
    async CreateRabbitMQBinding(req, cb) {
        return this.request("CreateRabbitMQBinding", req, cb);
    }
    /**
     * 查询单条消息的消息轨迹
     */
    async DescribeMsgTrace(req, cb) {
        return this.request("DescribeMsgTrace", req, cb);
    }
    /**
     * 修改角色。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的修改角色接口文档见 [ModifyRole](https://cloud.tencent.com/document/api/1493/98861)。
     */
    async ModifyRocketMQRole(req, cb) {
        return this.request("ModifyRocketMQRole", req, cb);
    }
    /**
     * 查询 RabbitMQ 托管版节点列表
     */
    async DescribeRabbitMQNodeList(req, cb) {
        return this.request("DescribeRabbitMQNodeList", req, cb);
    }
    /**
     * 获取租户VPC绑定关系
     */
    async DescribeBindVpcs(req, cb) {
        return this.request("DescribeBindVpcs", req, cb);
    }
    /**
     * 删除 RocketMQ 主题。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。删除 5.x 集群主题的接口文档见 [DeleteTopic](https://cloud.tencent.com/document/api/1493/97946)。
     */
    async DeleteRocketMQTopic(req, cb) {
        return this.request("DeleteRocketMQTopic", req, cb);
    }
    /**
     * 重发 RocketMQ 死信消息。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的重发死信消息接口文档见 [ResendDeadLetterMessage](https://cloud.tencent.com/document/api/1493/114592)。
     */
    async RetryRocketMQDlqMessage(req, cb) {
        return this.request("RetryRocketMQDlqMessage", req, cb);
    }
    /**
     * 导出RocketMQ消息详情
     */
    async ExportRocketMQMessageDetail(req, cb) {
        return this.request("ExportRocketMQMessageDetail", req, cb);
    }
    /**
     * 查询RabbitMQ队列列表
     */
    async DescribeRabbitMQQueues(req, cb) {
        return this.request("DescribeRabbitMQQueues", req, cb);
    }
    /**
     * 修改cmq队列属性
     */
    async ModifyCmqQueueAttribute(req, cb) {
        return this.request("ModifyCmqQueueAttribute", req, cb);
    }
    /**
     * 修改 RocketMQ 专享集群配置，可以支持实例规格、节点数和存储的升配和实例规格的降配。本 API 发起订单并成功支付后进入实例配置变更的流程，可通过 [DescribeRocketMQVipInstances](https://cloud.tencent.com/document/api/1179/80903) 查询实例是否已变更完成。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。修改 5.x 集群规格的接口文档见 [ModifyInstance](https://cloud.tencent.com/document/api/1493/97865)。
     */
    async ModifyRocketMQInstanceSpec(req, cb) {
        return this.request("ModifyRocketMQInstanceSpec", req, cb);
    }
    /**
     * 输入迁移任务id和要导入的Group，导入后台
     */
    async ImportRocketMQConsumerGroups(req, cb) {
        return this.request("ImportRocketMQConsumerGroups", req, cb);
    }
    /**
     * 查询 RocketMQ 4.x 集群列表。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。查询 5.x 集群列表接口文档见 [DescribeInstanceList](https://cloud.tencent.com/document/api/1493/96028)，或者使用 [DescribeFusionInstanceList](https://cloud.tencent.com/document/api/1493/106745) 接口适用所有集群类型。
     */
    async DescribeRocketMQVipInstances(req, cb) {
        return this.request("DescribeRocketMQVipInstances", req, cb);
    }
    /**
     * 用于获取RocketMQ指标排序列表，比如集群实例下占用存储空间最多的主题排序。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群暂不支持该功能。
     */
    async DescribeRocketMQTopUsages(req, cb) {
        return this.request("DescribeRocketMQTopUsages", req, cb);
    }
    /**
     * Rocketmq消费验证
     */
    async VerifyRocketMQConsume(req, cb) {
        return this.request("VerifyRocketMQConsume", req, cb);
    }
    /**
     * 修改RabbitMQ的权限
     */
    async ModifyRabbitMQPermission(req, cb) {
        return this.request("ModifyRabbitMQPermission", req, cb);
    }
    /**
     * 历史原因，该接口位于tdmq-manager，目前rabbitmq产品没有使用该接口，当前使用的是DescribeRabbitMQVipInstances。不过从调用链上看，线网还有请求流程，所以走预下线流程。

获取amqp集群列表
     */
    async DescribeAMQPClusters(req, cb) {
        return this.request("DescribeAMQPClusters", req, cb);
    }
    /**
     * 创建 RabbitMQ 托管版实例
     */
    async CreateRabbitMQVipInstance(req, cb) {
        return this.request("CreateRabbitMQVipInstance", req, cb);
    }
    /**
     * 查询消息轨迹
     */
    async DescribeMqMsgTrace(req, cb) {
        return this.request("DescribeMqMsgTrace", req, cb);
    }
    /**
     * 查询 RocketMQ 消费组列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。查询 5.x 集群的消费组列表接口文档见 [DescribeConsumerGroupList](https://cloud.tencent.com/document/api/1493/101535)。
     */
    async DescribeRocketMQGroups(req, cb) {
        return this.request("DescribeRocketMQGroups", req, cb);
    }
    /**
     * 批量创建 RocketMQ 主题。
当前云 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的创建 Topic 接口文档见 [CreateTopic](https://cloud.tencent.com/document/api/1493/97947)。
     */
    async CreateRocketMQTopic(req, cb) {
        return this.request("CreateRocketMQTopic", req, cb);
    }
    /**
     * 查询角色授权列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的查询角色列表接口文档见 [DescribeRoleList](https://cloud.tencent.com/document/api/1493/98862)。
     */
    async DescribeRocketMQEnvironmentRoles(req, cb) {
        return this.request("DescribeRocketMQEnvironmentRoles", req, cb);
    }
    /**
     * 删除 RocketMQ 集群。
当前 API 适用集群：4.x 虚拟集群。删除 4.x 专享或通用集群的接口文档见 [DeleteRocketMQVipInstance](https://cloud.tencent.com/document/api/1179/95802)，删除 5.x 集群的接口文档见 [DeleteInstance](https://cloud.tencent.com/document/product/1493/97867)。
     */
    async DeleteRocketMQCluster(req, cb) {
        return this.request("DeleteRocketMQCluster", req, cb);
    }
    /**
     * 删除RabbitMQ的用户
     */
    async DeleteRabbitMQUser(req, cb) {
        return this.request("DeleteRabbitMQUser", req, cb);
    }
    /**
     * 创建专业集群——预付费，仅通过api调用
     */
    async CreateProCluster(req, cb) {
        return this.request("CreateProCluster", req, cb);
    }
    /**
     * 删除角色，支持批量。
     */
    async DeleteRoles(req, cb) {
        return this.request("DeleteRoles", req, cb);
    }
    /**
     * 当前 ReceiveMessage 接口只支持 Partitioned 类型的 Topic。该接口用于接收发送到指定 Partitioned Topic 中的消息，当 Partitioned Topic 中没有消息但还去尝试调用该接口时，会抛出 ReceiveTimeout 的异常。

如何使用 BatchReceivePolicy：

BatchReceive 接口提供了如下三个参数：

● MaxNumMessages: 即每次使用 BatchReceive 的时候，最多一次Receive接口返回多少条消息。
● MaxNumBytes：即每次使用 BatchReceive 的时候，最多一次Receive接口返回多大内容的消息，单位是：bytes。
● Timeout：即每次使用 BatchReceive 的时候，最多一次 Receive 接口的超时时间是多久，单位是：MS。

默认如果上述三个参数都不指定，即关闭 BatchReceive 的特性。如果三个参数中的任意一个参数指定的数值大于 0，即开启 BatchReceive。BatchReceive 的结束条件为到达上述三个参数中任意一个指定的阈值。

注意：MaxNumMessages 和 MaxNumBytes 每一次接收的最大消息同时受限于 ReceiveQueueSize 的大小，如果 ReceiveQueueSize 的大小设置为 5，MaxNumMessages 设置为10，那么一次 BatchReceive 接收的最多的消息是 5条，而不是10条。



BatchReceivePolicy 的接口会一次性返回多条消息：

1. 多条消息的内容之间使用特殊字符 '###' 来进行分割，业务侧接收到消息之后，可以利用不同语言提供的 Split 工具分割不同的消息。
2. 多条消息的 MessageID 之间使用特殊字符 '###' 来进行分割，业务侧接收到消息之后，可以利用不同语言提供的 Split 工具分割不同的消息。（用于在调用 AcknowledgeMessage 接口中填入所需要的 MessageID 字段信息）
     */
    async ReceiveMessage(req, cb) {
        return this.request("ReceiveMessage", req, cb);
    }
    /**
     * 删除RabbitMQ的vhost
     */
    async DeleteRabbitMQVirtualHost(req, cb) {
        return this.request("DeleteRabbitMQVirtualHost", req, cb);
    }
    /**
     * 发送cmq消息
     */
    async SendCmqMsg(req, cb) {
        return this.request("SendCmqMsg", req, cb);
    }
    /**
     * 用于获取RocketMQ平滑迁移任务详情
     */
    async DescribeRocketMQSmoothMigrationTask(req, cb) {
        return this.request("DescribeRocketMQSmoothMigrationTask", req, cb);
    }
    /**
     * 修改指定命名空间的属性值
     */
    async ModifyEnvironmentAttributes(req, cb) {
        return this.request("ModifyEnvironmentAttributes", req, cb);
    }
    /**
     * 获取角色列表
     */
    async DescribeRoles(req, cb) {
        return this.request("DescribeRoles", req, cb);
    }
    /**
     * 解绑cmq死信队列
     */
    async UnbindCmqDeadLetter(req, cb) {
        return this.request("UnbindCmqDeadLetter", req, cb);
    }
    /**
     * 修改RabbitMQ的用户
     */
    async ModifyRabbitMQUser(req, cb) {
        return this.request("ModifyRabbitMQUser", req, cb);
    }
    /**
     * 创建 RocketMQ 命名空间。
当前 API 适用集群：4.x 虚拟集群和 4.x 专享集群，其他集群类型均不支持该功能。
     */
    async CreateRocketMQNamespace(req, cb) {
        return this.request("CreateRocketMQNamespace", req, cb);
    }
    /**
     * 消息详情
     */
    async DescribeMsg(req, cb) {
        return this.request("DescribeMsg", req, cb);
    }
    /**
     * 创建 RocketMQ 主题。
当前云 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的创建 Topic 接口文档见 [CreateTopic](https://cloud.tencent.com/document/api/1493/97947)。
     */
    async CreateRocketMQTopicV2(req, cb) {
        return this.request("CreateRocketMQTopicV2", req, cb);
    }
    /**
     * 修改cmq主题属性
     */
    async ModifyCmqTopicAttribute(req, cb) {
        return this.request("ModifyCmqTopicAttribute", req, cb);
    }
    /**
     * 修改RabbitMQ专享版实例
     */
    async ModifyRabbitMQVipInstance(req, cb) {
        return this.request("ModifyRabbitMQVipInstance", req, cb);
    }
    /**
     * 创建环境角色授权
     */
    async CreateEnvironmentRole(req, cb) {
        return this.request("CreateEnvironmentRole", req, cb);
    }
    /**
     * 查询 RocketMQ 主题列表。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。查询 5.x 集群的主题列表接口文档见 [DescribeTopicList](https://cloud.tencent.com/document/api/1493/96030)。
     */
    async DescribeRocketMQTopics(req, cb) {
        return this.request("DescribeRocketMQTopics", req, cb);
    }
    /**
     * 修改环境角色授权。
     */
    async ModifyEnvironmentRole(req, cb) {
        return this.request("ModifyEnvironmentRole", req, cb);
    }
    /**
     * 创建 RocketMQ 消费组。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。创建 5.x 集群消费组的接口文档见 [CreateConsumerGroup](https://cloud.tencent.com/document/api/1493/97943)。
     */
    async CreateRocketMQGroupV2(req, cb) {
        return this.request("CreateRocketMQGroupV2", req, cb);
    }
    /**
     * 查询 RocketMQ 虚拟集群列表。
当前 API 适用集群：4.x 虚拟集群。查询 5.x 集群列表接口文档见 [DescribeInstanceList](https://cloud.tencent.com/document/api/1493/96028)，或者使用 [DescribeFusionInstanceList](https://cloud.tencent.com/document/api/1493/106745) 接口适用所有集群类型。
     */
    async DescribeRocketMQClusters(req, cb) {
        return this.request("DescribeRocketMQClusters", req, cb);
    }
    /**
     * 发送单条消息
不支持持久topic
     */
    async SendMessages(req, cb) {
        return this.request("SendMessages", req, cb);
    }
    /**
     * 修改主题备注和分区数
     */
    async ModifyTopic(req, cb) {
        return this.request("ModifyTopic", req, cb);
    }
    /**
     * 查询RabbitMQ路由关系列表
     */
    async DescribeRabbitMQBindings(req, cb) {
        return this.request("DescribeRabbitMQBindings", req, cb);
    }
    /**
     * 运营端获节点健康状态
     */
    async DescribeNodeHealthOpt(req, cb) {
        return this.request("DescribeNodeHealthOpt", req, cb);
    }
    /**
     * 创建角色
     */
    async CreateRole(req, cb) {
        return this.request("CreateRole", req, cb);
    }
    /**
     * 更新 RocketMQ 命名空间。
当前 API 适用集群：4.x 虚拟集群和 4.x 专享集群，其他集群类型均不支持该功能。
     */
    async ModifyRocketMQNamespace(req, cb) {
        return this.request("ModifyRocketMQNamespace", req, cb);
    }
    /**
     * 消息查询
     */
    async DescribeTopicMsgs(req, cb) {
        return this.request("DescribeTopicMsgs", req, cb);
    }
    /**
     * 清空cmq消息队列中的消息
     */
    async ClearCmqQueue(req, cb) {
        return this.request("ClearCmqQueue", req, cb);
    }
    /**
     * 查询用户已购的Pulsar专业版实例列表
     */
    async DescribePulsarProInstances(req, cb) {
        return this.request("DescribePulsarProInstances", req, cb);
    }
    /**
     * 创建RocketMQ元数据迁移任务，用于批量创建主题和消费组数据
     */
    async CreateRocketMQMigrationTask(req, cb) {
        return this.request("CreateRocketMQMigrationTask", req, cb);
    }
    /**
     * 创建 RocketMQ 集群。
当前 API 适用集群：4.x 虚拟集群。创建 4.x 专享或通用集群的接口文档见 [CreateRocketMQVipInstance](https://cloud.tencent.com/document/api/1179/95721)，创建 5.x 集群接口文档见 [CreateInstance](https://cloud.tencent.com/document/api/1493/97868)。
     */
    async CreateRocketMQCluster(req, cb) {
        return this.request("CreateRocketMQCluster", req, cb);
    }
    /**
     * 查询RabbitMQ队列详情
     */
    async DescribeRabbitMQQueueDetail(req, cb) {
        return this.request("DescribeRabbitMQQueueDetail", req, cb);
    }
    /**
     * 查询 RocketMQ 消息详情。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的查询消息详情接口文档见 [DescribeMessage](https://cloud.tencent.com/document/api/1493/114594)。
     */
    async DescribeRocketMQMsg(req, cb) {
        return this.request("DescribeRocketMQMsg", req, cb);
    }
    /**
     * 获取环境下主题列表
     */
    async DescribeTopics(req, cb) {
        return this.request("DescribeTopics", req, cb);
    }
    /**
     * 获取命名空间角色列表
     */
    async DescribeEnvironmentRoles(req, cb) {
        return this.request("DescribeEnvironmentRoles", req, cb);
    }
    /**
     * 删除 RabbitMQ 托管版实例
     */
    async DeleteRabbitMQVipInstance(req, cb) {
        return this.request("DeleteRabbitMQVipInstance", req, cb);
    }
    /**
     * 发送cmq主题消息
     */
    async PublishCmqMsg(req, cb) {
        return this.request("PublishCmqMsg", req, cb);
    }
    /**
     * 获取用户绑定的专享集群列表
     */
    async DescribeBindClusters(req, cb) {
        return this.request("DescribeBindClusters", req, cb);
    }
    /**
     * 查询cmq队列详情
     */
    async DescribeCmqQueueDetail(req, cb) {
        return this.request("DescribeCmqQueueDetail", req, cb);
    }
    /**
     * 此接口仅用于测试发生消息，不能作为现网正式生产使用
     */
    async SendMsg(req, cb) {
        return this.request("SendMsg", req, cb);
    }
    /**
     * 删除 RocketMQ 专享或通用集群。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。删除 5.x 集群的接口文档见 [DeleteInstance](https://cloud.tencent.com/document/api/1493/97867)。
     */
    async DeleteRocketMQVipInstance(req, cb) {
        return this.request("DeleteRocketMQVipInstance", req, cb);
    }
    /**
     * 获取生产者信息列表
     */
    async DescribePublishers(req, cb) {
        return this.request("DescribePublishers", req, cb);
    }
    /**
     * 发送 RocketMQ 消息，该接口仅用于控制台发送少量测试消息，不保证SLA，且云 API 存在限流，在真实业务场景下，请使用 RocketMQ SDK 发送消息。
     */
    async SendRocketMQMessage(req, cb) {
        return this.request("SendRocketMQMessage", req, cb);
    }
    /**
     * 清空订阅者消息标签
     */
    async ClearCmqSubscriptionFilterTags(req, cb) {
        return this.request("ClearCmqSubscriptionFilterTags", req, cb);
    }
    /**
     * 删除cmq订阅
     */
    async DeleteCmqSubscribe(req, cb) {
        return this.request("DeleteCmqSubscribe", req, cb);
    }
    /**
     * 查询 RocketMQ 集群的公网接入点信息。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。查询 5.x 集群的公网接入点信息接口文档见 [DescribeInstance](https://cloud.tencent.com/document/api/1493/97866)。
     */
    async DescribeRocketMQPublicAccessPoint(req, cb) {
        return this.request("DescribeRocketMQPublicAccessPoint", req, cb);
    }
    /**
     * 解绑RabbitMQ路由关系
     */
    async DeleteRabbitMQBinding(req, cb) {
        return this.request("DeleteRabbitMQBinding", req, cb);
    }
    /**
     * 角色修改
     */
    async ModifyRole(req, cb) {
        return this.request("ModifyRole", req, cb);
    }
    /**
     * 创建 RocketMQ 4.x 集群。
当前 API 适用集群：4.x 专享集群 和 4.x 通用集群。创建 5.x 集群的接口文档见 [CreateInstance](https://cloud.tencent.com/document/api/1493/97868)。
     */
    async CreateRocketMQVipInstance(req, cb) {
        return this.request("CreateRocketMQVipInstance", req, cb);
    }
    /**
     * 批量删除角色授权。
当前 API 适用集群：4.x 虚拟集群，4.x 专享集群 和 4.x 通用集群。5.x 集群的删除角色接口文档见 [DeleteRole](https://cloud.tencent.com/document/api/1493/98863)。
     */
    async DeleteRocketMQEnvironmentRoles(req, cb) {
        return this.request("DeleteRocketMQEnvironmentRoles", req, cb);
    }
    /**
     * 获取某个租户的虚拟集群列表
     */
    async DescribeAllTenants(req, cb) {
        return this.request("DescribeAllTenants", req, cb);
    }
    /**
     * 创建RocketMQ Router规则
     */
    async CreateRocketMQRouterRule(req, cb) {
        return this.request("CreateRocketMQRouterRule", req, cb);
    }
    /**
     * 运营端获取命名空间bundle列表
     */
    async DescribeNamespaceBundlesOpt(req, cb) {
        return this.request("DescribeNamespaceBundlesOpt", req, cb);
    }
    /**
     * 删除订阅关系
     */
    async DeleteSubscriptions(req, cb) {
        return this.request("DeleteSubscriptions", req, cb);
    }
}
exports.Client = Client;
