# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# 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.
#
# NOTE: This class is auto generated by the jdcloud code generator program.

from argparse import RawTextHelpFormatter
from jdcloud_cli.cement.ext.ext_argparse import expose
from jdcloud_cli.controllers.base_controller import BaseController
from jdcloud_cli.client_factory import ClientFactory
from jdcloud_cli.parameter_builder import collect_user_args, collect_user_headers
from jdcloud_cli.printer import Printer
from jdcloud_cli.skeleton import Skeleton


class JcqController(BaseController):
    class Meta:
        label = 'jcq'
        help = '京东云jcq接口'
        description = '''
        jcq cli 子命令，jcq相关接口。
        OpenAPI文档地址为：https://docs.jdcloud.com/cn/message-queue/api/overview
        '''
        stacked_on = 'base'
        stacked_type = 'nested'

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 查看接入点接口 ''',
        description='''
            查看接入点接口。

            示例: jdc jcq describe-access-point  --topic-name xxx
        ''',
    )
    def describe_access_point(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeAccessPointRequest import DescribeAccessPointRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeAccessPointRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--page-size'], dict(help="""(int) 分页大小；默认为10；取值范围[10, 100] """, dest='pageSize', type=int, required=False)),
            (['--page-number'], dict(help="""(int) 页码 """, dest='pageNumber', type=int, required=False)),
            (['--topic-filter'], dict(help="""(string) topic名称的过滤条件，大小写不敏感 """, dest='topicFilter',  required=False)),
            (['--tag-filters'], dict(help="""(array: tagFilter) 标签过滤条件 """, dest='tagFilters',  required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 查询topic列表 ''',
        description='''
            查询topic列表。

            示例: jdc jcq describe-topics 
        ''',
    )
    def describe_topics(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeTopicsRequest import DescribeTopicsRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeTopicsRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic名称 """, dest='topicName',  required=True)),
            (['--type'], dict(help="""(string) 类型，[normal,global_order] """, dest='type',  required=True)),
            (['--description'], dict(help="""(string) 描述，长度不大于255 """, dest='description',  required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 创建一个指定名称的topic ''',
        description='''
            创建一个指定名称的topic。

            示例: jdc jcq create-topic  --topic-name xxx --type xxx
        ''',
    )
    def create_topic(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.CreateTopicRequest import CreateTopicRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = CreateTopicRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 查询topic详情 ''',
        description='''
            查询topic详情。

            示例: jdc jcq describe-topic  --topic-name xxx
        ''',
    )
    def describe_topic(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeTopicRequest import DescribeTopicRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeTopicRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 删除单个topic ''',
        description='''
            删除单个topic。

            示例: jdc jcq delete-topic  --topic-name xxx
        ''',
    )
    def delete_topic(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DeleteTopicRequest import DeleteTopicRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DeleteTopicRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId为空则显示该用户所有订阅关系里的死信数量 """, dest='consumerGroupId',  required=False)),
            (['--page-number'], dict(help="""(int) 页码 """, dest='pageNumber', type=int, required=False)),
            (['--page-size'], dict(help="""(int) 分页大小；默认为10；取值范围[10, 100] """, dest='pageSize', type=int, required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 死信消息数(按照用户或者consumerGroupId) ''',
        description='''
            死信消息数(按照用户或者consumerGroupId)。

            示例: jdc jcq describe-dead-letter-numbers 
        ''',
    )
    def describe_dead_letter_numbers(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeDeadLetterNumbersRequest import DescribeDeadLetterNumbersRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeDeadLetterNumbersRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId为空则显示该Topic下所有订阅关系里的死信数量 """, dest='consumerGroupId',  required=False)),
            (['--page-number'], dict(help="""(int) 页码 """, dest='pageNumber', type=int, required=False)),
            (['--page-size'], dict(help="""(int) 分页大小；默认为10；取值范围[10, 100] """, dest='pageSize', type=int, required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 死信消息数 ''',
        description='''
            死信消息数。

            示例: jdc jcq describe-dead-letter-numbers-with-topic  --topic-name xxx
        ''',
    )
    def describe_dead_letter_numbers_with_topic(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeDeadLetterNumbersWithTopicRequest import DescribeDeadLetterNumbersWithTopicRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeDeadLetterNumbersWithTopicRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--page-number'], dict(help="""(int) 页码 """, dest='pageNumber', type=int, required=False)),
            (['--page-size'], dict(help="""(int) 分页大小；默认为10；取值范围[10, 100] """, dest='pageSize', type=int, required=False)),
            (['--start-time'], dict(help="""(string) 开始时间 """, dest='startTime',  required=True)),
            (['--end-time'], dict(help="""(string) 结束时间 """, dest='endTime',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 死信队列列表 ''',
        description='''
            死信队列列表。

            示例: jdc jcq list-dead-letters  --topic-name xxx --consumer-group-id xxx --start-time xxx --end-time xxx
        ''',
    )
    def list_dead_letters(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.ListDeadLettersRequest import ListDeadLettersRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = ListDeadLettersRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--message-ids'], dict(help="""(string) messageIds,多个逗号隔开，不传该值就是删除所有的死信 """, dest='messageIds',  required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 删除死信消息 ''',
        description='''
            删除死信消息。

            示例: jdc jcq delete-dead-letters  --topic-name xxx --consumer-group-id xxx
        ''',
    )
    def delete_dead_letters(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DeleteDeadLettersRequest import DeleteDeadLettersRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DeleteDeadLettersRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--message-ids'], dict(help="""(string) messageIds,多个逗号隔开，不传该值就是重发所有死信 """, dest='messageIds',  required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 重发死信消息 ''',
        description='''
            重发死信消息。

            示例: jdc jcq resend-dead-letters  --topic-name xxx --consumer-group-id xxx
        ''',
    )
    def resend_dead_letters(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.ResendDeadLettersRequest import ResendDeadLettersRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = ResendDeadLettersRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 查看当前topic授予了哪些用户哪些权限 ''',
        description='''
            查看当前topic授予了哪些用户哪些权限。

            示例: jdc jcq describe-permission  --topic-name xxx
        ''',
    )
    def describe_permission(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribePermissionRequest import DescribePermissionRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribePermissionRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--permission'], dict(help="""(string) 权限类型，[PUB,SUB,PUBSUB] """, dest='permission',  required=True)),
            (['--target-user-id'], dict(help="""(string) 目标用户UserId """, dest='targetUserId',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 对当前topic授予目标用户特定权限 ''',
        description='''
            对当前topic授予目标用户特定权限。

            示例: jdc jcq add-permission  --topic-name xxx --permission xxx --target-user-id xxx
        ''',
    )
    def add_permission(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.AddPermissionRequest import AddPermissionRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = AddPermissionRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--permission'], dict(help="""(string) 权限类型, [PUB, SUB, PUBSUB] """, dest='permission',  required=True)),
            (['--target-user-id'], dict(help="""(string) 目标用户UserId """, dest='targetUserId',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 删除当前topic对目标用户授权的权限 ''',
        description='''
            删除当前topic对目标用户授权的权限。

            示例: jdc jcq remove-permission  --topic-name xxx --permission xxx --target-user-id xxx
        ''',
    )
    def remove_permission(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.RemovePermissionRequest import RemovePermissionRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = RemovePermissionRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' consumerGroupId列表 ''',
        description='''
            consumerGroupId列表。

            示例: jdc jcq describe-consumer-group-ids 
        ''',
    )
    def describe_consumer_group_ids(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeConsumerGroupIdsRequest import DescribeConsumerGroupIdsRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeConsumerGroupIdsRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-filter'], dict(help="""(string) consumerGroupFilter，consumerGroupId的过滤条件 """, dest='consumerGroupFilter',  required=False)),
            (['--page-size'], dict(help="""(int) 分页大小；默认为10；取值范围[10, 100] """, dest='pageSize', type=int, required=False)),
            (['--page-number'], dict(help="""(int) 页码 """, dest='pageNumber', type=int, required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 订阅列表 ''',
        description='''
            订阅列表。

            示例: jdc jcq describe-subscriptions  --topic-name xxx
        ''',
    )
    def describe_subscriptions(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeSubscriptionsRequest import DescribeSubscriptionsRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeSubscriptionsRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--message-invisible-time-in-seconds'], dict(help="""(int) 消息隐藏时间单位秒 """, dest='messageInvisibleTimeInSeconds', type=int, required=False)),
            (['--dlq-enable'], dict(help="""(bool) 是否开启死信队列[true, false] """, dest='dlqEnable', type=bool, required=False)),
            (['--max-retry-times'], dict(help="""(int) 最大重试次数dlqEnable为true必填,范围[0,16] """, dest='maxRetryTimes', type=int, required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 创建订阅 ''',
        description='''
            创建订阅。

            示例: jdc jcq create-subscription  --topic-name xxx --consumer-group-id xxx
        ''',
    )
    def create_subscription(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.CreateSubscriptionRequest import CreateSubscriptionRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = CreateSubscriptionRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 查询订阅详情 ''',
        description='''
            查询订阅详情。

            示例: jdc jcq describe-subscription  --topic-name xxx --consumer-group-id xxx
        ''',
    )
    def describe_subscription(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeSubscriptionRequest import DescribeSubscriptionRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeSubscriptionRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--max-retry-times'], dict(help="""(int) 最大重试次数 """, dest='maxRetryTimes', type=int, required=False)),
            (['--message-invisible-time-in-seconds'], dict(help="""(int) 消息ack超时时间 """, dest='messageInvisibleTimeInSeconds', type=int, required=False)),
            (['--dlq-enable'], dict(help="""(bool) 是否开启死信队列[true, false] """, dest='dlqEnable', type=bool, required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 修改订阅 ''',
        description='''
            修改订阅。

            示例: jdc jcq modify-subscription-attribute  --topic-name xxx --consumer-group-id xxx
        ''',
    )
    def modify_subscription_attribute(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.ModifySubscriptionAttributeRequest import ModifySubscriptionAttributeRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = ModifySubscriptionAttributeRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 删除订阅 ''',
        description='''
            删除订阅。

            示例: jdc jcq delete-subscription  --topic-name xxx --consumer-group-id xxx
        ''',
    )
    def delete_subscription(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DeleteSubscriptionRequest import DeleteSubscriptionRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DeleteSubscriptionRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 清除消息 ''',
        description='''
            清除消息。

            示例: jdc jcq clean-messages  --topic-name xxx --consumer-group-id xxx
        ''',
    )
    def clean_messages(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.CleanMessagesRequest import CleanMessagesRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = CleanMessagesRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--consumer-group-id'], dict(help="""(string) consumerGroupId """, dest='consumerGroupId',  required=True)),
            (['--time'], dict(help="""(string) 时间 """, dest='time',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 重置消费位 ''',
        description='''
            重置消费位。

            示例: jdc jcq reset-consume-offset  --topic-name xxx --consumer-group-id xxx --time xxx
        ''',
    )
    def reset_consume_offset(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.ResetConsumeOffsetRequest import ResetConsumeOffsetRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = ResetConsumeOffsetRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--start-time'], dict(help="""(string) 开始时间 """, dest='startTime',  required=True)),
            (['--end-time'], dict(help="""(string) 结束时间 """, dest='endTime',  required=True)),
            (['--page-size'], dict(help="""(int) 分页大小；默认为10；取值范围[10, 100] """, dest='pageSize', type=int, required=False)),
            (['--page-number'], dict(help="""(int) 页码 """, dest='pageNumber', type=int, required=False)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 消息列表 ''',
        description='''
            消息列表。

            示例: jdc jcq describe-messages  --topic-name xxx --start-time xxx --end-time xxx
        ''',
    )
    def describe_messages(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeMessagesRequest import DescribeMessagesRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeMessagesRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--message-id'], dict(help="""(string) message Id """, dest='messageId',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 查询message详情 ''',
        description='''
            查询message详情。

            示例: jdc jcq describe-message  --topic-name xxx --message-id xxx
        ''',
    )
    def describe_message(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeMessageRequest import DescribeMessageRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeMessageRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--message-id'], dict(help="""(string) message Id """, dest='messageId',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 查询消息轨迹 ''',
        description='''
            查询消息轨迹。

            示例: jdc jcq describe-message-trace  --topic-name xxx --message-id xxx
        ''',
    )
    def describe_message_trace(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeMessageTraceRequest import DescribeMessageTraceRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeMessageTraceRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--region-id'], dict(help="""(string) 所在区域的Region ID """, dest='regionId',  required=False)),
            (['--topic-name'], dict(help="""(string) topic 名称 """, dest='topicName',  required=True)),
            (['--business-id'], dict(help="""(string) business id """, dest='businessId',  required=True)),
            (['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例：--input-json \'{"field":"value"}\';\n文件格式举例：--input-json file:///xxxx.json', dest='input_json', required=False)),
            (['--jdcloud-header'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='jdcloudHeaders', required=False)),
            (['--headers'], dict(help="""(json) 用户自定义Header，举例：'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 根据businessId查询消息 ''',
        description='''
            根据businessId查询消息。

            示例: jdc jcq describe-messages-by-business-id  --topic-name xxx --business-id xxx
        ''',
    )
    def describe_messages_by_business_id(self):
        client_factory = ClientFactory('jcq')
        client = client_factory.get(self.app)
        if client is None:
            return

        try:
            from jdcloud_sdk.services.jcq.apis.DescribeMessagesByBusinessIdRequest import DescribeMessagesByBusinessIdRequest
            params_dict = collect_user_args(self.app)
            headers = collect_user_headers(self.app)
            req = DescribeMessagesByBusinessIdRequest(params_dict, headers)
            resp = client.send(req)
            Printer.print_result(resp)
        except ImportError:
            print('{"error":"This api is not supported, please use the newer version"}')
        except Exception as e:
            print(e)

    @expose(
        arguments=[
            (['--api'], dict(help="""(string) api name """, choices=['describe-access-point','describe-topics','create-topic','describe-topic','delete-topic','describe-dead-letter-numbers','describe-dead-letter-numbers-with-topic','list-dead-letters','delete-dead-letters','resend-dead-letters','describe-permission','add-permission','remove-permission','describe-consumer-group-ids','describe-subscriptions','create-subscription','describe-subscription','modify-subscription-attribute','delete-subscription','clean-messages','reset-consume-offset','describe-messages','describe-message','describe-message-trace','describe-messages-by-business-id',], required=True)),
        ],
        formatter_class=RawTextHelpFormatter,
        help=''' 生成单个API接口的json骨架空字符串 ''',
        description='''
            生成单个API接口的json骨架空字符串。

            示例: jdc nc generate-skeleton --api describeContainer ''',
    )
    def generate_skeleton(self):
        skeleton = Skeleton('jcq', self.app.pargs.api)
        skeleton.show()
