dissect.target.plugins.general.config¶
Module Contents¶
Classes¶
Base class for plugins. |
- class dissect.target.plugins.general.config.ConfigurationTreePlugin(target: dissect.target.target.Target, dir_path: str = '/')¶
Bases:
dissect.target.plugin.PluginBase class for plugins.
Plugins can optionally be namespaced by specifying the
__namespace__class attribute. Namespacing results in your plugin needing to be prefixed with this namespace when being called. For example, if your plugin has specifiedtestas namespace and a function calledexample, you must call your plugin withtest.example.A
Pluginclass has the following private class attributes:__namespace____record_descriptors__
With the following two being assigned in
register():__functions____exports__
Additionally, the methods and attributes of
Pluginreceive more private attributes by using decorators.The
export()decorator adds the following private attributes__exported____output__: Set with theexport()decorator.__record__: Set with theexport()decorator.
The
internal()decorator andInternalPluginset the__internal__attribute. Finally.args()decorator sets the__args__attribute.The
alias()decorator populates the__aliases__private attribute ofPluginmethods. Resulting clones of thePluginare populated with the boolean__alias__attribute set toTrue.- Parameters:
target – The
Targetobject to load the plugin for.
- __namespace__ = 'config_tree'¶
Defines the plugin namespace.
- dir_path = '/'¶
- config_fs = None¶
- check_compatible() None¶
Perform a compatibility check with the target.
This function should return
Noneif the plugin is compatible with the current target (self.target). For example, check if a certain file exists. Otherwise it should raise anUnsupportedPluginError.- Raises:
UnsupportedPluginError – If the plugin could not be loaded.
- __call__(path: dissect.target.helpers.fsutil.TargetPath | str | None = None, hint: str | None = None, collapse: bool | collections.abc.Iterable[str] | None = None, collapse_inverse: bool | None = None, separator: tuple[str] | None = None, comment_prefixes: tuple[str] | None = None, as_dict: bool = False) dissect.target.filesystems.config.ConfigurationFilesystem | dissect.target.filesystems.config.ConfigurationEntry | dict¶
Create a configuration entry from a file, or a
ConfigurationFilesystemfrom a directory.If a directory is specified in
path, the other arguments should be provided in thegetcall if needed.- Parameters:
path – The path to either a directory or file.
hint – What kind of parser it should use.
collapse – Whether it should collapse everything or just a certain set of keys.
collapse_inverse – Invert the collapse function to collapse everything but the keys inside
collapse.separator – The separator that should be used for parsing.
comment_prefixes – What is specified as a comment.
as_dict – Return a dictionary instead of an entry.
- get(path: dissect.target.helpers.fsutil.TargetPath | str | None = None, as_dict: bool = False, *args, **kwargs) dissect.target.filesystems.config.ConfigurationFilesystem | dissect.target.filesystems.config.ConfigurationEntry | dict¶