Statistics
| Branch: | Revision:

root / qapi-schema.json @ aa9b79bc

History | View | Annotate | Download (4.9 kB)

1
# -*- Mode: Python -*-
2
#
3
# QAPI Schema
4

    
5
##
6
# @NameInfo:
7
#
8
# Guest name information.
9
#
10
# @name: #optional The name of the guest
11
#
12
# Since 0.14.0
13
##
14
{ 'type': 'NameInfo', 'data': {'*name': 'str'} }
15

    
16
##
17
# @query-name:
18
#
19
# Return the name information of a guest.
20
#
21
# Returns: @NameInfo of the guest
22
#
23
# Since 0.14.0
24
##
25
{ 'command': 'query-name', 'returns': 'NameInfo' }
26

    
27
##
28
# @VersionInfo:
29
#
30
# A description of QEMU's version.
31
#
32
# @qemu.major:  The major version of QEMU
33
#
34
# @qemu.minor:  The minor version of QEMU
35
#
36
# @qemu.micro:  The micro version of QEMU.  By current convention, a micro
37
#               version of 50 signifies a development branch.  A micro version
38
#               greater than or equal to 90 signifies a release candidate for
39
#               the next minor version.  A micro version of less than 50
40
#               signifies a stable release.
41
#
42
# @package:     QEMU will always set this field to an empty string.  Downstream
43
#               versions of QEMU should set this to a non-empty string.  The
44
#               exact format depends on the downstream however it highly
45
#               recommended that a unique name is used.
46
#
47
# Since: 0.14.0
48
##
49
{ 'type': 'VersionInfo',
50
  'data': {'qemu': {'major': 'int', 'minor': 'int', 'micro': 'int'},
51
           'package': 'str'} }
52

    
53
##
54
# @query-version:
55
#
56
# Returns the current version of QEMU.
57
#
58
# Returns:  A @VersionInfo object describing the current version of QEMU.
59
#
60
# Since: 0.14.0
61
##
62
{ 'command': 'query-version', 'returns': 'VersionInfo' }
63

    
64
##
65
# @KvmInfo:
66
#
67
# Information about support for KVM acceleration
68
#
69
# @enabled: true if KVM acceleration is active
70
#
71
# @present: true if KVM acceleration is built into this executable
72
#
73
# Since: 0.14.0
74
##
75
{ 'type': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} }
76

    
77
##
78
# @query-kvm:
79
#
80
# Returns information about KVM acceleration
81
#
82
# Returns: @KvmInfo
83
#
84
# Since: 0.14.0
85
##
86
{ 'command': 'query-kvm', 'returns': 'KvmInfo' }
87

    
88
##
89
# @RunState
90
#
91
# An enumation of VM run states.
92
#
93
# @debug: QEMU is running on a debugger
94
#
95
# @inmigrate: guest is paused waiting for an incoming migration
96
#
97
# @internal-error: An internal error that prevents further guest execution
98
# has occurred
99
#
100
# @io-error: the last IOP has failed and the device is configured to pause
101
# on I/O errors
102
#
103
# @paused: guest has been paused via the 'stop' command
104
#
105
# @postmigrate: guest is paused following a successful 'migrate'
106
#
107
# @prelaunch: QEMU was started with -S and guest has not started
108
#
109
# @finish-migrate: guest is paused to finish the migration process
110
#
111
# @restore-vm: guest is paused to restore VM state
112
#
113
# @running: guest is actively running
114
#
115
# @save-vm: guest is paused to save the VM state
116
#
117
# @shutdown: guest is shut down (and -no-shutdown is in use)
118
#
119
# @watchdog: the watchdog action is configured to pause and has been triggered
120
##
121
{ 'enum': 'RunState',
122
  'data': [ 'debug', 'inmigrate', 'internal-error', 'io-error', 'paused',
123
            'postmigrate', 'prelaunch', 'finish-migrate', 'restore-vm',
124
            'running', 'save-vm', 'shutdown', 'watchdog' ] }
125

    
126
##
127
# @StatusInfo:
128
#
129
# Information about VCPU run state
130
#
131
# @running: true if all VCPUs are runnable, false if not runnable
132
#
133
# @singlestep: true if VCPUs are in single-step mode
134
#
135
# @status: the virtual machine @RunState
136
#
137
# Since:  0.14.0
138
#
139
# Notes: @singlestep is enabled through the GDB stub
140
##
141
{ 'type': 'StatusInfo',
142
  'data': {'running': 'bool', 'singlestep': 'bool', 'status': 'RunState'} }
143

    
144
##
145
# @query-status:
146
#
147
# Query the run status of all VCPUs
148
#
149
# Returns: @StatusInfo reflecting all VCPUs
150
#
151
# Since:  0.14.0
152
##
153
{ 'command': 'query-status', 'returns': 'StatusInfo' }
154

    
155
##
156
# @UuidInfo:
157
#
158
# Guest UUID information.
159
#
160
# @UUID: the UUID of the guest
161
#
162
# Since: 0.14.0
163
#
164
# Notes: If no UUID was specified for the guest, a null UUID is returned.
165
##
166
{ 'type': 'UuidInfo', 'data': {'UUID': 'str'} }
167

    
168
##
169
# @query-uuid:
170
#
171
# Query the guest UUID information.
172
#
173
# Returns: The @UuidInfo for the guest
174
#
175
# Since 0.14.0
176
##
177
{ 'command': 'query-uuid', 'returns': 'UuidInfo' }
178

    
179
##
180
# @ChardevInfo:
181
#
182
# Information about a character device.
183
#
184
# @label: the label of the character device
185
#
186
# @filename: the filename of the character device
187
#
188
# Notes: @filename is encoded using the QEMU command line character device
189
#        encoding.  See the QEMU man page for details.
190
#
191
# Since: 0.14.0
192
##
193
{ 'type': 'ChardevInfo', 'data': {'label': 'str', 'filename': 'str'} }
194

    
195
##
196
# @query-chardev:
197
#
198
# Returns information about current character devices.
199
#
200
# Returns: a list of @ChardevInfo
201
#
202
# Since: 0.14.0
203
##
204
{ 'command': 'query-chardev', 'returns': ['ChardevInfo'] }
205

    
206
##
207
# @CommandInfo:
208
#
209
# Information about a QMP command
210
#
211
# @name: The command name
212
#
213
# Since: 0.14.0
214
##
215
{ 'type': 'CommandInfo', 'data': {'name': 'str'} }
216

    
217
##
218
# @query-commands:
219
#
220
# Return a list of supported QMP commands by this server
221
#
222
# Returns: A list of @CommandInfo for all supported commands
223
#
224
# Since: 0.14.0
225
##
226
{ 'command': 'query-commands', 'returns': ['CommandInfo'] }
227