From 98c619c917d6af8fd5b83ff911d39f431365b6a3 Mon Sep 17 00:00:00 2001 From: timeforplanb123 Date: Thu, 7 Dec 2023 13:13:38 +0300 Subject: [PATCH] Update error messages - Add new json syntax for init, filter and Nornir plugin commands --- nornir_cli/common_commands/cmd_filter.py | 12 +++++++++--- nornir_cli/common_commands/cmd_init.py | 12 +++++++++++- nornir_cli/plugin_commands/cmd_common.py | 22 +++++++++++++++++++++- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/nornir_cli/common_commands/cmd_filter.py b/nornir_cli/common_commands/cmd_filter.py index cb90ea9..10f724f 100644 --- a/nornir_cli/common_commands/cmd_filter.py +++ b/nornir_cli/common_commands/cmd_filter.py @@ -19,16 +19,22 @@ "Filter optiions. There should be something like...\n\n" "Simple filtering:\n" " nornir_cli nornir-netmiko filter site=cmh role=spine\n\n" + "Or:\n" + ' nornir_cli nornir-netmiko filter \'{"name":"spine_1"}\'\n\n' "Simple filtering with json:\n" " nornir_cli nornir-netmiko filter --hosts " - '\'primary_ip={"address": "10.1.129.71/32", "family": 4, "id": 4482, ' + '\'primary_ip={"address": "10.1.10.10/32", "family": 4, "id": 4482, ' '"url": "http://netbox-domain/api/ipam/ip-addresses/4482/"} name=spine_1\'\n\n' + "The same:\n" + " nornir_cli nornir-netmiko filter --hosts " + '\'{"primary_ip":{"address": "10.1.10.10/32", "family": 4, "id": 4482, ' + '"url": "http://netbox-domain/api/ipam/ip-addresses/4482/"}, "name":"spine_1"}\'\n\n' "Advanced filtering:\n" " nornir_cli nornir-netmiko filter -a " - "'name__contains=cmh device_role__name__contains=access'\n" + "'name__contains=cmh device_role__name__contains=access'\n\n" "The same:\n" " nornir_cli nornir-netmiko filter -a " - "'name__contains=cmh & device_role__name__contains=access'\n" + "'name__contains=cmh & device_role__name__contains=access'\n\n" "Or:\n" " nornir_cli nornir-netmiko filter -a " "'name__contains=cmh | name__contains=access'\n\n" diff --git a/nornir_cli/common_commands/cmd_init.py b/nornir_cli/common_commands/cmd_init.py index 19922dd..0924489 100644 --- a/nornir_cli/common_commands/cmd_init.py +++ b/nornir_cli/common_commands/cmd_init.py @@ -32,10 +32,20 @@ '"/home/user/inventory/hosts.yaml", "group_file": ' '"/home/user/inventory/groups.yaml", ' '"defaults_file": "/home/user/inventory/defaults.yaml"}}\'\n\n' + "The same:\n" + ' nornir_cli nornir-scrapli init -c "" -f ' + '\'{"inventory":{"plugin":"SimpleInventory",options": {"host_file": ' + '"/home/user/inventory/hosts.yaml", "group_file": ' + '"/home/user/inventory/groups.yaml", ' + '"defaults_file": "/home/user/inventory/defaults.yaml"}}}\'\n\n' "With combination of both methods:\n" ' nornir_cli nornir-napalm init -f \'logging={"enabled": true, "level":' '"DEBUG",' - '"to_console": false}' + '"to_console": false}\'\n\n' + "The same:\n" + ' nornir_cli nornir-napalm init -f \'{"logging":{"enabled": true, "level":' + '"DEBUG",' + '"to_console": false}}\'' ) diff --git a/nornir_cli/plugin_commands/cmd_common.py b/nornir_cli/plugin_commands/cmd_common.py index ccc9dcc..e87daf2 100644 --- a/nornir_cli/plugin_commands/cmd_common.py +++ b/nornir_cli/plugin_commands/cmd_common.py @@ -15,7 +15,27 @@ from tqdm import tqdm -ERROR_MESSAGE = "error" +ERROR_MESSAGE = ( + "Nornir plugin options and arguments.\n" + "Check the required options and the command format" + "(use json syntax for arguments).\n" + "There should be something like...\n\n" + "Only with required options:\n" + ' nornir_cli nornir-netmiko netmiko_send_command --command_string "disp clock"\n\n' + "Only with required options as an arguments(json-string):\n" + " nornir_cli nornir-netmiko netmiko_send_command " + '\'{"command_string":"disp clock"}\'\n\n' + "With required options and arguments(json-string). The priority of options will be " + 'higher, the command "disp ver" will be executed:\n' + " nornir_cli nornir-netmiko netmiko_send_command " + '--command_string "disp ver" ' + '\'{"command_string":"disp clock"}\'\n\n' + 'With required options and arguments(json-string). The command "disp ver" ' + 'will be executed with the "read_timeout" argument:\n' + " nornir_cli nornir-netmiko netmiko_send_command " + '--command_string "disp ver" ' + "'{\"read_timeout\":11.0}'" +) @click.pass_context