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