On 15/07/15 08:04, "icinga-users on behalf of Michael Friedrich" 
<[email protected] on behalf of 
[email protected]> wrote:

>
>
>Sent from my iphone w/ free typos.
>
>> Am 14.07.2015 um 23:42 schrieb Seth Galitzer <[email protected]>:
>>
>> I want to be able to assign a service to a host that may be in one of 
>> several groups among its list of groups. So if host "A" is in groups "foo" 
>> and "bar" and service "check_foo" is assigned to hosts that are members of 
>> the groups "foo" and "baz", then host "A" should run service "check_foo". 
>> What would be the correct syntax for this case?
>>
>> I have the following and it obviously is incorrect:
>>
>> object Host "A" {
>>  groups += [ "foo", "bar" ]
>> }
>>
>> apply Service "check_foo" {
>>  assign where host.groups in [ "foo", "baz" ]
>> }
>
>How about apply for? (Untested)
>
>apply Service "bla" for (hg in host.groups) {
>
>  assign where hg in [ "a", "b" ]
>}

That’s going to break if your host is in more than one of the groups you’re 
checking for (because in that case you’re trying to create two „bla“ services).

>
>A different approach would be intersection checking the array length.
>
>http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/library-reference#global-functions
>
>apply Service"bla" {
>
>  var match = [ "a", "b" ]
>  var arr = intersection(host.groups, match)
>
>  assign where arr.len() > 0
>
>}

That’s not going to work because ‚assign where‘ and ‚ignore where’ statements 
are evaluated _before_ all other statements. This should work though:

apply Service "bla" {
  assign where {
    var match = [ "a", "b" ]
    var arr = intersection(host.groups, match)
    return arr.len() > 0
  }
}



>
>Kind regards,
>Michael
>
>>
>> I need the correct way to say "assign where <any list member of host.groups 
>> that matches any member of this list>".
>>
>> I hope that makes sense. Anybody have any suggestions? Do I need to do this 
>> in the apply statement somehow to loop through members of host.groups? Or is 
>> there a better way?
>>
>> Thanks.
>> Seth
>>
>> --
>> Seth Galitzer
>> Systems Coordinator
>> Computing and Information Sciences
>> Kansas State University
>> http://www.cis.ksu.edu/~sgsax
>> [email protected]
>> 785-532-7790
>> _______________________________________________
>> icinga-users mailing list
>> [email protected]
>> https://lists.icinga.org/mailman/listinfo/icinga-users
>
>-- 
>Michael Friedrich, DI (FH)
>Application Developer
>
>NETWAYS GmbH | Deutschherrnstr. 15-19 | D-90429 Nuernberg
>Tel: +49 911 92885-0 | Fax: +49 911 92885-77
>GF: Julian Hein, Bernd Erk | AG Nuernberg HRB18461
>http://www.netways.de | [email protected]
>
>** OSBConf 2015 - September - osbconf.org **
>** OSMC 2015 - November - netways.de/osmc **
>_______________________________________________
>icinga-users mailing list
>[email protected]
>https://lists.icinga.org/mailman/listinfo/icinga-users

-- 
Gunnar Beutner
Application Developer

NETWAYS GmbH | Deutschherrnstr. 15-19 | D-90429 Nuernberg
Tel: +49 911 92885-0 | Fax: +49 911 92885-77
GF: Julian Hein, Bernd Erk | AG Nuernberg HRB18461
http://www.netways.de | [email protected]

** OSBConf 2015 - September - osbconf.org **
** OSMC 2015 - November - netways.de/osmc **
_______________________________________________
icinga-users mailing list
[email protected]
https://lists.icinga.org/mailman/listinfo/icinga-users

Reply via email to