icingadb-web/library/Icingadb/Command/Object/AcknowledgeProblemCommand.php
Alexander A. Klimov 3c8ed68cc6 Upgrade license from GPLv2 to GPLv2+
This was easy because only README.md and doc/01-About.md were redacted manually, everything else via:
git ls-files -z |xargs -0 perl -pi -e 's/Icinga GmbH \| GPLv2/Icinga GmbH | GPLv2+/'

This is legal because we have only merged PRs with label:cla/signed or made by Icinga staff:
https://github.com/Icinga/icingadb-web/pulls?page=1&q=is%3Apr+is%3Aclosed+-label%3Acla%2Fsigned+-author%3Anilmerg

This has no risk for us in people distributing their own version under GPLv3 only.
After all, we won't take their patches anyway, unless they sign our CLA.

This is the cleanest solution for having e.g. these in one address space:

* Icinga Web, GPLv2+
* K8s Web, AGPLv3
* Thirdparty, some LGPLv3 and Apache-2.0

Apropos, K8s Web is even v3-licensed on purpose, to have a stronger protection against cloud ops.
2025-11-21 13:31:24 +01:00

140 lines
2.8 KiB
PHP

<?php
/* Icinga DB Web | (c) 2021 Icinga GmbH | GPLv2+ */
namespace Icinga\Module\Icingadb\Command\Object;
/**
* Acknowledge a host or service problem
*/
class AcknowledgeProblemCommand extends WithCommentCommand
{
/**
* Whether the acknowledgement is sticky
*
* Sticky acknowledgements remain until the host or service recovers. Non-sticky acknowledgements will be
* automatically removed when the host or service state changes.
*
* @var bool
*/
protected $sticky = false;
/**
* Whether to send a notification about the acknowledgement
* @var bool
*/
protected $notify = false;
/**
* Whether the comment associated with the acknowledgement is persistent
*
* Persistent comments are not lost the next time the monitoring host restarts.
*
* @var bool
*/
protected $persistent = false;
/**
* Optional time when the acknowledgement should expire
*
* @var int
*/
protected $expireTime;
/**
* Set whether the acknowledgement is sticky
*
* @param bool $sticky
*
* @return $this
*/
public function setSticky(bool $sticky = true): self
{
$this->sticky = $sticky;
return $this;
}
/**
* Is the acknowledgement sticky?
*
* @return bool
*/
public function getSticky(): bool
{
return $this->sticky;
}
/**
* Set whether to send a notification about the acknowledgement
*
* @param bool $notify
*
* @return $this
*/
public function setNotify(bool $notify = true): self
{
$this->notify = $notify;
return $this;
}
/**
* Get whether to send a notification about the acknowledgement
*
* @return bool
*/
public function getNotify(): bool
{
return $this->notify;
}
/**
* Set whether the comment associated with the acknowledgement is persistent
*
* @param bool $persistent
*
* @return $this
*/
public function setPersistent(bool $persistent = true): self
{
$this->persistent = $persistent;
return $this;
}
/**
* Is the comment associated with the acknowledgement is persistent?
*
* @return bool
*/
public function getPersistent(): bool
{
return $this->persistent;
}
/**
* Set the time when the acknowledgement should expire
*
* @param int $expireTime
*
* @return $this
*/
public function setExpireTime(int $expireTime): self
{
$this->expireTime = $expireTime;
return $this;
}
/**
* Get the time when the acknowledgement should expire
*
* @return ?int
*/
public function getExpireTime()
{
return $this->expireTime;
}
}