def edit_process_monitor(**kwargs): ''' Edit the specified process monitor ''' required = ['testId'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='editProcessMonitor', **req_args)
def add_page_module(**kwargs): ''' Add a module to the specified page. ''' required = ['moduleName', 'pageId', 'column', 'row', 'dataModuleId'] optional = ['height'] req_args = validate_kwargs(required, optional, **kwargs) return post(action='addPageModule', **req_args)
def add_load_average_monitor(**kwargs): ''' Add a new internal load monitor ''' required = ['agentkey'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='addLoadAverageMonitor', **req_args)
def edit_load_average_monitor(**kwargs): ''' Edit the specified load monitor ''' required = ['testId'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='editLoadAverageMonitor', **req_args)
def confirm_contact(**kwargs): ''' Confirm the specified contact ''' required = ['contactId', 'confirmationKey'] optional = [] post_args = validate_kwargs(required, optional, **kwargs) return post(action='confirmContact', **post_args)
def edit_internal_http_monitor(**kwargs): ''' Edit the specified http monitor ''' required = ['testId', 'urlParams'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='editInternalHttpMonitor', **req_args)
def add_process_monitor(**kwargs): ''' Add a new internal process monitor ''' required = ['agentkey', 'processName'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='addProcessMonitor', **req_args)
def add_load_average_monitor(**kwargs): """ Add a new internal load monitor """ required = ["agentkey"] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action="addLoadAverageMonitor", **req_args)
def add_drive_monitor(**kwargs): ''' Add a new internal drive monitor ''' required = ['agentkey', 'driveLetter'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='addDriveMonitor', **req_args)
def edit_internal_ping_monitor(**kwargs): ''' Edit the specified Ping monitor ''' required = ['testId'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='editInternalPingMonitor', **req_args)
def edit_memory_monitor(**kwargs): """ Edit the specified memory monitor """ required = ["testId"] required.extend(common_required) optional = ["freeLimit", "freeSwapLimit", "freeVirtualLimit", "bufferedLimit", "cachedLimit"] req_args = validate_kwargs(required, optional, **kwargs) return post(action="editMemoryMonitor", **req_args)
def add_internal_ping_monitor(**kwargs): ''' Add a new internal ping monitor ''' required = ['userAgentId', 'url'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='addInternalPingMonitor', **req_args)
def add_memory_monitor(**kwargs): """ Add a new internal memory monitor """ required = ["agentkey"] required.extend(common_required) optional = ["freeLimit", "freeSwapLimit", "freeVirtualLimit", "bufferedLimit", "cachedLimit"] req_args = validate_kwargs(required, optional, **kwargs) return post(action="addMemoryMonitor", **req_args)
def get_notification_rules(**kwargs): ''' Get list of existing notification rules for the specified monitor ''' required = ['monitorId', 'monitorType'] optional = [] get_args = validate_kwargs(required, optional, **kwargs) return get(action='getNotificationRules', **get_args)
def add_notification_rule(**kwargs): ''' Add a notification rule for monitor - contact pair ''' required = ['monitorId', 'monitorType', 'period', 'notifyBackup', 'continuousAlerts', 'failureCount'] optional = ['weekdayFrom', 'weekdayTo', 'timeFrom', 'timeTo', 'contactGroup', 'contactId', 'minFailedLocationCount', 'paramName', 'paramValue', 'comparingMethod'] post_args = validate_kwargs(required, optional, **kwargs) # paramName and paramValue are required when monitorType is custom if post_args.get('monitorType', None) is 'custom': if not (post_args.has_key('paramName') \ and post_args.has_key('paramValue')): raise MonitisError('paramName and paramValue are required') # comparingMethod is required when paramName and paramValue are present if post_args.has_key('paramName') or post_args.has_key('paramValue'): if not post_args.has_key('comparingMethod'): raise MonitisError('comparingMethod is required') # either contact_group or contact_id must be specified if not (post_args.has_key('contactGroup') \ or post_args.has_key('contactId')): raise MonitisError('Either contactName or contactGroup is required') return post(action='addNotificationRule', **post_args)
def edit_load_average_monitor(**kwargs): """ Edit the specified load monitor """ required = ["testId"] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action="editLoadAverageMonitor", **req_args)
def delete_cpu_monitors(**kwargs): ''' Delete the specified CPU monitors ''' required = ['testIds'] optional = [] req_args = validate_kwargs(required, optional, **kwargs) req_args['type'] = 7 # 7 is the type ID for CPU monitors return delete_internal_monitors(**req_args)
def agent_info(**kwargs): ''' Get information for the specified agent ''' required = {'agent_id': 'agentId'} optional = {} req_args = validate_kwargs(required, optional, **kwargs) return get(action='agentInfo', **req_args)
def get_jobs(**kwargs): ''' Get jobs for the specified custom agent ''' required = {'agent_id': 'agentId'} optional = {} req_args = validate_kwargs(required, optional, **kwargs) return get(action='getJobs', **req_args)
def activate_full_page_load_monitor(**kwargs): ''' Activate full page load monitors ''' required = [] optional = ['monitorIds', 'tag'] req_args = validate_kwargs(required, optional, **kwargs) return post(action='activateFullPageLoadMonitor', **req_args)
def add_agent(**kwargs): ''' Register a new custom agent in Monitis ''' required = {'name': 'name'} optional = {'params': 'params'} req_args = validate_kwargs(required, optional, **kwargs) return post(action='addAgent', **req_args)
def delete_agent(**kwargs): ''' Delete a custom agent ''' required = {'agent_ids': 'agentIds'} optional = {'delete_monitors': 'deleteMonitors'} req_args = validate_kwargs(required, optional, **kwargs) return post(action='deleteAgent', **req_args)
def transaction_test_result(**kwargs): ''' Get results for the specified Transaction or Full Page Load monitor ''' required = ['monitorId', 'year', 'month', 'day'] optional = ['locationIds', 'timezone'] req_args = validate_kwargs(required, optional, **kwargs) return get(action='transactionTestResult', **req_args)
def delete_job(**kwargs): ''' Delete custom agent jobs ''' required = {'job_ids': 'jobIds'} optional = {} req_args = validate_kwargs(required, optional, **kwargs) return post(action='deleteJob', **req_args)
def delete_agents(**kwargs): ''' Delete agent from user's account ''' required = [] optional = ['agentIds', 'keyRegExp'] req_args = validate_kwargs(required, optional, **kwargs) if not ('agentIds' in req_args or 'keyRegExp' in req_args): raise MonitisError('agent_ids or key_reg_exp is required') return post(action='deleteAgents', **req_args)
def edit_contact(**kwargs): ''' ''' required = ['contactId'] optional = ['firstName', 'lastName', 'account', 'contactType', 'timezone', 'portable', 'code', 'country', 'textType'] post_args = validate_kwargs(required, optional, **kwargs) return post(action='editContact', **post_args)
def edit_agent(**kwargs): ''' Edit an existing custom agent ''' required = {'name': 'name', 'agent_id': 'agentId'} optional = {'params': 'params'} req_args = validate_kwargs(required, optional, **kwargs) return post(action='editAgent', **req_args)
def get_recent_alerts(**kwargs): ''' Get recent alerts history Start date and end date are in miliseconds since the Epoch''' required = [] optional = ['timezone', 'startDate', 'endDate'] post_args = validate_kwargs(required, optional, **kwargs) return get(action='recentAlerts', **post_args)
def add_internal_http_monitor(**kwargs): ''' Add a new internal http monitor ''' required = ['userAgentId', 'url', 'contentMatchFlag', 'loadFull', 'overSSL', 'redirect'] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='addInternalHttpMonitor', **req_args)
def edit_job(**kwargs): ''' Edit an existing custom agent job ''' required = {'job_id': 'jobId'} optional = {'name': 'name', 'type': 'type', 'interval': 'interval', 'params': 'params', 'active_flag': 'activeFlag'} req_args = validate_kwargs(required, optional, **kwargs) return post(action='editJob', **req_args)
def activate_transaction_monitor(**kwargs): ''' Activate transaction monitors ''' required = [] optional = ['monitorIds', 'tag'] req_args = validate_kwargs(required, optional, **kwargs) monitor_ids = req_args.get('monitorIds', None) if isinstance(monitor_ids, list): req_args['monitorIds'] = ','.join(map(str,monitor_ids)) return post(action='activateTransactionMonitor', **req_args)
def transaction_snapshot(**kwargs): ''' Get last results of user's Transaction monitors ''' required = [] optional = ['locationIds'] req_args = validate_kwargs(required, optional, **kwargs) location_ids = req_args.get('locationIds', None) if isinstance(location_ids, list): req_args['locationIds'] = ','.join(map(str,location_ids)) return get(action='transactionSnapshot', **req_args)
def get_agents(**kwargs): ''' Get user's custom agents ''' required = {} optional = {'load_tests': 'loadTests', 'load_params': 'loadParams', 'type': 'type'} req_args = validate_kwargs(required, optional, **kwargs) return get(action='getAgents', **req_args)
def download_agent(**kwargs): ''' Download the agent Returns a raw HTTP Response object instead of parsed JSON ''' required = ['platform'] optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='downloadAgent', _raw=True, **req_args)
def cloud_instances(**kwargs): ''' Get a user's cloud instances Parameters: timezoneoffset - offset relative to GMT, in minutes ''' required = [] optional = ['timezoneoffset'] req_args = validate_kwargs(required, optional, **kwargs) return get(action='cloudInstances', **req_args)
def add_memory_monitor(**kwargs): ''' Add a new internal memory monitor ''' required = ['agentkey'] required.extend(common_required) optional = [ 'freeLimit', 'freeSwapLimit', 'freeVirtualLimit', 'bufferedLimit', 'cachedLimit' ] req_args = validate_kwargs(required, optional, **kwargs) return post(action='addMemoryMonitor', **req_args)
def edit_memory_monitor(**kwargs): ''' Edit the specified memory monitor ''' required = ['testId'] required.extend(common_required) optional = [ 'freeLimit', 'freeSwapLimit', 'freeVirtualLimit', 'bufferedLimit', 'cachedLimit' ] req_args = validate_kwargs(required, optional, **kwargs) return post(action='editMemoryMonitor', **req_args)
def add_internal_http_monitor(**kwargs): ''' Add a new internal http monitor ''' required = [ 'userAgentId', 'url', 'contentMatchFlag', 'loadFull', 'overSSL', 'redirect' ] required.extend(common_required) optional = [] req_args = validate_kwargs(required, optional, **kwargs) return post(action='addInternalHttpMonitor', **req_args)
def delete_full_page_load_monitor(**kwargs): ''' Delete an existing full page load monitor ''' required = ['monitorId'] optional = [] req_args = validate_kwargs(required, optional, **kwargs) monitor_id = req_args['monitorId'] if isinstance(monitor_id, list): req_args['monitorId'] = ','.join(monitor_id) return post(action='deleteFullPageLoadMonitor', **req_args)
def visitor_tracking_info(**kwargs): ''' get information about the specified Visitor Tracker Results are a list, but the order may differ from the docs [siteId, url, name, monitorId], though it isn't entirely clear. ''' required = ['siteId'] optional = [] req_args = validate_kwargs(required, optional, **kwargs) return get(action='visitorTrackingInfo', **req_args)
def delete_external_monitor(**kwargs): ''' Delete one or more external monitors ''' required = ['testIds'] optional = [] req_args = validate_kwargs(required, optional, **kwargs) # if test_ids is a list, make a comma delimited string test_ids = req_args.get('testIds') if type(test_ids) is list: req_args['testIds'] = ','.join(test_ids) return post(action='deleteExternalMonitor', **req_args)