summaryrefslogtreecommitdiffstats
path: root/mof/LMI_SSSD.mof
blob: 52e96e4bb0d1d48998f2e6abfca33ede596426bb (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
/*
    Authors:
        Pavel Březina <pbrezina@redhat.com>

    Copyright (C) 2014 Red Hat

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.

    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 General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"),
 Description("System Security Services Daemon")]
class LMI_SSSDService : CIM_Service
{
    [Description("Default domain name for all names without a domain name
                 component.")]
    string DefaultDomainSuffix;
}

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"),
 Abstract, Description("Base class for SSSD's components.")]
class LMI_SSSDComponent : CIM_ManagedElement
{
    [Key, Description("Name of the component.")]
    string Name;

    [BitValues{"Reserved",
               "Reserved",
               "Reserved",
               "Reserved",
               "Fatal failures",
               "Critical failures",
               "Operation failures",
               "Minor failures",
               "Configuration settings",
               "Function data",
               "Trace function",
               "Reserved",
               "Trace libraries",
               "Trace internal",
               "Trace all",
               "Reserved"},
     Description("Debug level used within this process.")]
    uint16 DebugLevel;

    [Description("True if this process is enabled (running) and false
                 otherwise.")]
    boolean IsEnabled;

    [Description("Permanently change debug level of this component.")]
    uint32 SetDebugLevelPermanently([In] uint16 debug_level);
    
    [Description("Change debug level of thi component but switch it back
                  to original value when SSSD is restarted.")]
    uint32 SetDebugLevelTemporarily([In] uint16 debug_level);

    [Description("Enable this component. SSSD has to be restarted in order 
                  this change to take any effect.")]
    uint32 Enable();
    
    [Description("Disable this component. SSSD has to be restarted in order 
                  this change to take any effect.")]
    uint32 Disable();
};

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), 
 Description("SSSD responder.")]
class LMI_SSSDResponder : LMI_SSSDComponent
{

}

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"),
 Description("SSSD domain.")]
class LMI_SSSDDomain : LMI_SSSDComponent
{
    [Description("List of primary servers for this domain.")]
    string PrimaryServers[];
    
    [Description("List of backup servers for this domain.")]
    string BackupServers[];
    
    [Description("Minimum UID and GID value for this domain.")]
    uint32 MinId;
    
    [Description("Maximum UID and GID value for this domain.")]
    uint32 MaxId;
    
    [Description("True if this domain supports enumeration.")]
    boolean Enumerate;
    
    [Description("True if objects from this domain can be accessed only via
                 fully qualified name.")]
    boolean UseFullyQualifiedNames;
    
    [Description("The Kerberos realm this domain is configured with.")]
    string Realm;
    
    [Description("The domain forest this domain belongs to.")]
    string Forest;
    
    [Description("The login format this domain expects.")]
    string LoginFormat;
    
    [Description("The output format this domain uses.")]
    string OutputFormat;
}

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"),
 Description("Autodiscovered trusted subdomain of SSSD domain.")]
class LMI_SSSDSubdomain : LMI_SSSDDomain
{
    
}

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"),
 Description("Data provider.")]
class LMI_SSSDDataProvider
{
    [Key, Description("Name of data class handled by the provider.")]
    string Name;
    
    [Key, Description("Name of the module that provides desired data.")]
    string Provider;
}

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association]
class LMI_SSSDAvailableResponder
{
    LMI_SSSDService REF SSSD;
    LMI_SSSDResponder REF Responder;
}

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association]
class LMI_SSSDAvailableDomain
{
    LMI_SSSDService REF SSSD;
    LMI_SSSDDomain REF Domain;
}

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association]
class LMI_SSSDAvailableSubdomain
{
    LMI_SSSDDomain REF Domain;
    LMI_SSSDSubdomain REF Subdomain;
}

[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association]
class LMI_SSSDDomainDataProvider
{
    LMI_SSSDDomain REF Domain;
    LMI_SSSDDataProvider REF DataProvider;
}