vsphere/internal/virtualdevice/virtual_machine_cdrom_subresource.go
func (r *CdromSubresource) Create(l object.VirtualDeviceList) ([]types.BaseVirtualDeviceConfigSpec, error) {
	log.Printf("[DEBUG] %s: Running create", r)
	var spec []types.BaseVirtualDeviceConfigSpec
	var ctlr types.BaseVirtualController
	ctlr, err := r.ControllerForCreateUpdate(l, SubresourceControllerTypeIDE, 0)
	if err != nil {
		return nil, err
	}

	// We now have the controller on which we can create our device on.
	device, err := l.CreateCdrom(ctlr.(*types.VirtualIDEController))
	if err != nil {
		return nil, err
	}
	// Map the CDROM to the correct device
	r.mapCdrom(device, l)
	// Done here. Save IDs, push the device to the new device list and return.
	if err := r.SaveDevIDs(device, ctlr); err != nil {
		return nil, err
	}
	dspec, err := object.VirtualDeviceList{device}.ConfigSpec(types.VirtualDeviceConfigSpecOperationAdd)
	if err != nil {
		return nil, err
	}
	spec = append(spec, dspec...)
	log.Printf("[DEBUG] %s: Device config operations from create: %s", r, DeviceChangeString(spec))
	log.Printf("[DEBUG] %s: Create finished", r)
	return spec, nil
}
func (r *CdromSubresource) Create(l object.VirtualDeviceList) ([]types.BaseVirtualDeviceConfigSpec, error) {
	log.Printf("[DEBUG] %s: Running create", r)
	var spec []types.BaseVirtualDeviceConfigSpec
	var ctlr types.BaseVirtualController
	ctlr, err := r.ControllerForCreateUpdate(l, SubresourceControllerTypeIDE, 0)
	if err != nil {
		return nil, err
	}

	// We now have the controller on which we can create our device on.
	device, err := l.CreateCdrom(ctlr.(*types.VirtualIDEController))
	if err != nil {
		return nil, err
	}
	// Map the CDROM to the correct device
	r.mapCdrom(device, l)
	// Done here. Save IDs, push the device to the new device list and return.
	if err := r.SaveDevIDs(device, ctlr); err != nil {
		return nil, err
	}
	dspec, err := object.VirtualDeviceList{device}.ConfigSpec(types.VirtualDeviceConfigSpecOperationAdd)
	if err != nil {
		return nil, err
	}
	spec = append(spec, dspec...)
	log.Printf("[DEBUG] %s: Device config operations from create: %s", r, DeviceChangeString(spec))
	log.Printf("[DEBUG] %s: Create finished", r)
	return spec, nil
}
func ( r * CdromSubresource ) Create ( l object . VirtualDeviceList ) ( [ ] types . BaseVirtualDeviceConfigSpec , error ) { log . Printf ( " " , r ) var spec [ ] types . BaseVirtualDeviceConfigSpec var ctlr types . BaseVirtualController ctlr , err := r . ControllerForCreateUpdate ( l , SubresourceControllerTypeIDE , 0 ) if err != nil { return nil , err } // We now have the controller on which we can create our device on. device , err := l . CreateCdrom ( ctlr . ( * types . VirtualIDEController ) ) if err != nil { return nil , err } // Map the CDROM to the correct device r . mapCdrom ( device , l ) // Done here. Save IDs, push the device to the new device list and return. if err := r . SaveDevIDs ( device , ctlr ) ; err != nil { return nil , err } dspec , err := object . VirtualDeviceList { device } . ConfigSpec ( types . VirtualDeviceConfigSpecOperationAdd ) if err != nil { return nil , err } spec = append ( spec , dspec ... ) log . Printf ( " " , r , DeviceChangeString ( spec ) ) log . Printf ( " " , r ) return spec , nil }
// Create creates a vsphere_virtual_machine cdrom sub-resource.
Create creates a vsphere_virtual_machine cdrom sub - resource .