]> git.proxmox.com Git - mirror_qemu.git/blob - qapi/authz.json
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
[mirror_qemu.git] / qapi / authz.json
1 # -*- Mode: Python -*-
2 #
3 # QAPI authz definitions
4
5 ##
6 # @QAuthZListPolicy:
7 #
8 # The authorization policy result
9 #
10 # @deny: deny access
11 # @allow: allow access
12 #
13 # Since: 4.0
14 ##
15 { 'enum': 'QAuthZListPolicy',
16 'prefix': 'QAUTHZ_LIST_POLICY',
17 'data': ['deny', 'allow']}
18
19 ##
20 # @QAuthZListFormat:
21 #
22 # The authorization policy match format
23 #
24 # @exact: an exact string match
25 # @glob: string with ? and * shell wildcard support
26 #
27 # Since: 4.0
28 ##
29 { 'enum': 'QAuthZListFormat',
30 'prefix': 'QAUTHZ_LIST_FORMAT',
31 'data': ['exact', 'glob']}
32
33 ##
34 # @QAuthZListRule:
35 #
36 # A single authorization rule.
37 #
38 # @match: a string or glob to match against a user identity
39 # @policy: the result to return if @match evaluates to true
40 # @format: the format of the @match rule (default 'exact')
41 #
42 # Since: 4.0
43 ##
44 { 'struct': 'QAuthZListRule',
45 'data': {'match': 'str',
46 'policy': 'QAuthZListPolicy',
47 '*format': 'QAuthZListFormat'}}
48
49 ##
50 # @QAuthZListRuleListHack:
51 #
52 # Not exposed via QMP; hack to generate QAuthZListRuleList
53 # for use internally by the code.
54 #
55 # Since: 4.0
56 ##
57 { 'struct': 'QAuthZListRuleListHack',
58 'data': { 'unused': ['QAuthZListRule'] } }