 7f1e7b23d5
			
		
	
	
		7f1e7b23d5
		
	
	
	
	
		
			
			Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <1444921716-9511-8-git-send-email-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
		
			
				
	
	
		
			677 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			677 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|                    QEMU Machine Protocol Events
 | |
|                    ============================
 | |
| 
 | |
| ACPI_DEVICE_OST
 | |
| ---------------
 | |
| 
 | |
| Emitted when guest executes ACPI _OST method.
 | |
| 
 | |
|  - data: ACPIOSTInfo type as described in qapi-schema.json
 | |
| 
 | |
| { "event": "ACPI_DEVICE_OST",
 | |
|      "data": { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0 } }
 | |
| 
 | |
| BALLOON_CHANGE
 | |
| --------------
 | |
| 
 | |
| Emitted when the guest changes the actual BALLOON level. This
 | |
| value is equivalent to the 'actual' field return by the
 | |
| 'query-balloon' command
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "actual": actual level of the guest memory balloon in bytes (json-number)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "BALLOON_CHANGE",
 | |
|     "data": { "actual": 944766976 },
 | |
|     "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
 | |
| 
 | |
| Note: this event is rate-limited.
 | |
| 
 | |
| BLOCK_IMAGE_CORRUPTED
 | |
| ---------------------
 | |
| 
 | |
| Emitted when a disk image is being marked corrupt. The image can be
 | |
| identified by its device or node name. The 'device' field is always
 | |
| present for compatibility reasons, but it can be empty ("") if the
 | |
| image does not have a device name associated.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "device":    Device name (json-string)
 | |
| - "node-name": Node name (json-string, optional)
 | |
| - "msg":       Informative message (e.g., reason for the corruption)
 | |
|                (json-string)
 | |
| - "offset":    If the corruption resulted from an image access, this
 | |
|                is the host's access offset into the image
 | |
|                (json-int, optional)
 | |
| - "size":      If the corruption resulted from an image access, this
 | |
|                is the access size (json-int, optional)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "BLOCK_IMAGE_CORRUPTED",
 | |
|     "data": { "device": "ide0-hd0", "node-name": "node0",
 | |
|         "msg": "Prevented active L1 table overwrite", "offset": 196608,
 | |
|         "size": 65536 },
 | |
|     "timestamp": { "seconds": 1378126126, "microseconds": 966463 } }
 | |
| 
 | |
| BLOCK_IO_ERROR
 | |
| --------------
 | |
| 
 | |
| Emitted when a disk I/O error occurs.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "device": device name (json-string)
 | |
| - "operation": I/O operation (json-string, "read" or "write")
 | |
| - "action": action that has been taken, it's one of the following (json-string):
 | |
|     "ignore": error has been ignored
 | |
|     "report": error has been reported to the device
 | |
|     "stop": the VM is going to stop because of the error
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "BLOCK_IO_ERROR",
 | |
|     "data": { "device": "ide0-hd1",
 | |
|               "operation": "write",
 | |
|               "action": "stop" },
 | |
|     "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
 | |
| 
 | |
| Note: If action is "stop", a STOP event will eventually follow the
 | |
| BLOCK_IO_ERROR event.
 | |
| 
 | |
| BLOCK_JOB_CANCELLED
 | |
| -------------------
 | |
| 
 | |
| Emitted when a block job has been cancelled.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "type":     Job type (json-string; "stream" for image streaming
 | |
|                                      "commit" for block commit)
 | |
| - "device":   Device name (json-string)
 | |
| - "len":      Maximum progress value (json-int)
 | |
| - "offset":   Current progress value (json-int)
 | |
|               On success this is equal to len.
 | |
|               On failure this is less than len.
 | |
| - "speed":    Rate limit, bytes per second (json-int)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "BLOCK_JOB_CANCELLED",
 | |
|      "data": { "type": "stream", "device": "virtio-disk0",
 | |
|                "len": 10737418240, "offset": 134217728,
 | |
|                "speed": 0 },
 | |
