Example #1
0
 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')
Example #2
0
 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')
Example #3
0
 def generate_key(self):
     key = Key.generate(2048)
     update(self, key_pem=key.public_export())
     self._key_cache = key
     return key