Added paramterization of CloudProvider type to AbstractVMSupport for better type safety