mirror of
https://github.com/Icinga/icingaweb2-module-director.git
synced 2025-07-30 09:14:09 +02:00
IcingaArguments: clarify reason for missing DSL...
...in External Commands imported via Icinga 2 API fixes #2557
This commit is contained in:
parent
fe3d5c7076
commit
05d7e137c2
@ -11,6 +11,8 @@ use Iterator;
|
|||||||
|
|
||||||
class IcingaArguments implements Iterator, Countable, IcingaConfigRenderer
|
class IcingaArguments implements Iterator, Countable, IcingaConfigRenderer
|
||||||
{
|
{
|
||||||
|
const COMMENT_DSL_UNSUPPORTED = '/* Icinga 2 does not export DSL function bodies via API */';
|
||||||
|
|
||||||
/** @var IcingaCommandArgument[] */
|
/** @var IcingaCommandArgument[] */
|
||||||
protected $storedArguments = [];
|
protected $storedArguments = [];
|
||||||
|
|
||||||
@ -153,7 +155,7 @@ class IcingaArguments implements Iterator, Countable, IcingaConfigRenderer
|
|||||||
if (property_exists($value, 'type')) {
|
if (property_exists($value, 'type')) {
|
||||||
// argument is directly set as function, no further properties
|
// argument is directly set as function, no further properties
|
||||||
if ($value->type === 'Function') {
|
if ($value->type === 'Function') {
|
||||||
$attrs['argument_value'] = '/* Unable to fetch function body through API */';
|
$attrs['argument_value'] = self::COMMENT_DSL_UNSUPPORTED;
|
||||||
$attrs['argument_format'] = 'expression';
|
$attrs['argument_format'] = 'expression';
|
||||||
}
|
}
|
||||||
} elseif (property_exists($value, 'value')) {
|
} elseif (property_exists($value, 'value')) {
|
||||||
@ -164,7 +166,7 @@ class IcingaArguments implements Iterator, Countable, IcingaConfigRenderer
|
|||||||
$attrs['argument_value'] = $value->value->body;
|
$attrs['argument_value'] = $value->value->body;
|
||||||
$attrs['argument_format'] = 'expression';
|
$attrs['argument_format'] = 'expression';
|
||||||
} elseif ($value->value->type === 'Function') {
|
} elseif ($value->value->type === 'Function') {
|
||||||
$attrs['argument_value'] = '/* Unable to fetch function body through API */';
|
$attrs['argument_value'] = self::COMMENT_DSL_UNSUPPORTED;
|
||||||
$attrs['argument_format'] = 'expression';
|
$attrs['argument_format'] = 'expression';
|
||||||
} else {
|
} else {
|
||||||
die('Unable to resolve command argument');
|
die('Unable to resolve command argument');
|
||||||
@ -192,7 +194,7 @@ class IcingaArguments implements Iterator, Countable, IcingaConfigRenderer
|
|||||||
|
|
||||||
if (array_key_exists('set_if', $attrs)) {
|
if (array_key_exists('set_if', $attrs)) {
|
||||||
if (is_object($attrs['set_if']) && $attrs['set_if']->type === 'Function') {
|
if (is_object($attrs['set_if']) && $attrs['set_if']->type === 'Function') {
|
||||||
$attrs['set_if'] = '/* Unable to fetch function body through API */';
|
$attrs['set_if'] = self::COMMENT_DSL_UNSUPPORTED;
|
||||||
$attrs['set_if_format'] = 'expression';
|
$attrs['set_if_format'] = 'expression';
|
||||||
} elseif (property_exists($value, 'set_if_format')) {
|
} elseif (property_exists($value, 'set_if_format')) {
|
||||||
if (in_array($value->set_if_format, ['string', 'expression', 'json'])) {
|
if (in_array($value->set_if_format, ['string', 'expression', 'json'])) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user