def put(self, service_id):
     args = self.parser.parse_args()
     only_admins_authorized(args['Authorization'])
     s = Service().query.get_or_404(service_id)
     if args['owner_id'] is not None:
         u = User.query.get(args['owner_id'])
         s.owner = u
     elif args['owner_login'] is not None:
         u = User.query.filter_by(login=args['owner_login']).first()
         s.owner = u
     else:
         return 'You are not updating anything', 400
     s.insert()
     return {'service': marshal(s, service_fields)}, 201
 def post(self):
     args = self.parser.parse_args()
     bots_are_not_authorized(args['Authorization'])
     s = Service().query.filter_by(name=args['name']).first()
     if s is not None:
         abort(400, message="Service already exists")
     else:
         if is_user(args['Authorization']):
             u = User.query.filter_by(token=args['Authorization']).first()
         else:
             u = User.query.filter_by(login=args['owner_login']).first()
         s = Service(name=args['name'],
                     region=args['region'],
                     size=args['size'],
                     image=args['image'],
                     ssh_keys=args['ssh_keys'],
                     backups=args['backups'],
                     ipv6=args['ipv6'],
                     user_data=args['user_data'],
                     private_networking=args['private_networking'],
                     volumes=args['volumes'],
                     owner=u)
         s.insert()
         return {'service': marshal(s, service_fields)}, 201