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)
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)
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)