diff --git a/ovmclient/__init__.py b/ovmclient/__init__.py index 4e96f0a..100e9b2 100644 --- a/ovmclient/__init__.py +++ b/ovmclient/__init__.py @@ -71,6 +71,10 @@ def server_networks(self, server_id): def server_pools(self): return ServerPoolManager(self._conn) + @property + def resource_groups(self): + return ResourceGroupManager(self._conn) + def server_repository_exports(self, server_id): return RepositoryExportManager(self._conn, server_id) @@ -196,6 +200,23 @@ def remove_server(self, id, server_id): return self._action(id, "removeServer", data=server_id) +class ResourceGroupManager(base.BaseManager): + def __init__(self, conn): + super(ResourceGroupManager, self).__init__(conn, "ResourceGroup") + + def get_resource_ids(self, id): + return self._conn.get("ResourceGroup/%s/resource/id" % + self._get_id_value(id)) + + def add_resource(self, id, resource_id): + # resource_id is in simpleId format + return self._action(id, "addResource", data=resource_id) + + def remove_resource(self, id, resource_id): + # resource_id is in simpleId format + return self._action(id, "removeResource", data=resource_id) + + class VirtualDiskManager(base.BaseManager): def __init__(self, conn, repository_id=None): if repository_id: