IcingaEndpoint: add api user and client helper
This commit is contained in:
parent
7b6747ab67
commit
402b4c31e2
|
@ -2,6 +2,9 @@
|
|||
|
||||
namespace Icinga\Module\Director\Objects;
|
||||
|
||||
use Icinga\Module\Director\Core\CoreApi;
|
||||
use Icinga\Module\Director\Core\RestApiClient;
|
||||
|
||||
class IcingaEndpoint extends IcingaObject
|
||||
{
|
||||
protected $table = 'icinga_endpoint';
|
||||
|
@ -25,6 +28,36 @@ class IcingaEndpoint extends IcingaObject
|
|||
'apiuser' => 'IcingaApiUser',
|
||||
);
|
||||
|
||||
public function hasApiUser()
|
||||
{
|
||||
return $this->getResolvedProperty('apiuser_id') !== null;
|
||||
}
|
||||
|
||||
public function getApiUser()
|
||||
{
|
||||
return $this->getRelatedObject(
|
||||
'apiuser',
|
||||
$this->getResolvedProperty('apiuser_id')
|
||||
);
|
||||
}
|
||||
|
||||
public function api()
|
||||
{
|
||||
$client = new RestApiClient(
|
||||
$this->getResolvedProperty('host'),
|
||||
$this->getResolvedProperty('port')
|
||||
);
|
||||
|
||||
$user = $this->getApiUser();
|
||||
$client->setCredentials(
|
||||
// TODO: $user->client_dn,
|
||||
$user->object_name,
|
||||
$user->password
|
||||
);
|
||||
|
||||
return new CoreApi($client);
|
||||
}
|
||||
|
||||
protected function renderLog_duration()
|
||||
{
|
||||
return $this->renderPropertyAsSeconds('log_duration');
|
||||
|
|
Loading…
Reference in New Issue