In order to make it even easier to find configuration mistakes we’re going to provide a new tool as part of the upcoming Icinga 2.1 release:

# icinga2-list-objects
Object 'api' of type 'ApiListener':
  * templates = ['api']
    % modified in /etc/icinga2/features-enabled/api.conf, lines 5:1-11:1
  * bind_port = '5665'
    % modified in /etc/icinga2/features-enabled/api.conf, lines 10:3-10:20
  * __name = 'api'
  * ca_path = '/etc/icinga2/pki/ca.crt'
    % modified in /etc/icinga2/features-enabled/api.conf, lines 8:3-8:46
  * cert_path = '/etc/icinga2/pki/'
    % modified in /etc/icinga2/features-enabled/api.conf, lines 6:3-6:62
  * type = 'ApiListener'
  * key_path = '/etc/icinga2/pki/'
    % modified in /etc/icinga2/features-enabled/api.conf, lines 7:3-7:61

The “icinga2-list-objects” tool lists all configuration objects. This includes objects which have been created using “apply” rules and should help with diagnosing whether your rules work as you expect them to.
In addition to the objects we’re also listing all attributes and their values. Icinga 2 also keeps track of where exactly each attribute was modified.