diff --git a/dashboard/api/windc.py b/dashboard/api/windc.py index e0407eb..416ea45 100644 --- a/dashboard/api/windc.py +++ b/dashboard/api/windc.py @@ -49,8 +49,8 @@ def datacenters_delete(request, datacenter_id): def datacenters_get(request, datacenter_id): return windcclient(request).datacenters.get(datacenter_id) -def datacenters_list(request): - return windcclient(request).datacenters.list() +def datacenters_list(request, datacenter_id): + return windcclient(request).datacenters.list(datacenter_id) def services_create(request, datacenter, parameters): name = parameters.get('name', '') diff --git a/dashboard/windcclient/v1/client.py b/dashboard/windcclient/v1/client.py index eaf8a2a..3928773 100644 --- a/dashboard/windcclient/v1/client.py +++ b/dashboard/windcclient/v1/client.py @@ -17,7 +17,7 @@ from windcclient.common import client from . import datacenters -from . import dcservices +from . import services class Client(object): @@ -26,4 +26,4 @@ class Client(object): def __init__(self, **kwargs): self.client = client.HTTPClient(**kwargs) self.datacenters = datacenters.DCManager(self) - self.services = dcservices.DCServiceManager(self) + self.services = services.DCServiceManager(self) diff --git a/dashboard/windcclient/v1/services.py b/dashboard/windcclient/v1/services.py new file mode 100644 index 0000000..a0fda7f --- /dev/null +++ b/dashboard/windcclient/v1/services.py @@ -0,0 +1,46 @@ +# Copyright 2012 OpenStack LLC. +# All Rights Reserved +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +from windcclient.common import base + + +class Service(base.Resource): + """Represent load balancer device instance.""" + + def __repr__(self): + return "" % self._info + + +class DCServiceManager(base.Manager): + resource_class = DC + + def list(self, datacenter): + return self._list('/datacenters/%s' % base.getid(datacenter), 'datacenters') + + def create(self, datacenter, service, **extra): + body = {'name': name,} + body.update(extra) + return self._create('/datacenters/%s/services' % base.getid(datacenter), + body, 'service') + + def delete(self, datacenter, service): + return self._delete("/datacenters/%s/services/%s" % [base.getid(datacenter), + base.getid(service)]) + + def get(self, datacenter, service): + return self._get("/datacenters/%s/services/%s" % [base.getid(datacenter),base.getid(service)], + 'service')