Example #1
0
    def register_query_examples(cli, **kwargs):
        from knack.experimental import ExperimentalItem
        experimental_info = ExperimentalItem(cli.local_context.cli_ctx,
                                             object_type='parameter', target='_query_examples')
        default_kwargs = {
            'help': 'Recommend JMESPath string for you. You can copy one of the query '
                    'and paste it after --query parameter within double quotation marks '
                    'to see the results. You can add one or more positional keywords so '
                    'that we can give suggestions based on these key words.',
            'arg_group': 'Global',
            'is_experimental': True,
            'nargs': '*',
            'experimental_info': experimental_info
        }

        allow_list = cli.config.get('query', 'allow_list', "list,show").split(',')
        allow_list = [s.strip() for s in allow_list if s.strip()]  # remove empty string
        # when allow_list="", do nothing
        if not allow_list:
            return

        commands_loader = kwargs.get('commands_loader')
        cmd_tbl = commands_loader.command_table
        for cmd_name, cmd in cmd_tbl.items():
            if any(cmd_name.endswith(suffix) for suffix in allow_list):
                cmd.add_argument('_query_examples', *
                                 ['--query-examples'], **default_kwargs)
Example #2
0
 def command_group(self, group_name, command_type=None, **kwargs):
     if command_type:
         kwargs['command_type'] = command_type
     if 'deprecate_info' in kwargs:
         kwargs['deprecate_info'].target = group_name
     if kwargs.get('is_preview', False):
         kwargs['preview_info'] = PreviewItem(cli_ctx=self.cli_ctx,
                                              target=group_name,
                                              object_type='command group')
     if kwargs.get('is_experimental', False):
         kwargs['experimental_info'] = ExperimentalItem(
             cli_ctx=self.cli_ctx,
             target=group_name,
             object_type='command group')
     return self._command_group_cls(self, group_name, **kwargs)
Example #3
0
 def register_query_examples(cli, **kwargs):
     from knack.experimental import ExperimentalItem
     commands_loader = kwargs.get('commands_loader')
     cmd_tbl = commands_loader.command_table
     experimental_info = ExperimentalItem(cli.local_context.cli_ctx,
                                          object_type='parameter', target='_query_examples')
     default_kwargs = {
         'help': 'Recommend JMESPath string for you. Currently this is a dummy parameter',
         'arg_group': 'Global',
         'is_experimental': True,
         'nargs': '*',
         'experimental_info': experimental_info
     }
     for _, cmd in cmd_tbl.items():
         cmd.add_argument('_query_examples', *
                          ['--query-examples'], **default_kwargs)