'Applies an enhancement on all domains.
:param list domains: list of ssl_vhosts (as strings)
:param str enhancement: name of enhancement, e.g. ensure-http-header
:param str options: options to enhancement, e.g. Strict-Transport-Security
.. note:: When more `options` are needed, make options a list.
:raises .errors.PluginError: If Enhancement is not supported, or if
there is any other problem with the enhancement.'

def apply_enhancement(self, domains, enhancement, options=None):

    msg = ('We    were    unable    to    set    up    enhancement    %s    for    your    server,    however,    we    successfully    installed    your    certificate.' % enhancement)
    with error_handler.ErrorHandler(self._recovery_routine_with_msg, msg):
        for dom in domains:
            try:
                self.installer.enhance(dom, enhancement, options)
            except errors.PluginEnhancementAlreadyPresent:
                logger.warning('Enhancement    %s    was    already    set.', enhancement)
            except errors.PluginError:
                logger.warning('Unable    to    set    enhancement    %s    for    %s', enhancement, dom)
                raise
        self.installer.save(('Add    enhancement    %s' % enhancement))
