kheops.plugin package

Subpackages

Submodules

kheops.plugin.common module

Common libraries for plugins

class kheops.plugin.common.BackendCandidate(path=None, data=None, run=None, status=None)

Bases: object

Represent a backend candidate

class kheops.plugin.common.BackendPlugin(namespace)

Bases: kheops.plugin.common.KheopsItemPlugin

fetch_data(config) list
plugin_kind = 'backend'
schema_prop = {'backend': {}, 'consul': {}, 'file': {}, 'glob': {}, 'http': {}, 'vault': {}}
class kheops.plugin.common.ConfPlugin

Bases: kheops.plugin.common.KheopsListPlugin

plugin_kind = 'conf'
process_list(item_list) list
schema_prop = {'include': {}}
class kheops.plugin.common.KheopsItemPlugin

Bases: kheops.plugin.common.KheopsPlugin

plugin_type = 'item'
process_item(item) list
class kheops.plugin.common.KheopsListPlugin

Bases: kheops.plugin.common.KheopsPlugin

plugin_type = 'list'
process_list(item_list) list
class kheops.plugin.common.KheopsPlugin

Bases: object

plugin_kind = None
plugin_name = None
plugin_type = None
class kheops.plugin.common.OutPlugin

Bases: kheops.plugin.common.KheopsItemPlugin

plugin_kind = 'out'
process_item(item) list
schema_prop = {'_out': {}, 'toml': {}, 'validate': {}}
class kheops.plugin.common.ScopeExtLoop

Bases: object

This Scope Extension allow to loop over a lookup

loop_over(lookups, conf, module_name, var_name='item', callback_context=None, callback=None)
schema_props = {'properties': {'data': {'anyOf': [{'type': 'null'}, {'type': 'string'}, {'type': 'array'}], 'default': None}, 'var': {'default': 'item', 'optional': True, 'type': 'string'}}}
class kheops.plugin.common.ScopePlugin(namespace)

Bases: kheops.plugin.common.KheopsListPlugin

plugin_kind = 'scope'
process_item(item_list) list
schema_prop = {'_scope': [], 'hier_N': {}, 'init': {}, 'loop_N': {}}
class kheops.plugin.common.StrategyPlugin(namespace)

Bases: kheops.plugin.common.KheopsItemPlugin

merge_results(candidates, rule) list
plugin_kind = 'strategy'
schema_prop = {'_strategy': {}, 'first': {}, 'last': {}, 'merge': {}, 'schema': {}, 'smart': {}}