object UserGroup "on-call_sms" { display_name = "On-Call Support (with SMS)" } % for username, config in sorted(node.metadata.get('icinga2/icinga_users', {}).items()): object User "${username}" { display_name = "${username}" enable_notifications = true period = "24x7" % if not config['is_admin']: states = [ OK, Warning, Critical, Up, Down ] types = [ Problem, Recovery ] % endif % if config['is_admin'] and (config['email'] or config['phone']): groups = [ "on-call_sms" ] % endif email = "${config['email']}" vars.mobile = "${config['phone']}" } % endfor