mirror of
https://github.com/Icinga/icingaweb2-module-director.git
synced 2025-09-21 17:07:54 +02:00
Rename 'config' to 'value' for items array/dictionary in apply-for-rule
This commit is contained in:
parent
c4201ba49c
commit
a28a508e5e
@ -680,8 +680,8 @@ class IcingaServiceForm extends DirectorObjectForm
|
|||||||
'description' => $this->translate(
|
'description' => $this->translate(
|
||||||
'Evaluates the apply for rule for ' .
|
'Evaluates the apply for rule for ' .
|
||||||
'all objects with the custom attribute specified. ' .
|
'all objects with the custom attribute specified. ' .
|
||||||
'E.g selecting "host.vars.custom_attr" will generate "for (config in ' .
|
'E.g selecting "host.vars.custom_attr" will generate "for (value in ' .
|
||||||
'host.vars.array_var)" where "config" will be accessible through "$config$". ' .
|
'host.vars.array_var)" where "value" will be accessible through "$value$". ' .
|
||||||
'NOTE: only custom variables of type "Array" and "Dictionary" are eligible.'
|
'NOTE: only custom variables of type "Array" and "Dictionary" are eligible.'
|
||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
@ -698,7 +698,7 @@ class IcingaServiceForm extends DirectorObjectForm
|
|||||||
if (! empty($dictionaryKeys)) {
|
if (! empty($dictionaryKeys)) {
|
||||||
$configVariables = new Table();
|
$configVariables = new Table();
|
||||||
foreach ($dictionaryKeys as $label => $key) {
|
foreach ($dictionaryKeys as $label => $key) {
|
||||||
$configVariables->add([$label . ' (' . $key . ')', '=>', '$config.' . $key . '$']);
|
$configVariables->add([$label . ' (' . $key . ')', '=>', '$value.' . $key . '$']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -709,7 +709,7 @@ class IcingaServiceForm extends DirectorObjectForm
|
|||||||
[
|
[
|
||||||
Text::create($this->translate(
|
Text::create($this->translate(
|
||||||
'Nested keys of selected host dictionary variable for apply-for-rule'
|
'Nested keys of selected host dictionary variable for apply-for-rule'
|
||||||
. ' are accessible through config as shown below:'
|
. ' are accessible through value as shown below:'
|
||||||
)),
|
)),
|
||||||
$configVariables
|
$configVariables
|
||||||
]
|
]
|
||||||
|
@ -46,11 +46,12 @@ class CustomVariableString extends CustomVariable
|
|||||||
public function toConfigString($renderExpressions = false)
|
public function toConfigString($renderExpressions = false)
|
||||||
{
|
{
|
||||||
if ($renderExpressions) {
|
if ($renderExpressions) {
|
||||||
$whiteList = ['config'];
|
$whiteList = ['value'];
|
||||||
$value = $this->getValue();
|
$value = $this->getValue();
|
||||||
if (
|
if (
|
||||||
str_starts_with($value, '$')
|
str_starts_with($value, '$')
|
||||||
&& str_ends_with($value, '$')
|
&& str_ends_with($value, '$')
|
||||||
|
&& str_contains($value, 'value.')
|
||||||
) {
|
) {
|
||||||
$whiteList[] = trim($value, '$');
|
$whiteList[] = trim($value, '$');
|
||||||
}
|
}
|
||||||
|
@ -365,7 +365,7 @@ class IcingaService extends IcingaObject implements ExportInterface
|
|||||||
|
|
||||||
if ($this->isApplyRuleforDictionary(substr($this->get('apply_for'), strlen('host.vars.')))) {
|
if ($this->isApplyRuleforDictionary(substr($this->get('apply_for'), strlen('host.vars.')))) {
|
||||||
$applyForConfig = sprintf(
|
$applyForConfig = sprintf(
|
||||||
"%s %s%s for (key => config in %s) {\n",
|
"%s %s%s for (key => value in %s) {\n",
|
||||||
$this->getObjectTypeName(),
|
$this->getObjectTypeName(),
|
||||||
$this->getType(),
|
$this->getType(),
|
||||||
$name,
|
$name,
|
||||||
@ -373,7 +373,7 @@ class IcingaService extends IcingaObject implements ExportInterface
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
$applyForConfig = sprintf(
|
$applyForConfig = sprintf(
|
||||||
"%s %s%s for (config in %s) {\n",
|
"%s %s%s for (value in %s) {\n",
|
||||||
$this->getObjectTypeName(),
|
$this->getObjectTypeName(),
|
||||||
$this->getType(),
|
$this->getType(),
|
||||||
$name,
|
$name,
|
||||||
|
@ -218,7 +218,7 @@ class IcingaServiceTest extends BaseTestCase
|
|||||||
(string) $service
|
(string) $service
|
||||||
);
|
);
|
||||||
|
|
||||||
$service->object_name = '___TEST$config$___service $host.var.bla$';
|
$service->object_name = '___TEST$value$___service $host.var.bla$';
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
$this->loadRendered('service6'),
|
$this->loadRendered('service6'),
|
||||||
(string) $service
|
(string) $service
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apply Service "___TEST___service" for (config in host.vars.test1) {
|
apply Service "___TEST___service" for (value in host.vars.test1) {
|
||||||
display_name = "Whatever service"
|
display_name = "Whatever service"
|
||||||
assign where host.vars.env == "test"
|
assign where host.vars.env == "test"
|
||||||
vars.test1 = "string"
|
vars.test1 = "string"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
apply Service for (config in host.vars.test1) {
|
apply Service for (value in host.vars.test1) {
|
||||||
name = "___TEST" + config + "___service " + host.var.bla
|
name = "___TEST" + value + "___service " + host.var.bla
|
||||||
display_name = "Whatever service"
|
display_name = "Whatever service"
|
||||||
assign where host.vars.env == "test"
|
assign where host.vars.env == "test"
|
||||||
vars.test1 = "string"
|
vars.test1 = "string"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apply Service for (config in host.vars.test1) {
|
apply Service for (value in host.vars.test1) {
|
||||||
display_name = "Whatever service"
|
display_name = "Whatever service"
|
||||||
assign where host.vars.env == "test"
|
assign where host.vars.env == "test"
|
||||||
vars.test1 = "string"
|
vars.test1 = "string"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user