vsphere/resource_vsphere_virtual_machine.go
func resourceVSphereVirtualMachineCreateBareStandard(
	d *schema.ResourceData,
	meta interface{},
	fo *object.Folder,
	spec types.VirtualMachineConfigSpec,
	pool *object.ResourcePool,
	hs *object.HostSystem,
) (*object.VirtualMachine, error) {
	client := meta.(*VSphereClient).vimClient

	// Set the datastore for the VM.
	ds, err := datastore.FromID(client, d.Get("datastore_id").(string))
	if err != nil {
		return nil, fmt.Errorf("error locating datastore for VM: %s", err)
	}
	spec.Files = &types.VirtualMachineFileInfo{
		VmPathName: fmt.Sprintf("[%s]", ds.Name()),
	}

	vm, err := virtualmachine.Create(client, fo, spec, pool, hs)
	if err != nil {
		return nil, fmt.Errorf("error creating virtual machine: %s", err)
	}
	return vm, nil
}
func resourceVSphereVirtualMachineCreateBareStandard(
	d *schema.ResourceData,
	meta interface{},
	fo *object.Folder,
	spec types.VirtualMachineConfigSpec,
	pool *object.ResourcePool,
	hs *object.HostSystem,
) (*object.VirtualMachine, error) {
	client := meta.(*VSphereClient).vimClient

	// Set the datastore for the VM.
	ds, err := datastore.FromID(client, d.Get("datastore_id").(string))
	if err != nil {
		return nil, fmt.Errorf("error locating datastore for VM: %s", err)
	}
	spec.Files = &types.VirtualMachineFileInfo{
		VmPathName: fmt.Sprintf("[%s]", ds.Name()),
	}

	vm, err := virtualmachine.Create(client, fo, spec, pool, hs)
	if err != nil {
		return nil, fmt.Errorf("error creating virtual machine: %s", err)
	}
	return vm, nil
}
func resourceVSphereVirtualMachineCreateBareStandard ( d * schema . ResourceData , meta interface { } , fo * object . Folder , spec types . VirtualMachineConfigSpec , pool * object . ResourcePool , hs * object . HostSystem , ) ( * object . VirtualMachine , error ) { client := meta . ( * VSphereClient ) . vimClient // Set the datastore for the VM. ds , err := datastore . FromID ( client , d . Get ( " " ) . ( string ) ) if err != nil { return nil , fmt . Errorf ( " " , err ) } spec . Files = & types . VirtualMachineFileInfo { VmPathName : fmt . Sprintf ( " " , ds . Name ( ) ) , } vm , err := virtualmachine . Create ( client , fo , spec , pool , hs ) if err != nil { return nil , fmt . Errorf ( " " , err ) } return vm , nil }
// resourceVSphereVirtualMachineCreateBareStandard performs the steps necessary
// during resourceVSphereVirtualMachineCreateBare to create a virtual machine
// when a datastore cluster is not supplied.
resourceVSphereVirtualMachineCreateBareStandard performs the steps necessary during resourceVSphereVirtualMachineCreateBare to create a virtual machine when a datastore cluster is not supplied .