#!/usr/bin/env python

from pynag.Plugins import PluginHelper, ok, warning, critical, unknown
from pynag.Utils import runCommand
from collections import namedtuple

valid_queries = "lsarray lsdrive lsenclosurebattery lsenclosurecanister lsenclosurepsu lsenclosureslot lsenclosure lsmdiskgrp lsmdskgrp lsmgrp lsrcrelationship lsvdisk"

p = PluginHelper()
p.add_option("-H",
             "--hostname",
             '-M',
             help="Hostname or ip address",
             dest="hostname")
p.add_option("-U",
             "--user",
             help="Log in as this user to storwize",
             dest="user",
             default="nagios")
p.add_option("-Q",
             "--query",
             help="Query to send to storwize (see also -L)",
             dest="query",
             default="lsarray")
p.add_option("-L",
             "--list-queries",
             help="List of valid queries",
             dest="list_queries",
             action="store_true")
p.add_option("--test",
             help="Run this plugin in test mode",
#!/usr/bin/env python

from pynag.Plugins import PluginHelper, ok, warning, critical, unknown
from pynag.Utils import runCommand
from collections import namedtuple

valid_queries = "lsarray lsdrive lsenclosurebattery lsenclosurecanister lsenclosurepsu lsenclosureslot lsenclosure lsmdiskgrp lsmdskgrp lsmgrp lsrcrelationship lsvdisk"

p = PluginHelper()
p.add_option("-H", "--hostname", '-M', help="Hostname or ip address", dest="hostname")
p.add_option("-U", "--user", help="Log in as this user to storwize", dest="user", default="nagios")
p.add_option("-Q", "--query", help="Query to send to storwize (see also -L)", dest="query", default="lsarray")
p.add_option("-L", "--list-queries", help="List of valid queries", dest="list_queries", action="store_true")
p.add_option("--test", help="Run this plugin in test mode", dest="test", action="store_true")

p.parse_arguments()

if p.options.list_queries is True:
    p.parser.error("Valid Queries: %s" % valid_queries)
if not p.options.hostname:
    p.parser.error("Required options -H is missing")
if p.options.query not in valid_queries.split():
    p.parser.error("%s does not look like a valid query. Use -L for a list of valid queries" % p.options.query)

query = p.options.query


# Connect to remote storwize and run a connect
def run_query():
    """ Connect to a remote storwize box and run query  """
    command = "ssh %s@%s %s -delim ':'" % (p.options.user, p.options.hostname, p.options.query)