diff options
Diffstat (limited to 'mof/60_LMI_SSSD.mof')
-rw-r--r-- | mof/60_LMI_SSSD.mof | 237 |
1 files changed, 237 insertions, 0 deletions
diff --git a/mof/60_LMI_SSSD.mof b/mof/60_LMI_SSSD.mof new file mode 100644 index 0000000..bb6dda7 --- /dev/null +++ b/mof/60_LMI_SSSD.mof @@ -0,0 +1,237 @@ +/* + * Copyright (C) 2014 Red Hat, Inc. All rights reserved. + * + * This library 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; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Authors: Pavel Březina <pbrezina@redhat.com> + */ + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), + Description("System Security Services Daemon")] +class LMI_SSSDService : CIM_Service +{ + +}; + +[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 SSSD component.")] + string Name; + + [Description("Type of the SSSD component."), + ValueMap { "0", "1", "2" }, + Values { "Monitor", "Responder", "Backend" }] + uint16 Type; + + [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 component.")] + uint16 DebugLevel; + + [Description("True if this process is enabled at SSSD startup and false " + "otherwise.")] + boolean IsEnabled; + + [Description("Permanently change debug level of this component."), + ValueMap { "0", "1", "2", "3" }, + Values { "Success", "Failed", "Operation not supported", "I/O error" }] + uint32 SetDebugLevelPermanently([In] uint16 debug_level); + + [Description("Change debug level of this component but switch it back " + "to the original value when SSSD is restarted."), + ValueMap { "0", "1", "2", "3" }, + Values { "Success", "Failed", "Operation not supported", "I/O error" }] + uint32 SetDebugLevelTemporarily([In] uint16 debug_level); + + [Description("Enable this component. SSSD has to be restarted in order " + "this change to take any effect."), + ValueMap { "0", "1", "2", "3" }, + Values { "Success", "Failed", "Operation not supported", "I/O error" }] + uint32 Enable(); + + [Description("Disable this component. SSSD has to be restarted in order " + "this change to take any effect."), + ValueMap { "0", "1", "2", "3" }, + Values { "Success", "Failed", "Operation not supported", "I/O error" }] + uint32 Disable(); +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), + Description("SSSD monitor. An SSSD component that executes the other " + "components and makes sure they stay running. This component " + "can not be disabled.")] +class LMI_SSSDMonitor : LMI_SSSDComponent +{ + +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), + Description("SSSD responder. An SSSD component that implements one of the " + "supported services and provides data to clients.")] +class LMI_SSSDResponder : LMI_SSSDComponent +{ + +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), + Description("SSSD backend. An SSSD component that manages data from one " + "domain and its subdomains.")] +class LMI_SSSDBackend : LMI_SSSDComponent +{ + +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), + Description("Data provider module information.")] +class LMI_SSSDProvider : CIM_ManagedElement +{ + [Key, Description("Name of data class handled by the provider.")] + string Type; + + [Key, Description("Name of the module that provides the desired data.")] + string Module; +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), + Description("SSSD domain.")] +class LMI_SSSDDomain : CIM_ManagedElement +{ + [Key, Description("Name of the domain.")] + string Name; + + [Description("List of primary servers for this domain.")] + string PrimaryServers[]; + + [Description("List of backup servers for this domain.")] + string BackupServers[]; + + [Description("Main provider for this domain.")] + string Provider; + + [Description("The Kerberos realm this domain is configured with.")] + string Realm; + + [Description("The domain forest this domain belongs to.")] + string Forest; + + [Description("Name of the parent domain. It is not set if this " + "domain is on top of the domain hierarchy.")] + string ParentDomain; + + [Description("True if this is an autodiscovered subdomain.")] + boolean IsSubdomain; + + [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 login format this domain expects.")] + string LoginFormat; + + [Description("Format of fully qualified name this domain uses.")] + string FullyQualifiedNameFormat; +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association, + Description("All available SSSD components.")] +class LMI_SSSDAvailableComponent +{ + [Key, Min(1), Max(1)] + LMI_SSSDService REF SSSD; + + [Key] + LMI_SSSDComponent REF Component; +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association, + Description("Data provider modules configured for given backend.")] +class LMI_SSSDBackendProvider +{ + [Key, Max(1)] + LMI_SSSDBackend REF Backend; + + [Key] + LMI_SSSDProvider REF Provider; +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association, + Description("All domains managed by SSSD.")] +class LMI_SSSDAvailableDomain +{ + [Key, Min(1), Max(1)] + LMI_SSSDService REF SSSD; + + [Key] + LMI_SSSDDomain REF Domain; +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association, + Description("All top level domains associated with given backend.")] +class LMI_SSSDBackendDomain +{ + [Key, Max(1)] + LMI_SSSDBackend REF Backend; + + [Key, Max(1)] + LMI_SSSDDomain REF Domain; +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association, + Description("All subdomains associated with given parent domain.")] +class LMI_SSSDDomainSubdomain +{ + [Key, Max(1)] + LMI_SSSDDomain REF ParentDomain; + + [Key] + LMI_SSSDDomain REF Subdomain; +}; + +[Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association] +class LMI_HostedSSSDService: CIM_HostedService +{ + [Override("Antecedent"), + Description("The hosting System.") ] + CIM_ComputerSystem REF Antecedent; + + [Override("Dependent"), + Description("Instance of SSSD service.")] + LMI_SSSDService REF Dependent; +}; |