aws_xray_sdk/core/plugins/utils.py (17 lines of code) (raw):
import importlib
from ..exceptions.exceptions import MissingPluginNames
module_prefix = 'aws_xray_sdk.core.plugins.'
PLUGIN_MAPPING = {
'elasticbeanstalkplugin': 'elasticbeanstalk_plugin',
'ec2plugin': 'ec2_plugin',
'ecsplugin': 'ecs_plugin'
}
def get_plugin_modules(plugins):
"""
Get plugin modules from input strings
:param tuple plugins: a tuple of plugin names in str
"""
if not plugins:
raise MissingPluginNames("input plugin names are required")
modules = []
for plugin in plugins:
short_name = PLUGIN_MAPPING.get(plugin.lower(), plugin.lower())
full_path = '%s%s' % (module_prefix, short_name)
modules.append(importlib.import_module(full_path))
return tuple(modules)