def remove_check(self, check):
        if isinstance(check, Check):
            self.__checks.remove(check)

        elif isinstance(check, str):
            check = ConfigBuilder.get_check(check)
            self.__checks.remove(check)

        return self
    def create(id: str, force_create: bool = False) -> T:
        ValueChecker.validate_id(id)

        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = Check(id, 'Check', 'check')
            ConfigBuilder.add_check(id, check)

        return check
    def set_check(self: T, check):
        if isinstance(check, str):
            check = ConfigBuilder.get_check(check)
            if None is check:
                raise Exception('Check does not exist yet!')
            self.__parent_service_name = check
        elif callable(getattr(check, 'get_id', None)):
            return self.set_check(check.get_id())
        else:
            raise Exception('Can only add Check or id of Check!')

        return self
    def create(id: str, force_create: bool = False) -> T:
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckMemory(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckMemory):
            raise Exception('Id must be for an instance of CheckMemory but other instance is returned')

        if None is ConfigBuilder.get_command('monitoring_plugins_snmp_ucd_snmp_mib_memory'):
            MemoryCommand.create('monitoring_plugins_snmp_ucd_snmp_mib_memory')

        return check
    def create(id: str, force_create: bool = False) -> CheckSynologyStatus:
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckSynologyStatus(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckSynologyStatus):
            raise Exception('Id must be for an instance of CheckSynologyStatus but other instance is returned')

        if None is ConfigBuilder.get_command('other_synology_status'):
            SynologyStatusCommand.create('other_synology_status')

        return check
    def create(id: str, force_create: bool = False) -> T:
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckBatteryBadBatteryPacks(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckBatteryBadBatteryPacks):
            raise Exception('Id must be for an instance of CheckBatteryBadBatteryPacks but other instance is returned')

        if None is ConfigBuilder.get_command('monitoring_plugins_snmp_powernet_mib_battery_bad_battery_packs'):
            BatteryBadBatteryPacksCommand.create('monitoring_plugins_snmp_powernet_mib_battery_bad_battery_packs')

        return check
    def create(id: str, force_create: bool = False):
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckDNSSECExpire(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckDNSSECExpire):
            raise Exception('Id must be for an instance of CheckDNSSECExpire but other instance is returned')

        if None is ConfigBuilder.get_command('monitoring_plugins_dnssec_expiry'):
            DNSSECExpireCommand.create('monitoring_plugins_dnssec_expiry')

        return check
示例#8
0
    def create(id: str, force_create: bool = False):
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckDenyTlsVersion(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckDenyTlsVersion):
            raise Exception('Id must be for an instance of CheckDenyTlsVersion but other instance is returned')

        if None is ConfigBuilder.get_command('monitoring_plugins_deny_tls_version'):
            DenyTlsVersionCommand.create('monitoring_plugins_deny_tls_version')

        return check
    def create(id: str, force_create: bool = False) -> T:
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckGPUInfo(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckGPUInfo):
            raise Exception('Id must be for an instance of CheckGPUInfo but other instance is returned')

        if None is ConfigBuilder.get_command('monitoring_plugins_snmp_synology_gpu_info'):
            GPUInfoCommand.create('monitoring_plugins_snmp_synology_gpu_info')

        return check
示例#10
0
    def create(id: str, force_create: bool = False):
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckDummy(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckDummy):
            raise Exception('Id must be for an instance of CheckDummy but other instance is returned')

        if None is ConfigBuilder.get_command('nagios_plugins_dummy'):
            DummyCommand.create('nagios_plugins_dummy')

        return check
    def add_check(self, check):
        if isinstance(check, Check):
            if check not in self.__checks:
                self.__checks.append(check)

        elif isinstance(check, str):
            check = ConfigBuilder.get_check(check)
            if None is check:
                raise Exception('Check does not exist yet!')
            self.add_check(check)
        else:
            raise Exception('Can only add Check or id of Check!')

        return self
示例#12
0
    def create(id: str, force_create: bool = False) -> CheckStorcenter:
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckStorcenter(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckStorcenter):
            raise Exception(
                'Id must be for an instance of CheckStorecnter but other instance is returned'
            )

        if None is ConfigBuilder.get_command('claudio_kuenzler_storcenter'):
            StorcenterCommand.create('claudio_kuenzler_storcenter')

        return check
示例#13
0
    def create(id: str, force_create: bool = False) -> CheckESXIHardware:
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckESXIHardware(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckESXIHardware):
            raise Exception(
                'Id must be for an instance of CheckESXIHardware but other instance is returned'
            )

        if None is ConfigBuilder.get_command('claudio_kuenzler_esxi_hardware'):
            ESXIHardwareCommand.create('claudio_kuenzler_esxi_hardware')

        return check
示例#14
0
    def create(id: str, force_create: bool = False):
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckOpenPorts(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckOpenPorts):
            raise Exception(
                'Id must be for an instance of CheckOpenPorts but other instance is returned'
            )

        if None is ConfigBuilder.get_command('monitoring_plugins_open_ports'):
            OpenPortsCommand.create('monitoring_plugins_open_ports')

        return check
    def create(id: str, force_create: bool = False):
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckDS18B20(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckDS18B20):
            raise Exception(
                'Id must be for an instance of CheckDS18B20 but other instance is returned'
            )

        if None is ConfigBuilder.get_command(
                'monitoring_plugins_sensor_ds18b20'):
            DS18B20Command.create('monitoring_plugins_sensor_ds18b20')

        return check
示例#16
0
    def create(id: str, force_create: bool = False):
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckDisk(id) \
                .add_service_group(ServiceGroup.create('disk').set_display_name('Disk'))
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckDisk):
            raise Exception(
                'Id must be for an instance of CheckDisk but other instance is returned'
            )

        if None is ConfigBuilder.get_command('nagios_plugins_disk'):
            DiskCommand.create('nagios_plugins_disk')

        return check
    def create(id: str, force_create: bool = False) -> T:
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckDiagnosticTestResult(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckDiagnosticTestResult):
            raise Exception(
                'Id must be for an instance of CheckDiagnosticTestResult but other instance is returned'
            )

        if None is ConfigBuilder.get_command(
                'monitoring_plugins_snmp_powernet_mib_diagnostic_test_result'):
            DiagnosticTestResultCommand.create(
                'monitoring_plugins_snmp_powernet_mib_diagnostic_test_result')

        return check
示例#18
0
    def create(id: str, force_create: bool = False) -> T:
        ValueChecker.validate_id(id)
        check = None if force_create else ConfigBuilder.get_check(id)
        if None is check:
            check = CheckProxyRequests(id)
            ConfigBuilder.add_check(id, check)
        elif not isinstance(check, CheckProxyRequests):
            raise Exception(
                'Id must be for an instance of CheckProxyRequests but other instance is returned'
            )

        if None is ConfigBuilder.get_command(
                'monitoring_plugins_webserver_apache2_proxy_requests'):
            ProxyRequestsCommand.create(
                'monitoring_plugins_webserver_apache2_proxy_requests')

        return check
示例#19
0
 def test_can_get_instance_from_config_builder(self):
     instance = self.create_instance()
     assert instance == ConfigBuilder.get_check('instance')
示例#20
0
 def get_default_access_check(self, service_baseid, server, domain):
     base_id = service_baseid + '_' + server.get_id() + '_' + ValueMapper.canonicalize_for_id(domain)
     return {
         'ipv4': ConfigBuilder.get_check('web_access_default_ipv4_' + base_id),
         'ipv6': ConfigBuilder.get_check('web_access_default_ipv6_' + base_id)
     }