summaryrefslogtreecommitdiffstats
path: root/policykit_roles/policykit_roles.rng
blob: a071944a1e33a426ac9d377450f3c5d0615ec851 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?xml version="1.0" encoding="utf-8"?>
<!--
Author: Sumit Bose <sbose@redhat.com>

Copyright (C) 2008  Red Hat
see file 'COPYING' for use and warranty information

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; version 2 only

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.

You should have received a copy of the GNU Lesser General Public License
along with this program; see the file COPYING.LGPL.  If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.
-->
<grammar ns="http://freeipa.org/xml/rng/policykit_roles/1.0"
xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
xmlns:s="http://purl.oclc.org/dsdl/schematron"
xmlns:pa="http://freeipa.org/xml/rng/ns/plugable_architecture/1.0">

  <a:documentation>Role definitions for Policy Kit</a:documentation>

  <a:documentation>The following section can be used to register the RNG schema file for the UI</a:documentation>
  <a:name>policykit_roles</a:name>
  <a:description>modify Policy Kit roles</a:description>
  <a:author>sbose@redhat.com</a:author>
  <a:version>0.1</a:version>

  <define name="rng_filename"><value>policykit_roles.rng</value></define>
  <define name="xslt_filename"><value>policykit_roles.xsl</value></define>
  <define name="application_name"><value>policykit_roles</value></define>
  <include href="policy_metadata.rng"/>

  <start ns="http://freeipa.org/xml/rng/policykit_roles/1.0">
    <element name="ipa">

    <ref name="policy_metadata"/>

      <element name="iparole">
        <oneOrMore>
          <element name="role">
            <element name="name">
              <text/>
            </element>
            <oneOrMore>
              <element name="action">
                <choice>
                  <element name="action_id">
                    <data type="string">
                      <param name="pattern">[a-z][a-z0-9.-]*</param>
                    </data>
                  </element>
                </choice>
                <element name="allow_any">
                  <choice>
                    <value>no</value>
                    <value>auth_self</value>
                    <value>auth_self_keep_session</value>
                    <value>auth_self_keep_always</value>
                    <value>auth_admin</value>
                    <value>auth_admin_keep_session</value>
                    <value>auth_admin_keep_always</value>
                    <value>yes</value>
                  </choice>
                </element>
                <element name="allow_inactive">
                  <choice>
                    <value>no</value>
                    <value>auth_self</value>
                    <value>auth_self_keep_session</value>
                    <value>auth_self_keep_always</value>
                    <value>auth_admin</value>
                    <value>auth_admin_keep_session</value>
                    <value>auth_admin_keep_always</value>
                    <value>yes</value>
                  </choice>
                </element>
                <element name="allow_active">
                  <choice>
                    <value>no</value>
                    <value>auth_self</value>
                    <value>auth_self_keep_session</value>
                    <value>auth_self_keep_always</value>
                    <value>auth_admin</value>
                    <value>auth_admin_keep_session</value>
                    <value>auth_admin_keep_always</value>
                    <value>yes</value>
                  </choice>
                </element>
              </element> <!-- action -->
            </oneOrMore>
          </element> <!-- role -->
        </oneOrMore>
      </element> <!-- iparole -->
    </element> <!-- ipa -->
  </start>
</grammar>