LUALoriotPro WEB site

LoriotPro scripting documentation
Extensions for LUA language

Table of contents Search function

Print the current page Mail this  link UTUBE Channel version française

lp.CliPlugin

LoriotPro has extended the LUA sripting language by providing its own LUA libraries. The new functions provided are dedicated to the creation of monitoring and SNMP automation application.

Syntax

‘buffer’ =  lp.CliPlugin('uid','Command');

Description

The lp.CliPlugin LUA function performs communication with a Directory plugin. Each plugin provide a command line interface aloowing external LUA programme to exchange data with it. Each plugin has its own set of commands with proprietary syntaxes. Some command are common to all plugins.

Parameters

‘uid’                  An unsigned 64bits number (Unique Indetifier) within a character string that is the reference to a specific pluigin in the directory. When a plugin is created it is assigned a unique identifier.

‘Command’       The command to send to the plugin as a character string.

Return Values

‘buffer’                A character string containing the result of the command. The buffer provide a number in first that give information of the processing status.

Response code by function group

It is recommended that the returned code follow the standard defined in RFC 959

200 Command okay.
202 Command not implemented, superfluous at this site.
211 System status, or system help reply.
212 Directory status.
213 File status.
214 Help message. On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user.
215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document.
220 Service ready for new user.
221 Service closing control connection. Logged out if appropriate.
225 Data connection open; no transfer in progress.
226 Closing data connection. Requested file action successful (for example, file transfer or file abort).
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2). 230 User logged in, proceed.
250 Requested file action okay, completed.
257 "PATHNAME" created.
331 User name okay, need password.
332 Need account for login.
350 Requested file action pending further information.
421 Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down.
425 Can't open data connection.
426 Connection closed; transfer aborted.
450 Requested file action not taken. File unavailable (e.g., file busy).
451 Requested action aborted: local error in processing.
452 Requested action not taken. Insufficient storage space in system.
500 Syntax error, command unrecognized. This may include errors such as command line too long.
501 Syntax error in parameters or arguments.
502 Command not implemented.
503 Bad sequence of commands.
504 Command not implemented for that parameter.
530 Not logged in.
532 Need account for storing files.
550 Requested action not taken. File unavailable (e.g., file not found, no access).
551 Requested action aborted: page type unknown.
552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
553 Requested action not taken. File name not allowed.

 

Example

First of all for coding the function, you can use the Insert Directory UID object Wizard to get the UID of a plugin.

1

2

3

In the upper example, the command doesn't exist and the plugin return the value 500.

To discover the commands available of a plugin should provide the command :

get plugin cli help

4

This command should retrun the value 200 followed by a list of commands with CRLF between. By default Plugins of LoriotPro version 5 support this commande.

5

The sign ‘_’ in front of a word means that it is a variable. If the variable is a character string, then she is between simple quote.

Exemple : get jpeg map '_filemane' _width _height

Some plugins are able to generate image filee in ( jpeg) showing a newtork map of a load graph.

Plugin - Activeview

6

To get the image we can do: get jpeg map ‘_filename’ _width _height

Warning ! The character string variable must be entered between double quote and all '\' character must be repeated twice.

result=lp.CliPlugin("5117890155264344098",'get plugin cli help');
lp.Print(result,"\n");
if string.find(result,"jpeg") then
result=lp.CliPlugin("5117890155264344098",'get jpeg map "c:\\testactiveview.jpg" 400 400');
lp.Print(result,"\n");
end

7

8

The jpeg image can be then displayed with any image viewer.

9

Plugin - Vumeter

It is also possible to retreive the view of the VuMeter plugin with the command:

get jpeg '_filename'

result=lp.CliPlugin("5122655816616247350",'get plugin cli help');
lp.Print(result,"\n");
if string.find(result,"jpeg") then
result=lp.CliPlugin("5122655816616247350",'get jpeg "c:\\testvumeter.jpg"');
lp.Print(result,"\n");
end

 10

11

 Plugin - Graphe Linéaire

It is also possible to retreive the view of the LinearGraph plugin with the command:

get jpeg '_filename'

result=lp.CliPlugin("5122678116086448188",'get plugin cli help');
lp.Print(result,"\n");
if string.find(result,"jpeg") then
result=lp.CliPlugin("5122678116086448188",'get jpeg "c:\\testgraphelinear.jpg"');
lp.Print(result,"\n");
end

 

12

 

13

 

Plugin - Spanning Tree

 It is also possible to retreive the view of the Spanning Tree plugin with the command:

get jpeg map '_filemane' _width _height

result=lp.CliPlugin("5159765313306230855",'get plugin cli help');
lp.Print(result,"\n");
if string.find(result,"jpeg") then
result=lp.CliPlugin("5159765313306230855",'get jpeg map "c:\\testgraphelinear.jpg" 400 400');
lp.Print(result,"\n");
end

14

 

 


www.loriotpro.com