abstract update-resource, passing core and service tests