diff --git a/library/Director/Cli/Command.php b/library/Director/Cli/Command.php index b010c1da..34cbbaa9 100644 --- a/library/Director/Cli/Command.php +++ b/library/Director/Cli/Command.php @@ -4,11 +4,29 @@ namespace Icinga\Module\Director\Cli; use Icinga\Cli\Command as CliCommand; use Icinga\Module\Director\Db; +use Icinga\Module\Director\Objects\IcingaEndpoint; class Command extends CliCommand { protected $db; + private $api; + + protected function api($endpointName = null) + { + if ($this->api === null) { + if ($endpointName === null) { + $endpoint = $this->db()->getDeploymentEndpoint(); + } else { + $endpoint = IcingaEndpoint::load($endpointName, $this->db()); + } + + $this->api = $endpoint->api(); + } + + return $this->api; + } + protected function db() { if ($this->db === null) {