from ucloud.settings import settings from ucloud.common.vm import VmPool from ucloud.common.host import HostPool from ucloud.common.request import RequestPool from ucloud.common.storage_handlers import get_storage_handler class Shared: @property def etcd_client(self): return settings.get_etcd_client() @property def host_pool(self): return HostPool(self.etcd_client, settings['etcd']['host_prefix']) @property def vm_pool(self): return VmPool(self.etcd_client, settings['etcd']['vm_prefix']) @property def request_pool(self): return RequestPool(self.etcd_client, settings['etcd']['request_prefix']) @property def storage_handler(self): return get_storage_handler() shared = Shared()