# `certbot.interfaces`

Certbot client interfaces.

class `certbot.interfaces.``AccountStorage`

  Bases: `object`

  Accounts storage interface.

  `find_all`()

    Find all accounts.

    Returns: | All found accounts.
    Return type: | list

  `load`(account_id)

    Load an account by its id.

    Raises:

    - .AccountNotFound – if account could not be found
    - .AccountStorageError – if account could not be loaded

  `save`(account, client)

    Save account.

    Raises: | .AccountStorageError – if account could not be saved

class `certbot.interfaces.``GenericUpdater`

  Bases: `object`

  Interface for update types not currently specified by Certbot.

  This class allows plugins to perform types of updates that Certbot hasn’t defined (yet).

  To make use of this interface, the installer should implement the interface methods, and interfaces.GenericUpdater.register(InstallerClass) should be called from the installer code.

  The plugins implementing this enhancement are responsible of handling the saving of configuration checkpoints as well as other calls to interface methods of `interfaces.IInstaller` such as prepare() and restart()

  `generic_updates`(lineage, *args, **kwargs)

    Perform any update types defined by the installer.

    If an installer is a subclass of the class containing this method, this function will always be called when “certbot renew” is run. If the update defined by the installer should be run conditionally, the installer needs to handle checking the conditions itself.

    This method is called once for each lineage.

    Parameters: | lineage (storage.RenewableCert) – Certificate lineage object

class `certbot.interfaces.``RenewDeployer`

  Bases: `object`

  Interface for update types run when a lineage is renewed

  This class allows plugins to perform types of updates that need to run at lineage renewal that Certbot hasn’t defined (yet).

  To make use of this interface, the installer should implement the interface methods, and interfaces.RenewDeployer.register(InstallerClass) should be called from the installer code.

  `renew_deploy`(lineage, *args, **kwargs)

    Perform updates defined by installer when a certificate has been renewed

    If an installer is a subclass of the class containing this method, this function will always be called when a certficate has been renewed by running “certbot renew”. For example if a plugin needs to copy a certificate over, or change configuration based on the new certificate.

    This method is called once for each lineage renewed

    Parameters: | lineage (storage.RenewableCert) – Certificate lineage object