Revision 7d368e73 snf-cyclades-app/synnefo/api/floating_ips.py
b/snf-cyclades-app/synnefo/api/floating_ips.py | ||
---|---|---|
46 | 46 |
from logging import getLogger |
47 | 47 |
log = getLogger(__name__) |
48 | 48 |
|
49 |
urlpatterns = patterns( |
|
49 |
ips_urlpatterns = patterns(
|
|
50 | 50 |
'synnefo.api.floating_ips', |
51 | 51 |
(r'^(?:/|.json|.xml)?$', 'demux'), |
52 | 52 |
(r'^/(\w+)(?:.json|.xml)?$', 'floating_ip_demux'), |
53 | 53 |
) |
54 | 54 |
|
55 |
pools_urlpatterns = patterns( |
|
56 |
"synnefo.api.floating_ips", |
|
57 |
(r'^(?:/|.json|.xml)?$', 'list_floating_ip_pools'), |
|
58 |
) |
|
59 |
|
|
55 | 60 |
|
56 | 61 |
def demux(request): |
57 | 62 |
if request.method == 'GET': |
... | ... | |
183 | 188 |
log.info("User '%s' released IP '%s", userid, floating_ip) |
184 | 189 |
|
185 | 190 |
return HttpResponse(status=204) |
191 |
|
|
192 |
|
|
193 |
@api.api_method(http_method='GET', user_required=True, logger=log) |
|
194 |
def list_floating_ip_pools(request): |
|
195 |
networks = Network.objects.filter(public=True, deleted=False) |
|
196 |
pools = [{"name": str(net.id)} for net in networks] |
|
197 |
request.serialization = "json" |
|
198 |
data = json.dumps({"floating_ip_pools": pools}) |
|
199 |
request.serialization = "json" |
|
200 |
return HttpResponse(data, status=200) |
Also available in: Unified diff