|      "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
 | |
| 
 | |
| BLOCK_JOB_COMPLETED
 | |
| -------------------
 | |
| 
 | |
| Emitted when a block job has completed.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "type":     Job type (json-string; "stream" for image streaming
 | |
|                                      "commit" for block commit)
 | |
| - "device":   Device name (json-string)
 | |
| - "len":      Maximum progress value (json-int)
 | |
| - "offset":   Current progress value (json-int)
 | |
|               On success this is equal to len.
 | |
|               On failure this is less than len.
 | |
| - "speed":    Rate limit, bytes per second (json-int)
 | |
| - "error":    Error message (json-string, optional)
 | |
|               Only present on failure.  This field contains a human-readable
 | |
|               error message.  There are no semantics other than that streaming
 | |
|               has failed and clients should not try to interpret the error
 | |
|               string.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "BLOCK_JOB_COMPLETED",
 | |
|      "data": { "type": "stream", "device": "virtio-disk0",
 | |
|                "len": 10737418240, "offset": 10737418240,
 | |
|                "speed": 0 },
 | |
|      "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
 | |
| 
 | |
| BLOCK_JOB_ERROR
 | |
| ---------------
 | |
| 
 | |
| Emitted when a block job encounters an error.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "device": device name (json-string)
 | |
| - "operation": I/O operation (json-string, "read" or "write")
 | |
| - "action": action that has been taken, it's one of the following (json-string):
 | |
|     "ignore": error has been ignored, the job may fail later
 | |
|     "report": error will be reported and the job canceled
 | |
|     "stop": error caused job to be paused
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "BLOCK_JOB_ERROR",
 | |
|     "data": { "device": "ide0-hd1",
 | |
|               "operation": "write",
 | |
|               "action": "stop" },
 | |
|     "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
 | |
| 
 | |
| BLOCK_JOB_READY
 | |
| ---------------
 | |
| 
 | |
| Emitted when a block job is ready to complete.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "type":     Job type (json-string; "stream" for image streaming
 | |
|                                      "commit" for block commit)
 | |
| - "device":   Device name (json-string)
 | |
| - "len":      Maximum progress value (json-int)
 | |
| - "offset":   Current progress value (json-int)
 | |
|               On success this is equal to len.
 | |
|               On failure this is less than len.
 | |
| - "speed":    Rate limit, bytes per second (json-int)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "BLOCK_JOB_READY",
 | |
|     "data": { "device": "drive0", "type": "mirror", "speed": 0,
 | |
|               "len": 2097152, "offset": 2097152 }
 | |
|     "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
 | |
| 
 | |
| Note: The "ready to complete" status is always reset by a BLOCK_JOB_ERROR
 | |
| event.
 | |
| 
 | |
| DEVICE_DELETED
 | |
| --------------
 | |
| 
 | |
| Emitted whenever the device removal completion is acknowledged
 | |
| by the guest.
 | |
| At this point, it's safe to reuse the specified device ID.
 | |
| Device removal can be initiated by the guest or by HMP/QMP commands.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "device": device name (json-string, optional)
 | |
| - "path": device path (json-string)
 | |
| 
 | |
