def PUT(self, account, name):
"""
Update an existing subscription.
HTTP Success:
201 Created
HTTP Error:
400 Bad Request
401 Unauthorized
404 Not Found
500 Internal Error
"""
json_data = data()
try:
params = loads(json_data)
params = params['options']
except ValueError:
raise generate_http_error(400, 'ValueError', 'Cannot decode json parameter list')
metadata = {}
metadata['filter'] = params.get('filter', None)
metadata['replication_rules'] = params.get('replication_rules', None)
metadata['comments'] = params.get('comments', None)
metadata['lifetime'] = params.get('lifetime', None)
metadata['retroactive'] = params.get('retroactive', None)
metadata['priority'] = params.get('priority', None)
try:
update_subscription(name=name, account=account, metadata=metadata, issuer=ctx.env.get('issuer'))
except (InvalidObject, TypeError) as error:
raise generate_http_error(400, 'InvalidObject', error[0][0])
except AccessDenied as error:
raise generate_http_error(401, 'AccessDenied', error.args[0][0])
except SubscriptionNotFound as error:
raise generate_http_error(404, 'SubscriptionNotFound', error[0][0])
except RucioException as error:
raise generate_http_error(500, error.__class__.__name__, error.args[0])
except Exception as error:
raise InternalError(error)
raise Created()
评论列表
文章目录