Abstract Plugin API

class zambeze.orchestration.plugin_modules.abstract_plugin.Plugin(name: str, logger: Logger | None = None)

Abstract base class for ensuring that all registered plugins have the same interface.

Parameters:
  • name – The name.

  • logger – The logger where to log information/warning or errors.

abstract check(arguments: list[dict]) list[dict]

Check if the proposed arguments can be executed by this instance.

Parameters:

arguments – Arguments are checked to ensure their types and formats are valid.

Returns:

  • List of actions that are valid. Valid actions are True, invalid ones

  • are False, along with a message.

abstract configure(config: dict) None

Configure this set up the plugin.

abstract property info: dict

This method is to be used after configuration step and will return information about the plugin such as configuration settings and defaults.

property name: str

Name of the plugin, should be lower case.

Return type:

Name of the plugin.

abstract process(arguments: list[dict]) dict

Will run the plugin with the provided arguments.