summaryrefslogtreecommitdiff
path: root/openstackclient/api
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-10-05 21:53:29 +0000
committerGerrit Code Review <review@openstack.org>2015-10-05 21:53:29 +0000
commit1dc9854ac6873da52121cb40feb38c4fbde68bee (patch)
tree7420b50e6770bf212d2919201814c5489b75e41a /openstackclient/api
parentea54a4db1b5e300d8b9a31749036bc573f215231 (diff)
parenta4483a05137bbd3ed416b6a61687315095ccced7 (diff)
downloadpython-openstackclient-1dc9854ac6873da52121cb40feb38c4fbde68bee.tar.gz
Merge "Add support for updating swift account properties"
Diffstat (limited to 'openstackclient/api')
-rw-r--r--openstackclient/api/object_store_v1.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/openstackclient/api/object_store_v1.py b/openstackclient/api/object_store_v1.py
index c52eeb3a..c817b650 100644
--- a/openstackclient/api/object_store_v1.py
+++ b/openstackclient/api/object_store_v1.py
@@ -386,3 +386,50 @@ class APIv1(api.BaseAPI):
data[key.lower()] = value
return data
+
+ def account_set(
+ self,
+ properties,
+ ):
+ """Set account properties
+
+ :param dict properties:
+ properties to add or update for the account
+ """
+
+ # NOTE(stevemar): As per the API, the headers have to be in the form
+ # of "X-Account-Meta-Book: MobyDick"
+
+ headers = {}
+ for k, v in properties.iteritems():
+ header_name = 'X-Account-Meta-%s' % k
+ headers[header_name] = v
+
+ if headers:
+ # NOTE(stevemar): The URL (first argument) in this case is already
+ # set to the swift account endpoint, because that's how it's
+ # registered in the catalog
+ self.create("", headers=headers)
+
+ def account_unset(
+ self,
+ properties,
+ ):
+ """Unset account properties
+
+ :param dict properties:
+ properties to remove from the account
+ """
+
+ # NOTE(stevemar): As per the API, the headers have to be in the form
+ # of "X-Remove-Account-Meta-Book: x". In the case where metadata is
+ # removed, we can set the value of the header to anything, so it's
+ # set to 'x'
+
+ headers = {}
+ for k in properties:
+ header_name = 'X-Remove-Account-Meta-%s' % k
+ headers[header_name] = "x"
+
+ if headers:
+ self.create("", headers=headers)