]> git.proxmox.com Git - mirror_qemu.git/blob - qapi/event.json
qmp-events: move 'STOP' doc to schema
[mirror_qemu.git] / qapi / event.json
1 # -*- Mode: Python -*-
2
3 ##
4 # = Other events
5 ##
6
7 ##
8 # @SHUTDOWN:
9 #
10 # Emitted when the virtual machine has shut down, indicating that qemu is
11 # about to exit.
12 #
13 # Note: If the command-line option "-no-shutdown" has been specified, qemu will
14 # not exit, and a STOP event will eventually follow the SHUTDOWN event
15 #
16 # Since: 0.12.0
17 #
18 # Example:
19 #
20 # <- { "event": "SHUTDOWN",
21 # "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
22 #
23 ##
24 { 'event': 'SHUTDOWN' }
25
26 ##
27 # @POWERDOWN:
28 #
29 # Emitted when the virtual machine is powered down through the power control
30 # system, such as via ACPI.
31 #
32 # Since: 0.12.0
33 #
34 # Example:
35 #
36 # <- { "event": "POWERDOWN",
37 # "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
38 #
39 ##
40 { 'event': 'POWERDOWN' }
41
42 ##
43 # @RESET:
44 #
45 # Emitted when the virtual machine is reset
46 #
47 # Since: 0.12.0
48 #
49 # Example:
50 #
51 # <- { "event": "RESET",
52 # "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
53 #
54 ##
55 { 'event': 'RESET' }
56
57 ##
58 # @STOP:
59 #
60 # Emitted when the virtual machine is stopped
61 #
62 # Since: 0.12.0
63 #
64 # Example:
65 #
66 # <- { "event": "STOP",
67 # "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
68 #
69 ##
70 { 'event': 'STOP' }
71
72 ##
73 # @RESUME:
74 #
75 # Emitted when the virtual machine resumes execution
76 #
77 # Since: 0.12.0
78 ##
79 { 'event': 'RESUME' }
80
81 ##
82 # @SUSPEND:
83 #
84 # Emitted when guest enters a hardware suspension state, for example, S3 state,
85 # which is sometimes called standby state
86 #
87 # Since: 1.1
88 ##
89 { 'event': 'SUSPEND' }
90
91 ##
92 # @SUSPEND_DISK:
93 #
94 # Emitted when guest enters a hardware suspension state with data saved on
95 # disk, for example, S4 state, which is sometimes called hibernate state
96 #
97 # Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
98 #
99 # Since: 1.2
100 ##
101 { 'event': 'SUSPEND_DISK' }
102
103 ##
104 # @WAKEUP:
105 #
106 # Emitted when the guest has woken up from suspend state and is running
107 #
108 # Since: 1.1
109 ##
110 { 'event': 'WAKEUP' }
111
112 ##
113 # @RTC_CHANGE:
114 #
115 # Emitted when the guest changes the RTC time.
116 #
117 # @offset: offset between base RTC clock (as specified by -rtc base), and
118 # new RTC clock value
119 #
120 # Since: 0.13.0
121 ##
122 { 'event': 'RTC_CHANGE',
123 'data': { 'offset': 'int' } }
124
125 ##
126 # @WATCHDOG:
127 #
128 # Emitted when the watchdog device's timer is expired
129 #
130 # @action: action that has been taken
131 #
132 # Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
133 # followed respectively by the RESET, SHUTDOWN, or STOP events
134 #
135 # Since: 0.13.0
136 ##
137 { 'event': 'WATCHDOG',
138 'data': { 'action': 'WatchdogExpirationAction' } }
139
140 ##
141 # @DEVICE_DELETED:
142 #
143 # Emitted whenever the device removal completion is acknowledged by the guest.
144 # At this point, it's safe to reuse the specified device ID. Device removal can
145 # be initiated by the guest or by HMP/QMP commands.
146 #
147 # @device: #optional, device name
148 #
149 # @path: device path
150 #
151 # Since: 1.5
152 ##
153 { 'event': 'DEVICE_DELETED',
154 'data': { '*device': 'str', 'path': 'str' } }
155
156 ##
157 # @NIC_RX_FILTER_CHANGED:
158 #
159 # Emitted once until the 'query-rx-filter' command is executed, the first event
160 # will always be emitted
161 #
162 # @name: #optional, net client name
163 #
164 # @path: device path
165 #
166 # Since: 1.6
167 ##
168 { 'event': 'NIC_RX_FILTER_CHANGED',
169 'data': { '*name': 'str', 'path': 'str' } }
170
171 ##
172 # @VNC_CONNECTED:
173 #
174 # Emitted when a VNC client establishes a connection
175 #
176 # @server: server information
177 #
178 # @client: client information
179 #
180 # Note: This event is emitted before any authentication takes place, thus
181 # the authentication ID is not provided
182 #
183 # Since: 0.13.0
184 ##
185 { 'event': 'VNC_CONNECTED',
186 'data': { 'server': 'VncServerInfo',
187 'client': 'VncBasicInfo' } }
188
189 ##
190 # @VNC_INITIALIZED:
191 #
192 # Emitted after authentication takes place (if any) and the VNC session is
193 # made active
194 #
195 # @server: server information
196 #
197 # @client: client information
198 #
199 # Since: 0.13.0
200 ##
201 { 'event': 'VNC_INITIALIZED',
202 'data': { 'server': 'VncServerInfo',
203 'client': 'VncClientInfo' } }
204
205 ##
206 # @VNC_DISCONNECTED:
207 #
208 # Emitted when the connection is closed
209 #
210 # @server: server information
211 #
212 # @client: client information
213 #
214 # Since: 0.13.0
215 ##
216 { 'event': 'VNC_DISCONNECTED',
217 'data': { 'server': 'VncServerInfo',
218 'client': 'VncClientInfo' } }
219
220 ##
221 # @SPICE_CONNECTED:
222 #
223 # Emitted when a SPICE client establishes a connection
224 #
225 # @server: server information
226 #
227 # @client: client information
228 #
229 # Since: 0.14.0
230 ##
231 { 'event': 'SPICE_CONNECTED',
232 'data': { 'server': 'SpiceBasicInfo',
233 'client': 'SpiceBasicInfo' } }
234
235 ##
236 # @SPICE_INITIALIZED:
237 #
238 # Emitted after initial handshake and authentication takes place (if any)
239 # and the SPICE channel is up and running
240 #
241 # @server: server information
242 #
243 # @client: client information
244 #
245 # Since: 0.14.0
246 ##
247 { 'event': 'SPICE_INITIALIZED',
248 'data': { 'server': 'SpiceServerInfo',
249 'client': 'SpiceChannel' } }
250
251 ##
252 # @SPICE_DISCONNECTED:
253 #
254 # Emitted when the SPICE connection is closed
255 #
256 # @server: server information
257 #
258 # @client: client information
259 #
260 # Since: 0.14.0
261 ##
262 { 'event': 'SPICE_DISCONNECTED',
263 'data': { 'server': 'SpiceBasicInfo',
264 'client': 'SpiceBasicInfo' } }
265
266 ##
267 # @SPICE_MIGRATE_COMPLETED:
268 #
269 # Emitted when SPICE migration has completed
270 #
271 # Since: 1.3
272 ##
273 { 'event': 'SPICE_MIGRATE_COMPLETED' }
274
275 ##
276 # @MIGRATION:
277 #
278 # Emitted when a migration event happens
279 #
280 # @status: @MigrationStatus describing the current migration status.
281 #
282 # Since: 2.4
283 ##
284 { 'event': 'MIGRATION',
285 'data': {'status': 'MigrationStatus'}}
286
287 ##
288 # @MIGRATION_PASS:
289 #
290 # Emitted from the source side of a migration at the start of each pass
291 # (when it syncs the dirty bitmap)
292 #
293 # @pass: An incrementing count (starting at 1 on the first pass)
294 #
295 # Since: 2.6
296 ##
297 { 'event': 'MIGRATION_PASS',
298 'data': { 'pass': 'int' } }
299
300 ##
301 # @ACPI_DEVICE_OST:
302 #
303 # Emitted when guest executes ACPI _OST method.
304 #
305 # @info: ACPIOSTInfo type as described in qapi-schema.json
306 #
307 # Since: 2.1
308 ##
309 { 'event': 'ACPI_DEVICE_OST',
310 'data': { 'info': 'ACPIOSTInfo' } }
311
312 ##
313 # @BALLOON_CHANGE:
314 #
315 # Emitted when the guest changes the actual BALLOON level. This value is
316 # equivalent to the @actual field return by the 'query-balloon' command
317 #
318 # @actual: actual level of the guest memory balloon in bytes
319 #
320 # Since: 1.2
321 ##
322 { 'event': 'BALLOON_CHANGE',
323 'data': { 'actual': 'int' } }
324
325 ##
326 # @GUEST_PANICKED:
327 #
328 # Emitted when guest OS panic is detected
329 #
330 # @action: action that has been taken, currently always "pause"
331 #
332 # Since: 1.5
333 ##
334 { 'event': 'GUEST_PANICKED',
335 'data': { 'action': 'GuestPanicAction' } }
336
337 ##
338 # @QUORUM_FAILURE:
339 #
340 # Emitted by the Quorum block driver if it fails to establish a quorum
341 #
342 # @reference: device name if defined else node name
343 #
344 # @sector-num: number of the first sector of the failed read operation
345 #
346 # @sectors-count: failed read operation sector count
347 #
348 # Since: 2.0
349 ##
350 { 'event': 'QUORUM_FAILURE',
351 'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
352
353 ##
354 # @QUORUM_REPORT_BAD:
355 #
356 # Emitted to report a corruption of a Quorum file
357 #
358 # @type: quorum operation type (Since 2.6)
359 #
360 # @error: #optional, error message. Only present on failure. This field
361 # contains a human-readable error message. There are no semantics other
362 # than that the block layer reported an error and clients should not
363 # try to interpret the error string.
364 #
365 # @node-name: the graph node name of the block driver state
366 #
367 # @sector-num: number of the first sector of the failed read operation
368 #
369 # @sectors-count: failed read operation sector count
370 #
371 # Since: 2.0
372 ##
373 { 'event': 'QUORUM_REPORT_BAD',
374 'data': { 'type': 'QuorumOpType', '*error': 'str', 'node-name': 'str',
375 'sector-num': 'int', 'sectors-count': 'int' } }
376
377 ##
378 # @VSERPORT_CHANGE:
379 #
380 # Emitted when the guest opens or closes a virtio-serial port.
381 #
382 # @id: device identifier of the virtio-serial port
383 #
384 # @open: true if the guest has opened the virtio-serial port
385 #
386 # Since: 2.1
387 ##
388 { 'event': 'VSERPORT_CHANGE',
389 'data': { 'id': 'str', 'open': 'bool' } }
390
391 ##
392 # @MEM_UNPLUG_ERROR:
393 #
394 # Emitted when memory hot unplug error occurs.
395 #
396 # @device: device name
397 #
398 # @msg: Informative message
399 #
400 # Since: 2.4
401 ##
402 { 'event': 'MEM_UNPLUG_ERROR',
403 'data': { 'device': 'str', 'msg': 'str' } }
404
405 ##
406 # @DUMP_COMPLETED:
407 #
408 # Emitted when background dump has completed
409 #
410 # @result: DumpQueryResult type described in qapi-schema.json.
411 #
412 # @error: #optional human-readable error string that provides
413 # hint on why dump failed. Only presents on failure. The
414 # user should not try to interpret the error string.
415 #
416 # Since: 2.6
417 ##
418 { 'event': 'DUMP_COMPLETED' ,
419 'data': { 'result': 'DumpQueryResult', '*error': 'str' } }