def call(self, sender, log, **kw): log.debug('Zenoss Admin user plugin running with %s' % sender) sender = sender.lower() # remove the resource from the sender if '/' in sender: sender = sender.split('/')[0] adapter = ZenAdapter() if sender == None: return False log.debug( 'Got a message from %s. Going to look for a Zenoss user to map it to.' % sender) # look through all zenoss users until we find one with the sender's JabberID for user in adapter.userSettings(): try: jabberProperty = user.getProperty('JabberId').lower() except: jabberProperty = None if jabberProperty == sender: log.debug( 'JabberID %s maps to the sender: %s. This user is authorized.' % (jabberProperty, sender)) return True log.debug( 'Unable to find a Zenoss user with jabberId! This sender is NOT authorized: %s' % sender) return False
def call(self, sender, log, **kw): log.debug('Zenoss Admin user plugin running with %s' % sender) sender = sender.lower() # remove the resource from the sender if '/' in sender: sender = sender.split('/')[0] adapter = ZenAdapter() if sender == None: return False log.debug('Got a message from %s. Going to look for a Zenoss user to map it to.' % sender) # look through all zenoss users until we find one with the sender's JabberID for user in adapter.userSettings(): try: jabberProperty = user.getProperty('JabberId').lower() except: jabberProperty = None if jabberProperty == sender: log.debug('JabberID %s maps to the sender: %s. This user is authorized.' % (jabberProperty, sender)) return True log.debug('Unable to find a Zenoss user with jabberId! This sender is NOT authorized: %s' % sender) return False
def call(self, args, log, **kw): log.debug('Users plugin running with arguments %s' % args) # TODO switch this to optparse and make sure help works. adapter = ZenAdapter() users = [] message = 'No Users' haveUser = False for user in adapter.userSettings(): haveUser = True try: jabberId = user.getProperty('JabberId') or 'No JabberId' except AttributeError: jabberId = 'No JabberId' users.append('%s (%s)' % (user.id, jabberId)) if haveUser: message = '\n'.join(users) return message
def call(self, args, xmppAdapter, sender, twxml, log, **kw): log.debug('Modeler plugin running with arguments: %s' % args) adapter = ZenAdapter() opts = self.options() try: (options, arguments) = opts.parse_args(args) log.debug( 'Done parsing arguments. Options are "%s", arguments expanded to %s' % (options, arguments)) except OptionError, message: return str(message)
def call(self, args, log, **kw): log.debug('Data extraction plugin running with arguments %s' % args) opts = self.options() adapter = ZenAdapter() try: (options, arguments) = opts.parse_args(args) log.debug( 'Done parsing arguments. Options are "%s", arguments expanded to %s' % (options, arguments)) except OptionError, message: return str(message)
def call(self, args, log, client, sender, messageType, **kw): log.debug('Modeler plugin running with arguments: %s' % args) adapter = ZenAdapter() opts = self.options() try: (options, arguments) = opts.parse_args(args) log.debug('Done parsing arguments. Options are "%s", arguments expanded to %s' % (options, arguments)) except OptionError, message: client.sendMessage(str(message), sender, messageType) return False
class SetJid(Plugin): name = 'mapuser' capabilities = ['setjid', 'mapuser', 'help'] def call(self, args, sender, log, **kw): log.debug('mapuser plugin running with %s' % args) opts = self.options() # parse the options try: (options, arguments) = opts.parse_args(args) log.debug('Done parsing arguments. Options are "%s", arguments expanded to %s' % (options, arguments)) except OptionError, message: return str(message) if options.zenUser is None or options.jabberId is None: return 'NO. -u and -j are both required.' adapter = ZenAdapter() jabberId = options.jabberId.lower() haveUser = False for user in adapter.userSettings(): if user.id.lower() == options.zenUser.lower(): haveUser = True try: currentId = user.getProperty('JabberId') except AttributeError: currentId = False if currentId: if options.jabberId == currentId.lower(): if options.force: self.mapIds(jabberId, user) return 'This user mapping already looks like this. Forced option was used, so I set it anyway.' else: return 'This user mapping already looks like this.' if '/' in sender: sender = sender.split('/')[0] if currentId.lower() == sender.lower(): if options.force: return 'This is your Zenoss user id, and the mapping is already set correctly. Changing it will prevent you from communicating with me. If you really want to change it, do so from the Zenoss interface or -f.' else: self.mapIds(jabberId, user) return 'This is your Zenoss user id, and the mapping is already set correctly. However, the force option was used, so I set it anyway. Since this will probably break communication with me, you can change it back from the Zope interface.' log.debug('Setting the jabberid mapping property to %s for zenuser %s' % (jabberId, user)) self.mapIds(jabberId, user) break if haveUser: return 'JabberId for this user has been saved. Thanks.' else: return 'Sorry! I Could not find a Zenoss user by the name %s' % options.zenUser
class Events(Plugin): name = 'events' capabilities = ['events', 'issues', 'help'] def call(self, args, log, **kw): log.debug('Event plugin running with %s' % args) opts = self.options() # parse the options try: (options, arguments) = opts.parse_args(args) log.debug( 'Done parsing arguments. Options are "%s", arguments expanded to %s' % (options, arguments)) except OptionError, message: return str(message) adapter = ZenAdapter() if options.acked: log.debug('Looking for Acknowledged events') message = 'Acknowledged Events\n' events = adapter.acknowledgedEvents() else: message = 'Current Events\n' events = adapter.newEvents() if options.device: devices = adapter.devices(options.device) if len(devices) == 0: return 'Cannot find a device, ip or mac named "%s"' % options.device deviceIds = [device.id for device in devices] print 'Found %d devices machting %s' % (len(devices), devices) events = filter(lambda event: event.device in deviceIds, events) if len(events) == 0: return 'Congratulations. No events!' for event in events: if event.component: message += '%s %s (%s): (id:%s)\n' % ( event.device, event.component, event.summary, event.evid) else: message += '%s: %s (id:%s)\n' % (event.device, event.summary, event.evid) return message
# parse the options try: (options, arguments) = opts.parse_args(args) log.debug( 'Done parsing arguments. Options are "%s", arguments expanded to %s' % (options, arguments)) except OptionError, message: client.sendMessage(str(message), sender, messageType) return False except TypeError: client.sendMessage('Unknown option, use -h for help', sender, messageType) return False adapter = ZenAdapter() if options.acked: log.debug('Looking for Acknowledged events') message = 'Acknowledged Events\n' events = adapter.acknowledgedEvents() else: message = 'Current Events\n' events = adapter.newEvents() if options.device: devices = adapter.devices(options.device) if len(devices) == 0: message = 'Cannot find a device, ip or mac named "%s"' % options.device client.sendMessage(message, sender, messageType) return False deviceIds = [device.id for device in devices]
log.debug('Event plugin running with %s' % args) opts = self.options() # parse the options try: (options, arguments) = opts.parse_args(args) log.debug('Done parsing arguments. Options are "%s", arguments expanded to %s' % (options, arguments)) except OptionError, message: client.sendMessage(str(message), sender, messageType) return False except TypeError: client.sendMessage('Unknown option, use -h for help', sender, messageType) return False adapter = ZenAdapter() if options.acked: log.debug('Looking for Acknowledged events') message = 'Acknowledged Events\n' events = adapter.acknowledgedEvents() else: message = 'Current Events\n' events = adapter.newEvents() if options.device: devices = adapter.devices(options.device) if len(devices) == 0: message = 'Cannot find a device, ip or mac named "%s"' % options.device client.sendMessage(message, sender, messageType) return False deviceIds = [device.id for device in devices]