// Maps Terraform attributes to provider's structs func tf_to_vix(d *schema.ResourceData, vm *vix.VM) error { var err error vm.Name = d.Get("name").(string) vm.Description = d.Get("description").(string) vm.CPUs = uint(d.Get("cpus").(int)) vm.Memory = d.Get("memory").(string) vm.UpgradeVHardware = d.Get("upgrade_vhardware").(bool) vm.LaunchGUI = d.Get("gui").(bool) vm.SharedFolders = d.Get("sharedfolders").(bool) vm.ToolsInitTimeout, err = time.ParseDuration(d.Get("tools_init_timeout").(string)) // Maps any defined networks to VIX provider's data types err = net_tf_to_vix(d, vm) if err != nil { return fmt.Errorf("Error mapping TF network adapter resource to VIX data types: %s", err) } if i := d.Get("image.#").(int); i > 0 { prefix := "image.0." vm.Image = vix.Image{ URL: d.Get(prefix + "url").(string), Checksum: d.Get(prefix + "checksum").(string), ChecksumType: d.Get(prefix + "checksum_type").(string), Password: d.Get(prefix + "password").(string), } } err = cdrom_tf_to_vix(d, vm) if err != nil { return fmt.Errorf("Error mapping TF cdrom resource to VIX data types: %s", err) } return nil }