summaryrefslogtreecommitdiffstats
path: root/mof/60_LMI_SSSD.mof
diff options
context:
space:
mode:
Diffstat (limited to 'mof/60_LMI_SSSD.mof')
-rw-r--r--mof/60_LMI_SSSD.mof237
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;
+};