|
|
@@ -4,6 +4,8 @@ import logging
|
|
|
import pkgutil
|
|
|
from collections import defaultdict
|
|
|
|
|
|
+from pyeventsystem.middleware import SimpleMiddlewareManager
|
|
|
+
|
|
|
from cloudbridge.cloud import providers
|
|
|
from cloudbridge.cloud.interfaces import CloudProvider
|
|
|
from cloudbridge.cloud.interfaces import TestMockHelperMixin
|
|
|
@@ -27,9 +29,14 @@ class CloudProviderFactory(object):
|
|
|
"""
|
|
|
|
|
|
def __init__(self):
|
|
|
+ self._middleware = SimpleMiddlewareManager()
|
|
|
self.provider_list = defaultdict(dict)
|
|
|
log.debug("Providers List: %s", self.provider_list)
|
|
|
|
|
|
+ @property
|
|
|
+ def middleware(self):
|
|
|
+ return self._middleware
|
|
|
+
|
|
|
def register_provider_class(self, cls):
|
|
|
"""
|
|
|
Registers a provider class with the factory. The class must
|
|
|
@@ -136,7 +143,7 @@ class CloudProviderFactory(object):
|
|
|
'A provider with name {0} could not be'
|
|
|
' found'.format(name))
|
|
|
log.debug("Created '%s' provider", name)
|
|
|
- return provider_class(config)
|
|
|
+ return provider_class(config, self)
|
|
|
|
|
|
def get_provider_class(self, name):
|
|
|
"""
|