def get_alignak_configuration(self, section=SECTION_CONFIGURATION,
                                  legacy_cfg=False, macros=False):
        """
        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
        """
        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]
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