I'd prefer to just have the parameter as a boolean and run the IsProviderGCE method before creating the object.

Also rename IsProviderGCE to IsGceInstance and member variable as self._is_gce_instance