- CheckMates
- :
- Products
- :
- Developers
- :
- API / CLI Discussion
- :
- Re: API: How to use args in run-script ?
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
Are you a member of CheckMates?
×- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
API: How to use args in run-script ?
Hello CheckMates!
Could you provide me a hint on how to use args parameter in API (v1.1) call run-script to pass arguments to an OS command or script ? Using args with mgmt._cli, postman, SCconsole returns a failed task.
e. g. :
mgmt._cli -r true -f json run-script script-name "ping" script "ping" args " -c1 172.17.xxx.2" targets.1 "mgmt._server_itself"
returns:
"mgmt._server_itself - ping" failed (100%)
{
<omitted for brevity>
"task-id" : "e1f9a669-2cf8-4248-bee7-437902810e9b",
"task-name" : "mgmt._server_itself - ping",
"status" : "failed",
<omitted>
"statusCode" : "failed",
"statusDescription" : "Usage: ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline], [-p pattern] [-s packetsize] [-t ttl] [-I interface or address
as if arguments in args string value are not passed to bash. Various arguments and escape sequences tried, same result.
Passing all arguments in script value works:
mgmt._cli -r true -f json run-script script-name "ping" script "ping -c1 172.17.xxx.2" targets.1 "mgmt._server_itself"
returns:
"mgmt._server_itself - ping" succeeded (100%)
{
<omitted>
"task-id" : "0751191e-9fed-4bcf-851f-b97645dcea4c",
"task-name" : "mgmt_server_itself - ping",
"status" : "succeeded",
<omitted>
"statusCode" : "succeeded",
"statusDescription" : "PING 172.17.xxx.2 (172.17.xxx.2) 56(84) bytes of data. 64 bytes from 172.17.xx.2: icmp_seq=1 ttl=128 time=0.110 ms, --- 172.17.xxx.2
ping statistics ---, 1 packets transmitted, 1...",
Screened api.elg, cpm.elg, fwm.elg for clues - didn't understand how script string and args string are passed to bash.
Environment: R80.10, JHF T112
Thank you for your time,
andreip
- Tags:
- args
- run-script
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
please try to run this and update me if this works for you.
mgmt._cli -r true -f json run-script script-name "ping" script 'ping $1 $2' args " -c1 172.17.xxx.2" targets.1 "mgmt._server_itself"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I'm not mistaken there was an issue with args not being executed.
Robert Decker can you comment? I think this is API-101.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Right, this is a bug (not in API), and it will be fixed.
Workaround - instead of specifying the args parameter, use script body.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
can you provide me with the bug details.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
please try to run this and update me if this works for you.
mgmt._cli -r true -f json run-script script-name "ping" script 'ping $1 $2' args " -c1 172.17.xxx.2" targets.1 "mgmt._server_itself"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does anyone have an example of more than one target being used in a single command? Looking to see how you build that list of targets.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A third target would be target.3 "gateway3"
Etc.
