I would like to extend this OR entirely change it to better.
NetScaler ADC under the hood is a FreeBSD OS and we have our own command prompt.
I need to take care of three things -
collection modules for resources to configure the NetScaler device over NITRO (HTTP)
module/plugin (I am not sure) to directly give FreeBSD commands (bypassing the initial NS-CLI prompt). This is for general OS operations like create directory, copy, tar/untar, run some shell scripts etc.
shell plugins are basically for dealing with common commands in
different shell environments, i.e create a temp dir, figure out the
remote user home, etc
terminal plugins are really regex for matching prompts when not using
a shell, they are for use with netcli/net_conf plugins
httpapi/netcli/netconf plugins are "secondary connection pluigins"
that are designed to run the module under 'local' connection and have
the 2nd (true) connection to the device available to the module
itself, for it to send commands over and receive feedback (where they
might need to match against the terminal plugin).
Here we are connecting to the SHELL prompt directly on our NetScaler device, and then trying to run commands using nscli script.
I think, if we can directly connect to our NetScaler prompt, we can directly send the “show version” (for eg) commands directly and get output. In my understanding, that’s where the terminal plugin comes from.
Since our existing ssh-connection was written a while ago (5 years), I am sure there must be a great good way in Ansible to connect to NetScaler (networking devices), which I am missing. Eg., terminalnetcli, net_conf etc
That is not something I feel i can give advice on as I don't know the
product well and have no idea about your resource availability and
objectives.
Context is everything and as an outsider I barely have a sliver of it
nor will you be able to give me enough in a few emails to give you
relevant advice.