@@ -111,7 +111,7 @@
#
# Since: 2.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-acpi-ospm-status" }
# <- { "return": [ { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0},
@@ -131,7 +131,7 @@
#
# Since: 2.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "ACPI_DEVICE_OST",
# "data": { "info": { "device": "d1", "slot": "0",
@@ -764,7 +764,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-block" }
# <- {
@@ -1168,7 +1168,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-blockstats" }
# <- {
@@ -1461,7 +1461,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block_resize",
# "arguments": { "device": "scratch", "size": 1073741824 } }
@@ -1680,7 +1680,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-snapshot-sync",
# "arguments": { "device": "ide-hd0",
@@ -1711,7 +1711,7 @@
#
# Since: 2.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-add",
# "arguments": { "driver": "qcow2",
@@ -1857,7 +1857,7 @@
#
# Since: 1.3
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-commit",
# "arguments": { "device": "virtio0",
@@ -1895,7 +1895,7 @@
#
# Since: 1.6
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "drive-backup",
# "arguments": { "device": "drive0",
@@ -1921,7 +1921,7 @@
#
# Since: 2.3
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-backup",
# "arguments": { "device": "src-id",
@@ -1945,7 +1945,7 @@
#
# Since: 2.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-named-block-nodes" }
# <- { "return": [ { "ro":false,
@@ -2126,7 +2126,7 @@
#
# Since: 1.3
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "drive-mirror",
# "arguments": { "device": "ide-hd0",
@@ -2303,7 +2303,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-dirty-bitmap-add",
# "arguments": { "node": "drive0", "name": "bitmap0" } }
@@ -2327,7 +2327,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-dirty-bitmap-remove",
# "arguments": { "node": "drive0", "name": "bitmap0" } }
@@ -2350,7 +2350,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-dirty-bitmap-clear",
# "arguments": { "node": "drive0", "name": "bitmap0" } }
@@ -2371,7 +2371,7 @@
#
# Since: 4.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-dirty-bitmap-enable",
# "arguments": { "node": "drive0", "name": "bitmap0" } }
@@ -2392,7 +2392,7 @@
#
# Since: 4.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-dirty-bitmap-disable",
# "arguments": { "node": "drive0", "name": "bitmap0" } }
@@ -2424,7 +2424,7 @@
#
# Since: 4.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-dirty-bitmap-merge",
# "arguments": { "node": "drive0", "target": "bitmap0",
@@ -2533,7 +2533,7 @@
#
# Since: 2.6
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-mirror",
# "arguments": { "device": "ide-hd0",
@@ -2858,7 +2858,7 @@
#
# Since: 1.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-stream",
# "arguments": { "device": "virtio0",
@@ -4797,7 +4797,7 @@
#
# Since: 2.9
#
-# Examples:
+# .. qmp-example::
#
# -> { "execute": "blockdev-add",
# "arguments": {
@@ -4811,6 +4811,8 @@
# }
# <- { "return": {} }
#
+# .. qmp-example::
+#
# -> { "execute": "blockdev-add",
# "arguments": {
# "driver": "qcow2",
@@ -4895,7 +4897,7 @@
#
# Since: 2.9
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-add",
# "arguments": {
@@ -5544,7 +5546,7 @@
# .. note:: If action is "stop", a STOP event will eventually follow the
# BLOCK_IO_ERROR event.
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "BLOCK_IMAGE_CORRUPTED",
# "data": { "device": "", "node-name": "drive", "fatal": false,
@@ -5593,7 +5595,7 @@
#
# Since: 0.13
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "BLOCK_IO_ERROR",
# "data": { "device": "ide0-hd1",
@@ -5633,7 +5635,7 @@
#
# Since: 1.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "BLOCK_JOB_COMPLETED",
# "data": { "type": "stream", "device": "virtio-disk0",
@@ -5668,7 +5670,7 @@
#
# Since: 1.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "BLOCK_JOB_CANCELLED",
# "data": { "type": "stream", "device": "virtio-disk0",
@@ -5697,7 +5699,7 @@
#
# Since: 1.3
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "BLOCK_JOB_ERROR",
# "data": { "device": "ide0-hd1",
@@ -5732,7 +5734,7 @@
#
# Since: 1.3
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "BLOCK_JOB_READY",
# "data": { "device": "drive0", "type": "mirror", "speed": 0,
@@ -5760,7 +5762,7 @@
#
# Since: 2.12
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "BLOCK_JOB_PENDING",
# "data": { "type": "mirror", "id": "backup_1" },
@@ -5834,7 +5836,7 @@
#
# Since: 2.3
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "block-set-write-threshold",
# "arguments": { "node-name": "mydev",
@@ -5985,7 +5987,7 @@
#
# Since: 2.0
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "QUORUM_FAILURE",
# "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
@@ -6070,7 +6072,7 @@
#
# Since: 1.7
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-snapshot-internal-sync",
# "arguments": { "device": "ide-hd0",
@@ -6109,7 +6111,7 @@
#
# Since: 1.7
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-snapshot-delete-internal-sync",
# "arguments": { "device": "ide-hd0",
@@ -117,7 +117,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "eject", "arguments": { "id": "ide1-0-1" } }
# <- { "return": {} }
@@ -161,7 +161,7 @@
#
# Since: 2.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-open-tray",
# "arguments": { "id": "ide0-1-0" } }
@@ -199,7 +199,7 @@
#
# Since: 2.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-close-tray",
# "arguments": { "id": "ide0-1-0" } }
@@ -231,7 +231,7 @@
#
# Since: 2.12
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-remove-medium",
# "arguments": { "id": "ide0-1-0" } }
@@ -272,7 +272,7 @@
#
# Since: 2.12
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "blockdev-add",
# "arguments": {
@@ -397,7 +397,7 @@
#
# Since: 1.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "DEVICE_TRAY_MOVED",
# "data": { "device": "ide1-cd0",
@@ -421,7 +421,7 @@
#
# Since: 3.0
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "PR_MANAGER_STATUS_CHANGED",
# "data": { "id": "pr-helper0",
@@ -463,7 +463,7 @@
#
# Since: 1.1
#
-# Examples:
+# .. qmp-example::
#
# -> { "execute": "block_set_io_throttle",
# "arguments": { "id": "virtio-blk-pci0/virtio-backend",
@@ -483,6 +483,8 @@
# "iops_size": 0 } }
# <- { "return": {} }
#
+# .. qmp-example::
+#
# -> { "execute": "block_set_io_throttle",
# "arguments": { "id": "ide0-1-0",
# "bps": 1000000,
@@ -40,7 +40,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-chardev" }
# <- {
@@ -86,7 +86,7 @@
#
# Since: 2.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-chardev-backends" }
# <- {
@@ -141,7 +141,7 @@
#
# Since: 1.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "ringbuf-write",
# "arguments": { "device": "foo",
@@ -177,7 +177,7 @@
#
# Since: 1.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "ringbuf-read",
# "arguments": { "device": "foo",
@@ -699,19 +699,23 @@
#
# Since: 1.4
#
-# Examples:
+# .. qmp-example::
#
# -> { "execute" : "chardev-add",
# "arguments" : { "id" : "foo",
# "backend" : { "type" : "null", "data" : {} } } }
# <- { "return": {} }
#
+# .. qmp-example::
+#
# -> { "execute" : "chardev-add",
# "arguments" : { "id" : "bar",
# "backend" : { "type" : "file",
# "data" : { "out" : "/tmp/bar.log" } } } }
# <- { "return": {} }
#
+# .. qmp-example::
+#
# -> { "execute" : "chardev-add",
# "arguments" : { "id" : "baz",
# "backend" : { "type" : "pty", "data" : {} } } }
@@ -735,13 +739,15 @@
#
# Since: 2.10
#
-# Examples:
+# .. qmp-example::
#
# -> { "execute" : "chardev-change",
# "arguments" : { "id" : "baz",
# "backend" : { "type" : "pty", "data" : {} } } }
# <- { "return": { "pty" : "/dev/pty/42" } }
#
+# .. qmp-example::
+#
# -> {"execute" : "chardev-change",
# "arguments" : {
# "id" : "charchannel2",
@@ -772,7 +778,7 @@
#
# Since: 1.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "chardev-remove", "arguments": { "id" : "foo" } }
# <- { "return": {} }
@@ -789,7 +795,7 @@
#
# Since: 2.10
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "chardev-send-break", "arguments": { "id" : "foo" } }
# <- { "return": {} }
@@ -810,7 +816,7 @@
#
# Since: 2.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "VSERPORT_CHANGE",
# "data": { "id": "channel0", "open": true },
@@ -16,7 +16,7 @@
# the QMP greeting message. If the field is not provided, it
# means no QMP capabilities will be enabled. (since 2.12)
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "qmp_capabilities",
# "arguments": { "enable": [ "oob" ] } }
@@ -97,7 +97,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-version" }
# <- {
@@ -134,7 +134,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-commands" }
# <- {
@@ -165,7 +165,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "quit" }
# <- { "return": {} }
@@ -94,7 +94,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "dump-guest-memory",
# "arguments": { "paging": false, "protocol": "fd:dump" } }
@@ -150,7 +150,7 @@
#
# Since: 2.6
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-dump" }
# <- { "return": { "status": "active", "completed": 1024000,
@@ -171,7 +171,7 @@
#
# Since: 2.6
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "DUMP_COMPLETED",
# "data": { "result": { "total": 1090650112, "status": "completed",
@@ -202,7 +202,7 @@
#
# Since: 2.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-dump-guest-memory-capability" }
# <- { "return": { "formats":
@@ -475,7 +475,7 @@
#
# Since: 8.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "CPU_POLARIZATION_CHANGE",
# "data": { "polarization": "horizontal" },
@@ -104,7 +104,7 @@
#
# Since: 2.12
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-cpus-fast" }
# <- { "return": [
@@ -221,7 +221,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-machines", "arguments": { "compat-props": true } }
# <- { "return": [
@@ -319,7 +319,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-uuid" }
# <- { "return": { "UUID": "550e8400-e29b-41d4-a716-446655440000" } }
@@ -353,7 +353,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "system_reset" }
# <- { "return": {} }
@@ -372,7 +372,7 @@
# request or that it has shut down. Many guests will respond to this
# command by prompting the user in some way.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "system_powerdown" }
# <- { "return": {} }
@@ -392,7 +392,7 @@
# .. note:: Prior to 4.0, this command does nothing in case the guest
# isn't suspended.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "system_wakeup" }
# <- { "return": {} }
@@ -443,7 +443,7 @@
# .. note:: Prior to 2.1, this command was only supported for x86 and
# s390 VMs.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "inject-nmi" }
# <- { "return": {} }
@@ -472,7 +472,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-kvm" }
# <- { "return": { "enabled": true, "present": true } }
@@ -841,7 +841,7 @@
#
# .. caution:: Errors were not reliably returned until 1.1.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "memsave",
# "arguments": { "val": 10,
@@ -867,7 +867,7 @@
#
# .. caution:: Errors were not reliably returned until 1.1.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "pmemsave",
# "arguments": { "val": 10,
@@ -928,7 +928,7 @@
#
# Since: 2.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-memdev" }
# <- { "return": [
@@ -1164,7 +1164,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-balloon" }
# <- { "return": {
@@ -1188,7 +1188,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "BALLOON_CHANGE",
# "data": { "actual": 944766976 },
@@ -1230,7 +1230,7 @@
#
# Since: 8.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-hv-balloon-status-report" }
# <- { "return": {
@@ -1251,7 +1251,7 @@
#
# Since: 8.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "HV_BALLOON_STATUS_REPORT",
# "data": { "committed": 816640000, "available": 3333054464 },
@@ -1283,7 +1283,7 @@
# Return the amount of initially allocated and present hotpluggable
# (if enabled) memory in bytes.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-memory-size-summary" }
# <- { "return": { "base-memory": 4294967296, "plugged-memory": 0 } }
@@ -1562,7 +1562,7 @@
#
# Since: 2.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-memory-devices" }
# <- { "return": [ { "data":
@@ -1596,7 +1596,7 @@
#
# Since: 5.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "MEMORY_DEVICE_SIZE_CHANGE",
# "data": { "id": "vm0", "size": 1073741824,
@@ -1854,7 +1854,7 @@
#
# Since: 7.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "dumpdtb" }
# "arguments": { "filename": "fdt.dtb" } }
@@ -514,7 +514,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate-set-capabilities" , "arguments":
# { "capabilities": [ { "capability": "xbzrle", "state": true } ] } }
@@ -532,7 +532,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-migrate-capabilities" }
# <- { "return": [
@@ -1053,7 +1053,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate-set-parameters" ,
# "arguments": { "multifd-channels": 5 } }
@@ -1256,7 +1256,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-migrate-parameters" }
# <- { "return": {
@@ -1280,7 +1280,7 @@
#
# Since: 2.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate-start-postcopy" }
# <- { "return": {} }
@@ -1296,7 +1296,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# <- {"timestamp": {"seconds": 1432121972, "microseconds": 744001},
# "event": "MIGRATION",
@@ -1315,7 +1315,7 @@
#
# Since: 2.6
#
-# Example:
+# .. qmp-example::
#
# <- { "timestamp": {"seconds": 1449669631, "microseconds": 239225},
# "event": "MIGRATION_PASS", "data": {"pass": 2} }
@@ -1399,7 +1399,7 @@
#
# Since: 3.1
#
-# Example:
+# .. qmp-example::
#
# <- { "timestamp": {"seconds": 2032141960, "microseconds": 417172},
# "event": "COLO_EXIT", "data": {"mode": "primary", "reason": "request" } }
@@ -1442,7 +1442,7 @@
#
# Since: 2.8
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "x-colo-lost-heartbeat" }
# <- { "return": {} }
@@ -1461,7 +1461,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate_cancel" }
# <- { "return": {} }
@@ -1477,7 +1477,7 @@
#
# Since: 2.11
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate-continue" , "arguments":
# { "state": "pre-switchover" } }
@@ -1610,7 +1610,7 @@
# 6. The 'uri' and 'channels' arguments are mutually exclusive;
# exactly one of the two should be present.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate", "arguments": { "uri": "tcp:0:4446" } }
# <- { "return": {} }
@@ -1689,7 +1689,7 @@
# 5. The 'uri' and 'channels' arguments are mutually exclusive;
# exactly one of the two should be present.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate-incoming",
# "arguments": { "uri": "tcp:0:4446" } }
@@ -1740,7 +1740,7 @@
#
# Since: 1.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "xen-save-devices-state",
# "arguments": { "filename": "/tmp/save" } }
@@ -1758,7 +1758,7 @@
#
# Since: 1.3
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "xen-set-global-dirty-log",
# "arguments": { "enable": true } }
@@ -1778,7 +1778,7 @@
#
# Since: 2.7
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "xen-load-devices-state",
# "arguments": { "filename": "/tmp/resume" } }
@@ -1798,7 +1798,7 @@
# @failover: true to do failover, false to stop. Cannot be specified
# if 'enable' is true. Default value is false.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "xen-set-replication",
# "arguments": {"enable": true, "primary": false} }
@@ -1833,7 +1833,7 @@
#
# Returns: A @ReplicationStatus object showing the status.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-xen-replication-status" }
# <- { "return": { "error": false } }
@@ -1849,7 +1849,7 @@
#
# Xen uses this command to notify replication to trigger a checkpoint.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "xen-colo-do-checkpoint" }
# <- { "return": {} }
@@ -1887,7 +1887,7 @@
#
# Returns: A @COLOStatus object showing the status.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-colo-status" }
# <- { "return": { "mode": "primary", "last-mode": "none", "reason": "request" } }
@@ -1905,7 +1905,7 @@
#
# @uri: the URI to be used for the recovery of migration stream.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate-recover",
# "arguments": { "uri": "tcp:192.168.1.200:12345" } }
@@ -1922,7 +1922,7 @@
#
# Pause a migration. Currently it only supports postcopy.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "migrate-pause" }
# <- { "return": {} }
@@ -1943,7 +1943,7 @@
#
# Since: 4.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "UNPLUG_PRIMARY",
# "data": { "device-id": "hostdev0" },
@@ -2182,7 +2182,7 @@
#
# Since: 7.1
#
-# Example:
+# .. qmp-example::
#
# -> {"execute": "set-vcpu-dirty-limit"}
# "arguments": { "dirty-rate": 200,
@@ -2206,7 +2206,7 @@
#
# Since: 7.1
#
-# Example:
+# .. qmp-example::
#
# -> {"execute": "cancel-vcpu-dirty-limit"},
# "arguments": { "cpu-index": 1 } }
@@ -2223,7 +2223,7 @@
#
# Since: 7.1
#
-# Example:
+# .. qmp-example::
#
# -> {"execute": "query-vcpu-dirty-limit"}
# <- {"return": [
@@ -2287,7 +2287,7 @@
#
# If @tag already exists, an error will be reported
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "snapshot-save",
# "arguments": {
@@ -2357,7 +2357,7 @@
# device nodes that can have changed since the original @snapshot-save
# command execution.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "snapshot-load",
# "arguments": {
@@ -2418,7 +2418,7 @@
# to determine completion and to fetch details of any errors that
# arise.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "snapshot-delete",
# "arguments": {
@@ -11,7 +11,7 @@
#
# Since: 2.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "rtc-reset-reinjection" }
# <- { "return": {} }
@@ -133,7 +133,7 @@
#
# Since: 2.12
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-sev" }
# <- { "return": { "enabled": true, "api-major" : 0, "api-minor" : 0,
@@ -164,7 +164,7 @@
#
# Since: 2.12
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-sev-launch-measure" }
# <- { "return": { "data": "4l8LXeNlSPUDlXPJG5966/8%YZ" } }
@@ -209,7 +209,7 @@
#
# Since: 2.12
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-sev-capabilities" }
# <- { "return": { "pdh": "8CCDD8DDD", "cert-chain": "888CCCDDDEE",
@@ -263,7 +263,7 @@
#
# Since: 6.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute" : "query-sev-attestation-report",
# "arguments": { "mnonce": "aaaaaaa" } }
@@ -283,7 +283,7 @@
#
# Since: 2.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "dump-skeys",
# "arguments": { "filename": "/tmp/skeys" } }
@@ -328,7 +328,7 @@
#
# Since: 2.6
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-gic-capabilities" }
# <- { "return": [{ "version": 2, "emulated": true, "kernel": false },
@@ -386,7 +386,7 @@
#
# Since: 6.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-sgx" }
# <- { "return": { "sgx": true, "sgx1" : true, "sgx2" : true,
@@ -405,7 +405,7 @@
#
# Since: 6.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-sgx-capabilities" }
# <- { "return": { "sgx": true, "sgx1" : true, "sgx2" : true,
@@ -480,7 +480,7 @@
#
# Since: 8.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "xen-event-list" }
# <- { "return": [
@@ -518,7 +518,7 @@
#
# Since: 8.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "xen-event-inject", "arguments": { "port": 1 } }
# <- { "return": { } }
@@ -30,7 +30,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "add_client", "arguments": { "protocol": "vnc",
# "fdname": "myclient" } }
@@ -60,7 +60,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-name" }
# <- { "return": { "name": "qemu-name" } }
@@ -111,7 +111,7 @@
#
# Since: 2.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-iothreads" }
# <- { "return": [
@@ -144,7 +144,7 @@
# In the "suspended" state, it will completely stop the VM and cause
# a transition to the "paused" state. (Since 9.0)
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "stop" }
# <- { "return": {} }
@@ -168,7 +168,7 @@
# this command will transition back to the "suspended" state. (Since
# 9.0)
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "cont" }
# <- { "return": {} }
@@ -192,7 +192,7 @@
#
# Since: 3.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "x-exit-preconfig" }
# <- { "return": {} }
@@ -232,7 +232,7 @@
#
# * Commands that prompt the user for data don't currently work.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "human-monitor-command",
# "arguments": { "command-line": "info kvm" } }
@@ -258,7 +258,7 @@
# The 'closefd' command can be used to explicitly close the file
# descriptor when it is no longer needed.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "getfd", "arguments": { "fdname": "fd1" } }
# <- { "return": {} }
@@ -285,7 +285,7 @@
# The 'closefd' command can be used to explicitly close the file
# descriptor when it is no longer needed.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "get-win32-socket",
# "arguments": { "info": "abcd123..", "fdname": "skclient" } }
@@ -302,7 +302,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "closefd", "arguments": { "fdname": "fd1" } }
# <- { "return": {} }
@@ -345,7 +345,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "add-fd", "arguments": { "fdset-id": 1 } }
# <- { "return": { "fdset-id": 1, "fd": 3 } }
@@ -374,7 +374,7 @@
# .. note:: If @fd is not specified, all file descriptors in @fdset-id
# will be removed.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "remove-fd", "arguments": { "fdset-id": 1, "fd": 3 } }
# <- { "return": {} }
@@ -420,7 +420,7 @@
#
# .. note:: The list of fd sets is shared by all monitor connections.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-fdsets" }
# <- { "return": [
@@ -523,7 +523,7 @@
#
# Since: 1.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-command-line-options",
# "arguments": { "option": "option-rom" } }
@@ -565,7 +565,7 @@
#
# Since: 0.13
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "RTC_CHANGE",
# "data": { "offset": 78 },
@@ -592,7 +592,7 @@
#
# Since: 7.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "VFU_CLIENT_HANGUP",
# "data": { "vfu-id": "vfu1",
@@ -26,7 +26,7 @@
# command will succeed even if the network adapter does not support
# link status notification.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "set_link",
# "arguments": { "name": "e1000.0", "up": false } }
@@ -46,7 +46,7 @@
# Errors:
# - If @type is not a valid network backend, DeviceNotFound
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "netdev_add",
# "arguments": { "type": "user", "id": "netdev1",
@@ -68,7 +68,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "netdev_del", "arguments": { "id": "netdev1" } }
# <- { "return": {} }
@@ -836,7 +836,7 @@
#
# Since: 1.6
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-rx-filter", "arguments": { "name": "vnet0" } }
# <- { "return": [
@@ -881,7 +881,7 @@
#
# Since: 1.6
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "NIC_RX_FILTER_CHANGED",
# "data": { "name": "vnet0",
@@ -930,7 +930,9 @@
# switches. This can be useful when network bonds fail-over the
# active slave.
#
-# Example:
+# TODO: This line is a hack to separate the example from the body
+#
+# .. qmp-example::
#
# -> { "execute": "announce-self",
# "arguments": {
@@ -955,7 +957,7 @@
#
# Since: 4.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "FAILOVER_NEGOTIATED",
# "data": { "device-id": "net1" },
@@ -975,7 +977,7 @@
#
# Since: 7.2
#
-# Examples:
+# .. qmp-example::
#
# <- { "event": "NETDEV_STREAM_CONNECTED",
# "data": { "netdev-id": "netdev0",
@@ -983,6 +985,8 @@
# "host": "::1", "type": "inet" } },
# "timestamp": { "seconds": 1666269863, "microseconds": 311222 } }
#
+# .. qmp-example::
+#
# <- { "event": "NETDEV_STREAM_CONNECTED",
# "data": { "netdev-id": "netdev0",
# "addr": { "path": "/tmp/qemu0", "type": "unix" } },
@@ -1001,7 +1005,7 @@
#
# Since: 7.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "NETDEV_STREAM_DISCONNECTED",
# "data": {"netdev-id": "netdev0"},
@@ -180,7 +180,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-pci" }
# <- { "return": [
@@ -62,7 +62,7 @@
# the ``-device DEVICE,help`` command-line argument, where DEVICE
# is the device's name.
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "device_add",
# "arguments": { "driver": "e1000", "id": "net1",
@@ -104,12 +104,14 @@
#
# Since: 0.14
#
-# Examples:
+# .. qmp-example::
#
# -> { "execute": "device_del",
# "arguments": { "id": "net1" } }
# <- { "return": {} }
#
+# .. qmp-example::
+#
# -> { "execute": "device_del",
# "arguments": { "id": "/machine/peripheral-anon/device[0]" } }
# <- { "return": {} }
@@ -130,7 +132,7 @@
#
# Since: 1.5
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "DEVICE_DELETED",
# "data": { "device": "virtio-net-pci-0",
@@ -152,7 +154,7 @@
#
# Since: 6.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "DEVICE_UNPLUG_GUEST_ERROR",
# "data": { "device": "core1",
@@ -59,7 +59,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "qom-list",
# "arguments": { "path": "/chardevs" } }
@@ -139,7 +139,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "qom-set",
# "arguments": { "path": "/machine",
@@ -1172,7 +1172,7 @@
#
# Since: 2.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "object-add",
# "arguments": { "qom-type": "rng-random", "id": "rng1",
@@ -1194,7 +1194,7 @@
#
# Since: 2.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "object-del", "arguments": { "id": "rng1" } }
# <- { "return": {} }
@@ -54,7 +54,7 @@
#
# Since: 5.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-replay" }
# <- { "return": { "mode": "play", "filename": "log.rr", "icount": 220414 } }
@@ -76,7 +76,7 @@
#
# Since: 5.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "replay-break", "arguments": { "icount": 220414 } }
# <- { "return": {} }
@@ -91,7 +91,7 @@
#
# Since: 5.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "replay-delete-break" }
# <- { "return": {} }
@@ -112,7 +112,7 @@
#
# Since: 5.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "replay-seek", "arguments": { "icount": 220414 } }
# <- { "return": {} }
@@ -30,7 +30,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-rocker", "arguments": { "name": "sw1" } }
# <- { "return": {"name": "sw1", "ports": 2, "id": 1327446905938}}
@@ -98,7 +98,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-rocker-ports", "arguments": { "name": "sw1" } }
# <- { "return": [ {"duplex": "full", "enabled": true, "name": "sw1.1",
@@ -240,7 +240,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-rocker-of-dpa-flows",
# "arguments": { "name": "sw1" } }
@@ -315,7 +315,7 @@
#
# Since: 2.4
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-rocker-of-dpa-groups",
# "arguments": { "name": "sw1" } }
@@ -123,7 +123,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-status" }
# <- { "return": { "running": true,
@@ -152,7 +152,7 @@
#
# Since: 0.12
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "SHUTDOWN",
# "data": { "guest": true, "reason": "guest-shutdown" },
@@ -168,7 +168,7 @@
#
# Since: 0.12
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "POWERDOWN",
# "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
@@ -189,7 +189,7 @@
#
# Since: 0.12
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "RESET",
# "data": { "guest": false, "reason": "guest-reset" },
@@ -204,7 +204,7 @@
#
# Since: 0.12
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "STOP",
# "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
@@ -218,7 +218,7 @@
#
# Since: 0.12
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "RESUME",
# "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
@@ -233,7 +233,7 @@
#
# Since: 1.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "SUSPEND",
# "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
@@ -252,7 +252,7 @@
#
# Since: 1.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "SUSPEND_DISK",
# "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
@@ -267,7 +267,7 @@
#
# Since: 1.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "WAKEUP",
# "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
@@ -289,7 +289,7 @@
#
# Since: 0.13
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "WATCHDOG",
# "data": { "action": "reset" },
@@ -382,7 +382,7 @@
#
# Since: 2.11
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "watchdog-set-action",
# "arguments": { "action": "inject-nmi" } }
@@ -406,7 +406,7 @@
#
# Since: 6.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "set-action",
# "arguments": { "reboot": "shutdown",
@@ -433,7 +433,7 @@
#
# Since: 1.5
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "GUEST_PANICKED",
# "data": { "action": "pause" },
@@ -453,7 +453,7 @@
#
# Since: 5.0
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "GUEST_CRASHLOADED",
# "data": { "action": "run" },
@@ -469,7 +469,7 @@
#
# Since: 9.1
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "GUEST_PVSHUTDOWN",
# "timestamp": { "seconds": 1648245259, "microseconds": 893771 } }
@@ -611,7 +611,7 @@
#
# Since: 5.2
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "MEMORY_FAILURE",
# "data": { "recipient": "hypervisor",
@@ -31,7 +31,7 @@
#
# Since: 1.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-tpm-models" }
# <- { "return": [ "tpm-tis", "tpm-crb", "tpm-spapr" ] }
@@ -62,7 +62,7 @@
#
# Since: 1.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-tpm-types" }
# <- { "return": [ "passthrough", "emulator" ] }
@@ -168,7 +168,7 @@
#
# Since: 1.5
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-tpm" }
# <- { "return":
@@ -51,7 +51,7 @@
#
# Since: 2.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "trace-event-get-state",
# "arguments": { "name": "qemu_memalign" } }
@@ -74,7 +74,7 @@
#
# Since: 2.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "trace-event-set-state",
# "arguments": { "name": "qemu_memalign", "enable": true } }
@@ -244,7 +244,7 @@
#
# Since: 1.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "transaction",
# "arguments": { "actions": [
@@ -83,7 +83,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "set_password", "arguments": { "protocol": "vnc",
# "password": "secret" } }
@@ -144,7 +144,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "expire_password", "arguments": { "protocol": "vnc",
# "time": "+60" } }
@@ -186,7 +186,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "screendump",
# "arguments": { "filename": "/tmp/image" } }
@@ -328,7 +328,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-spice" }
# <- { "return": {
@@ -377,7 +377,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
# "event": "SPICE_CONNECTED",
@@ -403,7 +403,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
# "event": "SPICE_INITIALIZED",
@@ -430,7 +430,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
# "event": "SPICE_DISCONNECTED",
@@ -451,7 +451,7 @@
#
# Since: 1.3
#
-# Example:
+# .. qmp-example::
#
# <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
# "event": "SPICE_MIGRATE_COMPLETED" }
@@ -659,7 +659,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-vnc" }
# <- { "return": {
@@ -724,7 +724,7 @@
#
# Since: 0.13
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "VNC_CONNECTED",
# "data": {
@@ -751,7 +751,7 @@
#
# Since: 0.13
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "VNC_INITIALIZED",
# "data": {
@@ -777,7 +777,7 @@
#
# Since: 0.13
#
-# Example:
+# .. qmp-example::
#
# <- { "event": "VNC_DISCONNECTED",
# "data": {
@@ -825,7 +825,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-mice" }
# <- { "return": [
@@ -1034,7 +1034,7 @@
#
# Since: 1.3
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "send-key",
# "arguments": { "keys": [ { "type": "qcode", "data": "ctrl" },
@@ -1613,7 +1613,7 @@
#
# Since: 6.0
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "display-reload",
# "arguments": { "type": "vnc", "tls-certs": true } }
@@ -1670,7 +1670,7 @@
#
# Since: 7.1
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "display-update",
# "arguments": { "type": "vnc", "addresses":
@@ -1701,7 +1701,7 @@
#
# Since: 0.14
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "client_migrate_info",
# "arguments": { "protocol": "spice",
@@ -50,7 +50,7 @@
#
# Since: 9.1
#
-# Example:
+# .. qmp-example::
#
# <- { "timestamp": { "seconds": 1713771323, "microseconds": 212268 },
# "event": "VFIO_MIGRATION",
@@ -34,7 +34,7 @@
#
# Since: 7.2
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "x-query-virtio" }
# <- { "return": [
@@ -81,7 +81,7 @@
# Errors:
# - If any of the YankInstances doesn't exist, DeviceNotFound
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "yank",
# "arguments": {
@@ -104,7 +104,7 @@
#
# Returns: list of @YankInstance
#
-# Example:
+# .. qmp-example::
#
# -> { "execute": "query-yank" }
# <- { "return": [