summaryrefslogtreecommitdiffstats
path: root/mof/60_LMI_Account.mof
diff options
context:
space:
mode:
Diffstat (limited to 'mof/60_LMI_Account.mof')
-rw-r--r--mof/60_LMI_Account.mof310
1 files changed, 310 insertions, 0 deletions
diff --git a/mof/60_LMI_Account.mof b/mof/60_LMI_Account.mof
new file mode 100644
index 0000000..d79db35
--- /dev/null
+++ b/mof/60_LMI_Account.mof
@@ -0,0 +1,310 @@
+/*
+ * Copyright (C) 2012-2013 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: Roman Rakus <rrakus@redhat.com>
+ */
+
+[ Description("Class representing Linux Account"),
+ Provider("cmpi:cmpiLMI_Account")
+]
+class LMI_Account: CIM_Account
+{
+ [ Description("User's home directory") ]
+ string HomeDirectory;
+
+ [ Description("User's login shell") ]
+ string LoginShell;
+
+ [ Description("The date when was password last changed") ]
+ datetime PasswordLastChange;
+
+ [ Description("Minimum number of days between password change") ]
+ datetime PasswordPossibleChange;
+
+ [ Description("Number of days of warning before password expires") ]
+ datetime PasswordExpirationWarning;
+
+ [ Description("Maximum number of days between password change") ]
+ datetime PasswordInactivation;
+
+ [ Description("The date of expiration of the account.") ]
+ datetime AccountExpiration;
+};
+
+[ Description("LMI_AccountManagementService creates, manages, and if necessary "
+ "destroys Linux Accounts on behalf of other SecurityServices."),
+ Provider("cmpi:cmpiLMI_Account")
+]
+class LMI_AccountManagementService: CIM_SecurityService
+// It would be good to inherit from CIM_AccountManagementService
+// however I don't if to create instance from embeddedinstance is a good way
+{
+ [ Description ( "Create a new account on the system") ]
+ uint32 CreateAccount(
+ [Required, IN, Description (
+ "The scoping ComputerSystem in which to create the Account."
+ )]
+ CIM_ComputerSystem REF System,
+ [Required, IN, Description (
+ "Desired user login name for the account to be created." ) ]
+ string Name,
+ [IN, Description (
+ "GECOS information for new user" ) ]
+ string GECOS,
+ [IN, Description (
+ "Set home directory for the user." ) ]
+ string HomeDirectory,
+ [IN, Description (
+ "Wheter to create home directory." ) ]
+ boolean DontCreateHome,
+ [IN, Description (
+ "Default shell for new user" ) ]
+ string Shell,
+ [IN, Description (
+ "Pick a specific user id for new user" ) ]
+ uint32 UID,
+ [IN, Description (
+ "Pick a specific group id for new user" ) ]
+ uint32 GID,
+ [IN, Description (
+ "True for creating system account" ) ]
+ boolean SystemAccount,
+ [IN, Description (
+ "Encryted password for new user" ) ]
+ string Password,
+ [IN, Description (
+ "Whether to create group" ) ]
+ boolean DontCreateGroup,
+ [IN ( false ), OUT, Description (
+ "Reference to the instance of CIM_Account created "
+ "when the method returns a value of 0." )]
+ CIM_Account REF Account,
+ [IN ( false ), OUT, Description (
+ "Reference to the instances of CIM_Identity created "
+ "when the method returns a value of 0. NULL if no "
+ "such instances are created." )]
+ CIM_Identity REF Identities[]);
+
+ [ Description ( "Create a new group on the system") ]
+ uint32 CreateGroup(
+ [Required, IN, Description (
+ "The scoping ComputerSystem in which to create the Account."
+ )]
+ CIM_ComputerSystem REF System,
+ [Required, IN, Description (
+ "Desired group name for the account to be created." ) ]
+ string Name,
+ [IN, Description (
+ "Pick a specific group id for new user" ) ]
+ uint32 GID,
+ [IN, Description (
+ "True for creating system account" ) ]
+ boolean SystemAccount,
+ [IN ( false ), OUT, Description (
+ "Reference to the instance of CIM_Group created "
+ "when the method returns a value of 0." )]
+ CIM_Group REF Group,
+ [IN ( false ), OUT, Description (
+ "Reference to the instances of CIM_Identity created "
+ "when the method returns a value of 0. NULL if no "
+ "such instances are created." )]
+ CIM_Identity REF Identities[]);
+
+};
+
+[ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_AccountManagementCapabilities: CIM_AccountManagementCapabilities
+{
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_AccountOnSystem: CIM_AccountOnSystem
+{
+ [ Override("GroupComponent"), Min(1), Max(1),
+ Description("The hosting System.") ]
+ CIM_ComputerSystem REF GroupComponent;
+
+ [ Override("PartComponent"),
+ Description("The managed Account on the System") ]
+ LMI_Account REF PartComponent;
+};
+
+[ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_AccountSettingData: CIM_AccountSettingData
+{
+};
+
+[ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_Identity: CIM_Identity
+{
+};
+
+[ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_Group: CIM_Group
+{
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_AssignedAccountIdentity: CIM_AssignedIdentity
+{
+ [ Override("IdentityInfo"),
+ Description("The managed Identity") ]
+ LMI_Identity REF IdentityInfo;
+
+ [ Override("ManagedElement"),
+ Description("The managed Account on the System") ]
+ LMI_Account REF ManagedElement;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_AssignedGroupIdentity: CIM_AssignedIdentity
+{
+ [ Override("IdentityInfo"),
+ Description("The managed Identity") ]
+ LMI_Identity REF IdentityInfo;
+
+ [ Override("ManagedElement"),
+ Description("The managed Group on the System") ]
+ LMI_Group REF ManagedElement;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_AccountManagementServiceCapabilities: CIM_ElementCapabilities
+{
+ [ Override("ManagedElement"),
+ Description("The Central Instance of Account Management") ]
+ LMI_AccountManagementService REF ManagedElement;
+
+ [ Override("Capabilities"),
+ Description("The supported Capabilities for managing Linux Accounts") ]
+ LMI_AccountManagementCapabilities REF Capabilities;
+};
+
+[ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_EnabledAccountCapabilities: CIM_EnabledLogicalElementCapabilities
+{
+};
+
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_AccountCapabilities: CIM_ElementCapabilities
+{
+ [ Override("ManagedElement"),
+ Description("The managed Account") ]
+ LMI_Account REF ManagedElement;
+
+ [ Override("Capabilities"),
+ Description("The supported Capabilities for changing the state of the "
+ "Linux Account") ]
+ LMI_EnabledAccountCapabilities REF Capabilities;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_AccountManagementServiceSettingData: CIM_ElementSettingData
+{
+ [ Override("ManagedElement"),
+ Description("The Central Instance of Account management") ]
+ LMI_AccountManagementService REF ManagedElement;
+
+ [ Override("SettingData"),
+ Description("The default enforced setting for new Accounts") ]
+ LMI_AccountSettingData REF SettingData;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_HostedAccountManagementService: CIM_HostedService
+{
+ [ Override("Antecedent"),
+ Description("The hosting System") ]
+ CIM_ComputerSystem REF Antecedent;
+
+ [ Override("Dependent"),
+ Description("The Central Instance of Account management") ]
+ LMI_AccountManagementService REF Dependent;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_MemberOfGroup: CIM_MemberOfCollection
+{
+ [ Override("Collection"),
+ Description("The managed Group on the System") ]
+ LMI_Group REF Collection;
+
+ [ Override("Member"),
+ Description("The managed Identity") ]
+ LMI_Identity REF Member;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_OwningGroup: CIM_OwningCollectionElement
+{
+ [ Override("OwningElement"),
+ Description("The hosting System") ]
+ CIM_ComputerSystem REF OwningElement;
+
+ [ Override("OwnedElement"),
+ Description("The managed Group on the System") ]
+ LMI_Group REF OwnedElement;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_ServiceAffectsIdentity: CIM_ServiceAffectsElement
+{
+ [ Override("AffectingElement"),
+ Description("The Central Instance of Account management") ]
+ LMI_AccountManagementService REF AffectingElement;
+
+ [ Override("AffectedElement"),
+ Description("The managed Identity") ]
+ LMI_Identity REF AffectedElement;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_SettingsDefineManagementCapabilities: CIM_SettingsDefineCapabilities
+{
+ [ Override("GroupComponent"),
+ Description("The Account Management Capabilities") ]
+ LMI_AccountManagementCapabilities REF GroupComponent;
+
+ [ Override("PartComponent"),
+ Description("The default enforced setting for new Accounts") ]
+ LMI_AccountSettingData REF PartComponent;
+};
+
+[ Association,
+ Provider("cmpi:cmpiLMI_Account") ]
+class LMI_SettingsDefineAccountCapabilities: CIM_SettingsDefineCapabilities
+{
+ [ Override("GroupComponent"),
+ Description("The Account Capabilities") ]
+ LMI_EnabledAccountCapabilities REF GroupComponent;
+
+ [ Override("PartComponent"),
+ Description("The default enforced setting for new Accounts") ]
+ LMI_AccountSettingData REF PartComponent;
+};