code: def get_alignak_configuration(self, section=SECTION_CONFIGURATION,
                                    legacy_cfg=False, macros=False):
          
          configuration = self._search_sections(section)
          if section not in configuration:
              return []
          for prop, _ in list(configuration[section].items()):
              # Only legacy configuration items
              if legacy_cfg:
                  if not prop.startswith('cfg'):
                      configuration[section].pop(prop)
                  continue
              # Only macro definitions
              if macros:
                  if not prop.startswith('_') and not prop.startswith('$'):
                      configuration[section].pop(prop)
                  continue
              # All values except legacy configuration and macros
              if prop.startswith('cfg') or prop.startswith('_') or prop.startswith('$'):
                  configuration[section].pop(prop)
  
          return configuration[section]
docs: Get the Alignak configuration parameters. All the variables included in
          the SECTION_CONFIGURATION section except the variables starting with 'cfg'
          and the macros.
  
          If `lecagy_cfg` is True, this function only returns the variables included in
          the SECTION_CONFIGURATION section except the variables starting with 'cfg'
  
          If `macros` is True, this function only returns the variables included in
          the SECTION_CONFIGURATION section that are considered as macros
  
          :param section: name of the sectio nto search for
          :type section: str
          :param legacy_cfg: only get the legacy cfg declarations
          :type legacy_cfg: bool
          :param macros: only get the macros declarations
          :type macros: bool
          :return: a dict containing the Alignak configuration parameters