diff options
| author | omnom62 <omnom62@outlook.com> | 2026-09-10 21:34:40 +1000 |
|---|---|---|
| committer | omnom62 <omnom62@outlook.com> | 2026-09-10 21:34:40 +1000 |
| commit | 26994f87704ef8bd6cf0dc9cee6ce9dfd43f6401 (patch) | |
| tree | f842cc18d6cc811020f179b3a946466d505df295 /plugins/module_utils | |
| parent | 97c43a34bd953a06bfe6c4b010ab79f645bac061 (diff) | |
| download | rest.vyos-26994f87704ef8bd6cf0dc9cee6ce9dfd43f6401.tar.gz rest.vyos-26994f87704ef8bd6cf0dc9cee6ce9dfd43f6401.zip | |
T8989: vyos_vrf module
Diffstat (limited to 'plugins/module_utils')
| -rw-r--r-- | plugins/module_utils/vyos.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/plugins/module_utils/vyos.py b/plugins/module_utils/vyos.py index 92549d6..f7fa966 100644 --- a/plugins/module_utils/vyos.py +++ b/plugins/module_utils/vyos.py @@ -363,3 +363,24 @@ class VyOSModule: return True except VyOSRestError: return False + + +def import_module_plugin(name): + """Import a sibling plugin from plugins/modules/ by name. + + Ansible's AnsiballZ does not add plugins/modules to sys.path, so + collection modules cannot be imported via the standard import system. + This utility resolves the module file relative to this module_utils + directory and loads it with importlib. + """ + import importlib.util + import os + + modules_dir = os.path.normpath( + os.path.join(os.path.dirname(__file__), "..", "modules"), + ) + module_path = os.path.join(modules_dir, "{0}.py".format(name)) + spec = importlib.util.spec_from_file_location(name, module_path) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + return mod |
