diff options
| author | Dan Prince <dan.prince@rackspace.com> | 2011-03-18 02:14:36 -0400 |
|---|---|---|
| committer | Dan Prince <dan.prince@rackspace.com> | 2011-03-18 02:14:36 -0400 |
| commit | 1abcdbea89e69013c193d2eb0b4b7a0bc2e2fa58 (patch) | |
| tree | 6656e0ba194ab5de87d1dfdc9435e46af883c23c /nova/compute | |
| parent | 79f2f90feec74b97d55af058c9bec4177bc47a54 (diff) | |
Implement metadata resource for Openstack API v1.1. Includes:
-GET /servers/id/meta
-POST /servers/id/meta
-GET /servers/id/meta/key
-PUT /servers/id/meta/key
-DELETE /servers/id/meta/key
Diffstat (limited to 'nova/compute')
| -rw-r--r-- | nova/compute/api.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index 32577af82..e70817212 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -612,3 +612,18 @@ class API(base.Base): instance = self.get(context, instance_id) self.network_api.associate_floating_ip(context, address, instance['fixed_ip']) + + def get_instance_metadata(self, context, instance_id): + """Get all metadata associated with an instance.""" + rv = self.db.get_instance_metadata(context, instance_id) + return dict(rv.iteritems()) + + def delete_instance_metadata(self, context, instance_id, key): + """Delete the given metadata item""" + self.db.delete_instance_metadata(context, instance_id, key) + + def update_or_create_instance_metadata(self, context, instance_id, + metadata): + """Updates or creates instance metadata""" + self.db.update_or_create_instance_metadata(context, instance_id, + metadata) |
