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;
|
namespace Icinga\Module\Director\Objects;
|
||||||
|
|
||||||
|
use Icinga\Module\Director\Core\CoreApi;
|
||||||
|
use Icinga\Module\Director\Core\RestApiClient;
|
||||||
|
|
||||||
class IcingaEndpoint extends IcingaObject
|
class IcingaEndpoint extends IcingaObject
|
||||||
{
|
{
|
||||||
protected $table = 'icinga_endpoint';
|
protected $table = 'icinga_endpoint';
|
||||||
|
@ -25,6 +28,36 @@ class IcingaEndpoint extends IcingaObject
|
||||||
'apiuser' => 'IcingaApiUser',
|
'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()
|
protected function renderLog_duration()
|
||||||
{
|
{
|
||||||
return $this->renderPropertyAsSeconds('log_duration');
|
return $this->renderPropertyAsSeconds('log_duration');
|
||||||
|
|
Loading…
Reference in New Issue