def applyconfiguration(<EOL>self, conf=None, paths=None, drivers=None, logger=None,<EOL>targets=None, scope=None, safe=None, besteffort=None,<EOL>callconf=False, keepstate=None, modules=None<EOL>):
result = []<EOL>self.loadmodules(modules=modules)<EOL>modules = []<EOL>if scope is None:<EOL><INDENT>scope = self.scope<EOL><DEDENT>if safe is None:<EOL><INDENT>safe = self.safe<EOL><DEDENT>if besteffort is None:<EOL><INDENT>besteffort = self.besteffort<EOL><DEDENT>if targets is None:<EOL><INDENT>targets = self.targets<EOL><DEDENT>if logger is None:<EOL><INDENT>logger = self.logger<EOL><DEDENT>if keepstate is None:<EOL><INDENT>keepstate = self.keepstate<EOL><DEDENT>conf = self.getconf(<EOL>conf=conf, paths=paths, logger=logger, drivers=drivers,<EOL>modules=modules<EOL>)<EOL>if conf is not None:<EOL><INDENT>conf.resolve(<EOL>configurable=self, scope=scope, safe=safe, besteffort=besteffort<EOL>)<EOL>configured = self.configure(<EOL>conf=conf, targets=targets, callconf=callconf,<EOL>keepstate=keepstate, modules=modules<EOL>)<EOL>result += configured<EOL><DEDENT>return result<EOL>
Apply conf on a destination in those phases:

        1. identify the right driver to use with paths to parse.
        2. for all paths, get conf which matches input conf.
        3. apply parsing rules on path parameters.
        4. fill input conf with resolved parameters.
        5. apply filled conf on targets.

        :param conf: conf from where get conf.
        :type conf: Configuration, Category or Parameter
        :param paths: conf files to parse. If paths is a str, it is
            automatically putted into a list.
        :type paths: list of str
        :param Iterable targets: objects to configure. this targets by default.
        :param dict scope: local variables to use for expression resolution.
        :param bool callconf: if True (False by default), the configuration is
            used in the callable target parameters while calling it.
        :param bool keepstate: if True (default), do not instanciate sub objects
            if they already exist.
        :param list modules: modules to load before configure this configurable.
        :return: configured targets.
        :rtype: list