| { "event": "DEVICE_DELETED",
 | |
|   "data": { "device": "virtio-net-pci-0",
 | |
|             "path": "/machine/peripheral/virtio-net-pci-0" },
 | |
|   "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
 | |
| 
 | |
| DEVICE_TRAY_MOVED
 | |
| -----------------
 | |
| 
 | |
| It's emitted whenever the tray of a removable device is moved by the guest
 | |
| or by HMP/QMP commands.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "device": device name (json-string)
 | |
| - "tray-open": true if the tray has been opened or false if it has been closed
 | |
|                (json-bool)
 | |
| 
 | |
| { "event": "DEVICE_TRAY_MOVED",
 | |
|   "data": { "device": "ide1-cd0",
 | |
|             "tray-open": true
 | |
|   },
 | |
|   "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
 | |
| 
 | |
| GUEST_PANICKED
 | |
| --------------
 | |
| 
 | |
| Emitted when guest OS panic is detected.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "action": Action that has been taken (json-string, currently always "pause").
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "GUEST_PANICKED",
 | |
|      "data": { "action": "pause" } }
 | |
| 
 | |
| MEM_UNPLUG_ERROR
 | |
| --------------------
 | |
| Emitted when memory hot unplug error occurs.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "device": device name (json-string)
 | |
| - "msg": Informative message (e.g., reason for the error) (json-string)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "MEM_UNPLUG_ERROR"
 | |
|   "data": { "device": "dimm1",
 | |
|             "msg": "acpi: device unplug for unsupported device"
 | |
|   },
 | |
|   "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
 | |
| 
 | |
| NIC_RX_FILTER_CHANGED
 | |
| ---------------------
 | |
| 
 | |
| The event is emitted once until the query command is executed,
 | |
| the first event will always be emitted.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "name": net client name (json-string)
 | |
| - "path": device path (json-string)
 | |
| 
 | |
| { "event": "NIC_RX_FILTER_CHANGED",
 | |
|   "data": { "name": "vnet0",
 | |
|             "path": "/machine/peripheral/vnet0/virtio-backend" },
 | |
|   "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
 | |
| }
 | |
| 
 | |
| POWERDOWN
 | |
| ---------
 | |
| 
 | |
| Emitted when the Virtual Machine is powered down through the power
 | |
| control system, such as via ACPI.
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "POWERDOWN",
 | |
|     "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
 | |
| 
 | |
| QUORUM_FAILURE
 | |
| --------------
 | |
| 
 | |
| Emitted by the Quorum block driver if it fails to establish a quorum.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "reference":     device name if defined else node name.
 | |
| - "sector-num":    Number of the first sector of the failed read operation.
 | |
| - "sectors-count": Failed read operation sector count.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "QUORUM_FAILURE",
 | |
|      "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
 | |
|      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
 | |
| 
 | |
| Note: this event is rate-limited.
 | |
| 
 | |
| QUORUM_REPORT_BAD
 | |
| -----------------
 | |
| 
 | |
| Emitted to report a corruption of a Quorum file.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "error":         Error message (json-string, optional)
 | |
|                    Only present on failure.  This field contains a human-readable
 | |
|                    error message.  There are no semantics other than that the
 | |
|                    block layer reported an error and clients should not try to
 | |
|                    interpret the error string.
 | |
| - "node-name":     The graph node name of the block driver state.
 | |
| - "sector-num":    Number of the first sector of the failed read operation.
 | |
| - "sectors-count": Failed read operation sector count.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "QUORUM_REPORT_BAD",
 | |
|      "data": { "node-name": "1.raw", "sector-num": 345435, "sectors-count": 5 },
 | |
|      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
 | |
| 
 | |
| Note: this event is rate-limited.
 | |
| 
 | |
| RESET
 | |
| -----
 | |
| 
 | |
| Emitted when the Virtual Machine is reset.
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "RESET",
 | |
|     "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
 | |
| 
 | |
| RESUME
 | |
| ------
 | |
| 
 | |
| Emitted when the Virtual Machine resumes execution.
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "RESUME",
 | |
|     "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
 | |
| 
 | |
| RTC_CHANGE
 | |
| ----------
 | |
| 
 | |
| Emitted when the guest changes the RTC time.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "offset": Offset between base RTC clock (as specified by -rtc base), and
 | |
| new RTC clock value (json-number)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "RTC_CHANGE",
 | |
|     "data": { "offset": 78 },
 | |
|     "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
 | |
| 
 | |
| Note: this event is rate-limited.
 | |
| 
 | |
| SHUTDOWN
 | |
| --------
 | |
| 
 | |
| Emitted when the Virtual Machine has shut down, indicating that qemu
 | |
| is about to exit.
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "SHUTDOWN",
 | |
|     "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
 | |
| 
 | |
| Note: If the command-line option "-no-shutdown" has been specified, a STOP
 | |
| event will eventually follow the SHUTDOWN event.
 | |
| 
 | |
| SPICE_CONNECTED
 | |
| ---------------
 | |
| 
 | |
| Emitted when a SPICE client connects.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "server": Server information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "port": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
| - "client": Client information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "port": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
 | |
|   "event": "SPICE_CONNECTED",
 | |
|   "data": {
 | |
|     "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
 | |
|     "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
 | |
| }}
 | |
