"certbot.plugins.disco"
***********************

Utilities for plugins discovery and selection.

class certbot.plugins.disco.PluginEntryPoint(entry_point)

   Bases: "object"

   Plugin entry point.

   PREFIX_FREE_DISTRIBUTIONS = ['certbot', 'certbot-apache', 'certbot-dns-cloudflare', 'certbot-dns-cloudxns', 'certbot-dns-digitalocean', 'certbot-dns-dnsimple', 'certbot-dns-dnsmadeeasy', 'certbot-dns-gehirn', 'certbot-dns-google', 'certbot-dns-linode', 'certbot-dns-luadns', 'certbot-dns-nsone', 'certbot-dns-ovh', 'certbot-dns-rfc2136', 'certbot-dns-route53', 'certbot-dns-sakuracloud', 'certbot-nginx', 'certbot-postfix']

      Distributions for which prefix will be omitted.

   classmethod entry_point_to_plugin_name(entry_point)

      Unique plugin name for an "entry_point"

   description

      Description of the plugin.

   description_with_name

      Description with name. Handy for UI.

   long_description

      Long description of the plugin.

   hidden

      Should this plugin be hidden from UI?

   ifaces(*ifaces_groups)

      Does plugin implements specified interface groups?

   initialized

      Has the plugin been initialized already?

   init(config=None)

      Memoized plugin initialization.

   verify(ifaces)

      Verify that the plugin conforms to the specified interfaces.

   prepared

      Has the plugin been prepared already?

   prepare()

      Memoized plugin preparation.

   misconfigured

      Is plugin misconfigured?

   problem

      Return the Exception raised during plugin setup, or None if all
      is well

   available

      Is plugin available, i.e. prepared or misconfigured?

class certbot.plugins.disco.PluginsRegistry(plugins)

   Bases: "_abcoll.Mapping"

   Plugins registry.

   classmethod find_all()

      Find plugins using setuptools entry points.

   init(config)

      Initialize all plugins in the registry.

   filter(pred)

      Filter plugins based on predicate.

   visible()

      Filter plugins based on visibility.

   ifaces(*ifaces_groups)

      Filter plugins based on interfaces.

   verify(ifaces)

      Filter plugins based on verification.

   prepare()

      Prepare all plugins in the registry.

   available()

      Filter plugins based on availability.

   find_init(plugin)

      Find an initialized plugin.

      This is particularly useful for finding a name for the plugin
      (although "IPluginFactory.__call__" takes "name" as one of the
      arguments, "IPlugin.name" is not part of the interface):

         # plugin is an instance providing IPlugin, initialized
         # somewhere else in the code
         plugin_registry.find_init(plugin).name

      Returns "None" if "plugin" is not found in the registry.
