func (s *VirtualMachineConfigSpec) addVirtualSerialPort(device *types.VirtualSerialPort, suffix string, connected bool) *VirtualMachineConfigSpec { device.GetVirtualDevice().Key = s.generateNextKey() // Set serial device's backing to a datastore file when debug is true // We then instruct Linux kernel to use that as a serial console if suffix == "" { device.GetVirtualDevice().Backing = &types.VirtualSerialPortURIBackingInfo{ VirtualDeviceURIBackingInfo: types.VirtualDeviceURIBackingInfo{ Direction: string(types.VirtualDeviceURIBackingOptionDirectionClient), ServiceURI: s.ConnectorURI(), }, } device.GetVirtualDevice().Connectable = &types.VirtualDeviceConnectInfo{ Connected: connected, StartConnected: connected, AllowGuestControl: false, } } else { device.GetVirtualDevice().Backing = &types.VirtualSerialPortFileBackingInfo{ VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ FileName: fmt.Sprintf("%s/%s/%s.%s", s.VMPathName(), s.config.VMFullName, s.ID(), suffix), }, } } return s.AddVirtualDevice(device) }