/* Authors: Pavel Březina 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 . */ [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 this 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 { [Key] LMI_SSSDService REF SSSD; [Key] LMI_SSSDResponder REF Responder; }; [Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association] class LMI_SSSDAvailableDomain { [Key] LMI_SSSDService REF SSSD; [Key] LMI_SSSDDomain REF Domain; }; [Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association] class LMI_SSSDAvailableSubdomain { [Key] LMI_SSSDDomain REF Domain; [Key] LMI_SSSDSubdomain REF Subdomain; }; [Version("0.1.0"), Provider("cmpi:cmpiLMI_SSSD"), Association] class LMI_SSSDDomainDataProvider { [Key] LMI_SSSDDomain REF Domain; [Key] LMI_SSSDDataProvider REF DataProvider; }; [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; };