Revision 432fc8c3 api/servers.py
b/api/servers.py | ||
---|---|---|
323 | 323 |
|
324 | 324 |
vm = get_vm(server_id) |
325 | 325 |
metadata = metadata_to_dict(vm) |
326 |
|
|
327 |
if request.serialization == 'xml': |
|
328 |
data = render_to_string('metadata.xml', {'metadata': metadata}) |
|
329 |
else: |
|
330 |
data = json.dumps({'metadata': {'values': metadata}}) |
|
331 |
|
|
332 |
return HttpResponse(data, status=200) |
|
333 |
|
|
326 |
return render_metadata(request, metadata, use_values=True, status=200) |
|
334 | 327 |
|
335 | 328 |
@api_method('POST') |
336 | 329 |
def update_metadata(request, server_id): |
... | ... | |
362 | 355 |
except VirtualMachineMetadata.DoesNotExist: |
363 | 356 |
pass # Ignore non-existent metadata |
364 | 357 |
|
365 |
if request.serialization == 'xml': |
|
366 |
data = render_to_string('servers/metadata.xml', {'metadata': updated}) |
|
367 |
else: |
|
368 |
data = json.dumps({'metadata': updated}) |
|
369 |
return HttpResponse(data, status=201) |
|
358 |
return render_metadata(request, metadata, status=201) |
|
370 | 359 |
|
371 | 360 |
@api_method('GET') |
372 | 361 |
def get_metadata_item(request, server_id, key): |
... | ... | |
379 | 368 |
# overLimit (413) |
380 | 369 |
|
381 | 370 |
meta = get_vm_meta(server_id, key) |
382 |
if request.serialization == 'xml': |
|
383 |
data = render_to_string('meta.xml', {'meta': meta}) |
|
384 |
else: |
|
385 |
data = json.dumps({'meta': {key: meta.meta_value}}) |
|
386 |
return HttpResponse(data, status=200) |
|
371 |
return render_meta(request, meta, status=200) |
|
387 | 372 |
|
388 | 373 |
@api_method('PUT') |
389 | 374 |
def create_metadata_item(request, server_id, key): |
... | ... | |
410 | 395 |
meta, created = VirtualMachineMetadata.objects.get_or_create(meta_key=key, vm=vm) |
411 | 396 |
meta.meta_value = metadict[key] |
412 | 397 |
meta.save() |
413 |
|
|
414 |
if request.serialization == 'xml': |
|
415 |
data = render_to_string('servers/meta.xml', {'meta': meta}) |
|
416 |
else: |
|
417 |
data = json.dumps({'meta': {key: meta.meta_value}}) |
|
418 |
return HttpResponse(data, status=201) |
|
398 |
return render_meta(request, meta, status=201) |
|
419 | 399 |
|
420 | 400 |
@api_method('DELETE') |
421 | 401 |
def delete_metadata_item(request, server_id, key): |
Also available in: Unified diff