| 
 | |
| SPICE_DISCONNECTED
 | |
| ------------------
 | |
| 
 | |
| Emitted when a SPICE client disconnects.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "server": Server information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "port": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
| - "client": Client information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "port": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
 | |
|   "event": "SPICE_DISCONNECTED",
 | |
|   "data": {
 | |
|     "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
 | |
|     "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
 | |
| }}
 | |
| 
 | |
| SPICE_INITIALIZED
 | |
| -----------------
 | |
| 
 | |
| Emitted after initial handshake and authentication takes place (if any)
 | |
| and the SPICE channel is up and running
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "server": Server information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "port": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
|   - "auth": authentication method (json-string, optional)
 | |
| - "client": Client information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "port": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
|   - "connection-id": spice connection id.  All channels with the same id
 | |
|                      belong to the same spice session (json-int)
 | |
|   - "channel-type": channel type.  "1" is the main control channel, filter for
 | |
|                     this one if you want track spice sessions only (json-int)
 | |
|   - "channel-id": channel id.  Usually "0", might be different needed when
 | |
|                   multiple channels of the same type exist, such as multiple
 | |
|                   display channels in a multihead setup (json-int)
 | |
|   - "tls": whevener the channel is encrypted (json-bool)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
 | |
|   "event": "SPICE_INITIALIZED",
 | |
|   "data": {"server": {"auth": "spice", "port": "5921",
 | |
|                       "family": "ipv4", "host": "127.0.0.1"},
 | |
|            "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
 | |
|                       "connection-id": 1804289383, "host": "127.0.0.1",
 | |
|                       "channel-id": 0, "tls": true}
 | |
| }}
 | |
| 
 | |
| SPICE_MIGRATE_COMPLETED
 | |
| -----------------------
 | |
| 
 | |
| Emitted when SPICE migration has completed
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
 | |
|   "event": "SPICE_MIGRATE_COMPLETED" }
 | |
| 
 | |
| MIGRATION
 | |
| ---------
 | |
| 
 | |
| Emitted when a migration event happens
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
|  - "status": migration status
 | |
|      See MigrationStatus in ~/qapi-schema.json for possible values
 | |
| 
 | |
| Example:
 | |
| 
 | |
| {"timestamp": {"seconds": 1432121972, "microseconds": 744001},
 | |
|  "event": "MIGRATION", "data": {"status": "completed"}}
 | |
| 
 | |
| STOP
 | |
| ----
 | |
| 
 | |
| Emitted when the Virtual Machine is stopped.
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "STOP",
 | |
|     "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
 | |
| 
 | |
| SUSPEND
 | |
| -------
 | |
| 
 | |
| Emitted when guest enters S3 state.
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "SUSPEND",
 | |
|      "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
 | |
| 
 | |
| SUSPEND_DISK
 | |
| ------------
 | |
| 
 | |
| Emitted when the guest makes a request to enter S4 state.
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "SUSPEND_DISK",
 | |
|      "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
 | |
| 
 | |
| Note: QEMU shuts down when entering S4 state.
 | |
| 
 | |
| VNC_CONNECTED
 | |
| -------------
 | |
| 
 | |
