moving a lot of validation for cluster create requests from

solve time to request time, as well as adding additional checks
for required provider fields.