def item_update(self, request, bag_name, name): if not request.json: raise ChefAPIError(500, 'No data sent') if request.json.get('id') != name: raise ChefAPIError(500, 'Name mismatch in data bag item') item = self.get_item_or_404(bag_name, name) update(item, data=request.raw_post_data) return HttpResponse(item.data, status=200, content_type='application/json')
def item_update(self, request, bag_name, name): if not request.json: raise ChefAPIError(500, 'No data sent') data = request.json.get('raw_data') if not isinstance(data, dict): data = request.json if not isinstance(data, dict) or data.get('id') != name: raise ChefAPIError(500, 'Name mismatch in data bag item') item = self.get_item_or_404(bag_name, name) update(item, data=json.dumps(data)) return HttpResponse(item.data, status=200, content_type='application/json')
def generate_key(self): key = Key.generate(2048) update(self, key_pem=key.public_export()) self._key_cache = key return key