public function renderToggleInstanceFeature(ToggleInstanceFeatureCommand $command) { switch ($command->getFeature()) { case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_HOST_CHECKS: case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_SERVICE_CHECKS: case ToggleInstanceFeatureCommand::FEATURE_HOST_OBSESSING: case ToggleInstanceFeatureCommand::FEATURE_SERVICE_OBSESSING: case ToggleInstanceFeatureCommand::FEATURE_PASSIVE_HOST_CHECKS: case ToggleInstanceFeatureCommand::FEATURE_PASSIVE_SERVICE_CHECKS: if ($command->getEnabled() === true) { $commandPrefix = 'START'; } else { $commandPrefix = 'STOP'; } break; case ToggleInstanceFeatureCommand::FEATURE_EVENT_HANDLERS: case ToggleInstanceFeatureCommand::FEATURE_FLAP_DETECTION: case ToggleInstanceFeatureCommand::FEATURE_NOTIFICATIONS: case ToggleInstanceFeatureCommand::FEATURE_PERFORMANCE_DATA: if ($command->getEnabled() === true) { $commandPrefix = 'ENABLE'; } else { $commandPrefix = 'DISABLE'; } break; default: throw new InvalidArgumentException($command->getFeature()); } switch ($command->getFeature()) { case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_HOST_CHECKS: $commandString = sprintf('%s_%s', $commandPrefix, 'EXECUTING_HOST_CHECKS'); break; case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_SERVICE_CHECKS: $commandString = sprintf('%s_%s', $commandPrefix, 'EXECUTING_SVC_CHECKS'); break; case ToggleInstanceFeatureCommand::FEATURE_EVENT_HANDLERS: $commandString = sprintf('%s_%s', $commandPrefix, 'EVENT_HANDLERS'); break; case ToggleInstanceFeatureCommand::FEATURE_FLAP_DETECTION: $commandString = sprintf('%s_%s', $commandPrefix, 'FLAP_DETECTION'); break; case ToggleInstanceFeatureCommand::FEATURE_NOTIFICATIONS: $commandString = sprintf('%s_%s', $commandPrefix, 'NOTIFICATIONS'); break; case ToggleInstanceFeatureCommand::FEATURE_HOST_OBSESSING: $commandString = sprintf('%s_%s', $commandPrefix, 'OBSESSING_OVER_HOST_CHECKS'); break; case ToggleInstanceFeatureCommand::FEATURE_SERVICE_OBSESSING: $commandString = sprintf('%s_%s', $commandPrefix, 'OBSESSING_OVER_SVC_CHECKS'); break; case ToggleInstanceFeatureCommand::FEATURE_PASSIVE_HOST_CHECKS: $commandString = sprintf('%s_%s', $commandPrefix, 'ACCEPTING_PASSIVE_HOST_CHECKS'); break; case ToggleInstanceFeatureCommand::FEATURE_PASSIVE_SERVICE_CHECKS: $commandString = sprintf('%s_%s', $commandPrefix, 'ACCEPTING_PASSIVE_SVC_CHECKS'); break; case ToggleInstanceFeatureCommand::FEATURE_PERFORMANCE_DATA: $commandString = sprintf('%s_%s', $commandPrefix, 'PERFORMANCE_DATA'); break; default: throw new InvalidArgumentException($command->getFeature()); } return $commandString; }
public function renderToggleInstanceFeature(ToggleInstanceFeatureCommand $command) { $endpoint = 'objects/icingaapplications/' . $this->getApp(); if ($command->getEnabled() === true) { $enabled = true; } else { $enabled = false; } switch ($command->getFeature()) { case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_HOST_CHECKS: $attr = 'enable_host_checks'; break; case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_SERVICE_CHECKS: $attr = 'enable_service_checks'; break; case ToggleInstanceFeatureCommand::FEATURE_EVENT_HANDLERS: $attr = 'enable_event_handlers'; break; case ToggleInstanceFeatureCommand::FEATURE_FLAP_DETECTION: $attr = 'enable_flapping'; break; case ToggleInstanceFeatureCommand::FEATURE_NOTIFICATIONS: $attr = 'enable_notifications'; break; case ToggleInstanceFeatureCommand::FEATURE_PERFORMANCE_DATA: $attr = 'enable_perfdata'; break; default: throw new InvalidArgumentException($command->getFeature()); } $data = array('attrs' => array($attr => $enabled)); return IcingaApiCommand::create($endpoint, $data); }