| Emitted when a VNC client establishes a connection.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "server": Server information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "service": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
|   - "auth": authentication method (json-string, optional)
 | |
| - "client": Client information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "service": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "VNC_CONNECTED",
 | |
|     "data": {
 | |
|         "server": { "auth": "sasl", "family": "ipv4",
 | |
|                     "service": "5901", "host": "0.0.0.0" },
 | |
|         "client": { "family": "ipv4", "service": "58425",
 | |
|                     "host": "127.0.0.1" } },
 | |
|     "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
 | |
| 
 | |
| 
 | |
| Note: This event is emitted before any authentication takes place, thus
 | |
| the authentication ID is not provided.
 | |
| 
 | |
| VNC_DISCONNECTED
 | |
| ----------------
 | |
| 
 | |
| Emitted when the connection is closed.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "server": Server information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "service": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
|   - "auth": authentication method (json-string, optional)
 | |
| - "client": Client information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "service": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
|   - "x509_dname": TLS dname (json-string, optional)
 | |
|   - "sasl_username": SASL username (json-string, optional)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "VNC_DISCONNECTED",
 | |
|     "data": {
 | |
|         "server": { "auth": "sasl", "family": "ipv4",
 | |
|                     "service": "5901", "host": "0.0.0.0" },
 | |
|         "client": { "family": "ipv4", "service": "58425",
 | |
|                     "host": "127.0.0.1", "sasl_username": "luiz" } },
 | |
|     "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
 | |
| 
 | |
| VNC_INITIALIZED
 | |
| ---------------
 | |
| 
 | |
| Emitted after authentication takes place (if any) and the VNC session is
 | |
| made active.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "server": Server information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "service": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
|   - "auth": authentication method (json-string, optional)
 | |
| - "client": Client information (json-object)
 | |
|   - "host": IP address (json-string)
 | |
|   - "service": port number (json-string)
 | |
|   - "family": address family (json-string, "ipv4" or "ipv6")
 | |
|   - "x509_dname": TLS dname (json-string, optional)
 | |
|   - "sasl_username": SASL username (json-string, optional)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "VNC_INITIALIZED",
 | |
|     "data": {
 | |
|         "server": { "auth": "sasl", "family": "ipv4",
 | |
|                     "service": "5901", "host": "0.0.0.0"},
 | |
|         "client": { "family": "ipv4", "service": "46089",
 | |
|                     "host": "127.0.0.1", "sasl_username": "luiz" } },
 | |
|         "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
 | |
| 
 | |
| VSERPORT_CHANGE
 | |
| ---------------
 | |
| 
 | |
| Emitted when the guest opens or closes a virtio-serial port.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "id": device identifier of the virtio-serial port (json-string)
 | |
| - "open": true if the guest has opened the virtio-serial port (json-bool)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "VSERPORT_CHANGE",
 | |
|     "data": { "id": "channel0", "open": true },
 | |
|     "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
 | |
| 
 | |
| Note: this event is rate-limited separately for each "id".
 | |
| 
 | |
| WAKEUP
 | |
| ------
 | |
| 
 | |
| Emitted when the guest has woken up from S3 and is running.
 | |
| 
 | |
| Data: None.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "WAKEUP",
 | |
|      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
 | |
| 
 | |
| WATCHDOG
 | |
| --------
 | |
| 
 | |
| Emitted when the watchdog device's timer is expired.
 | |
| 
 | |
| Data:
 | |
| 
 | |
| - "action": Action that has been taken, it's one of the following (json-string):
 | |
|             "reset", "shutdown", "poweroff", "pause", "debug", or "none"
 | |
| 
 | |
| Example:
 | |
| 
 | |
| { "event": "WATCHDOG",
 | |
|      "data": { "action": "reset" },
 | |
|      "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
 | |
| 
 | |
| Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
 | |
| followed respectively by the RESET, SHUTDOWN, or STOP events.
 | |
| 
 | |
| Note: this event is rate-limited.
 |