func resourceVIXVMRead(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) vmxFile := d.Id() vm := new(vix.VM) vm.Provider = config.Product vm.VerifySSL = config.VerifySSL running, err := vm.Refresh(vmxFile) if err != nil { return err } // This is to let TF know the resource is gone if !running { return nil } // Refreshes only what makes sense, for example, we do not refresh settings // that modify the behavior of this provider d.Set("name", vm.Name) d.Set("description", vm.Description) d.Set("cpus", vm.CPUs) d.Set("memory", vm.Memory) d.Set("ip_address", vm.IPAddress) err = net_vix_to_tf(vm, d) if err != nil { return err } err = cdrom_vix_to_tf(vm, d) if err != nil { return err } return nil }