summaryrefslogtreecommitdiffstats
path: root/mof
diff options
context:
space:
mode:
Diffstat (limited to 'mof')
-rw-r--r--mof/LMI_Software.mof857
-rw-r--r--mof/LMI_Software.reg50
2 files changed, 625 insertions, 282 deletions
diff --git a/mof/LMI_Software.mof b/mof/LMI_Software.mof
index ad99250..f964ec4 100644
--- a/mof/LMI_Software.mof
+++ b/mof/LMI_Software.mof
@@ -21,295 +21,602 @@
#pragma locale ("en_US")
//#pragma namespace ("root/cimv2")
-[ Description (
- "RPM package installed on particular computer system with"
- " YUM (The Yellowdog Updated, Modified) package manager.")
-]
-class LMI_SoftwarePackage : CIM_SoftwareElement {
-
- [ Description (
- "The release number (referred to in some older documentation as a"
- " \"vepoch\") is how the maintainer marks build revisions, starting"
- " from 1. When a minor change (spec file changed, patch added/removed)"
- " occurs, or a package is rebuilt to use newer headers or libraries,"
- " the release number should be incremented. If a major change"
- " (new version of the software being packaged) occurs, the version"
- " number should be changed to reflect the new software version,"
- " and the release number should be reset to 1.")
- ]
- string Release;
-
- [ Description (
- "It is important to be careful with the version of post-release"
- " scheme, to ensure that package ordering is correct. It may be"
- " necessary to use Epoch to ensure that the current package is"
- " considered newer than the previous package.")
- ]
- uint16 Epoch;
-
- [ Description (
- "Architecture name, that package is compiled for. In case of no"
- "architecture dependency, this will contain \"noarch\".")
- ]
- string Architecture;
-
- [ Description (
- "A software license is a legal instrument (usually by way of contract"
- " law) governing the usage or redistribution of software."
- " All software is copyright protected, except material in the public"
- " domain. Contractual confidentiality is another way of protecting"
- " software. A typical software license grants an end-user permission"
- " to use one or more copies of software in ways where such a use would"
- " otherwise potentially constitute copyright infringement of the"
- " software owner's exclusive rights under copyright law. List of"
- " possible values is based on list of licences approved by the"
- " Free Software Foundation and OSI. The string is obtained from RPM"
- " package." )
- ]
- string License;
-
- [ Description (
- "Denotes the package group, in which the package belongs.")
- ]
- string Group;
-
- [ Description (
- "Size of RPM package in Bytes" ) ]
- uint64 Size;
-
- [ Description (
- "Will install available package."),
- ValueMap { "0", "1", "2" },
- Values { "Already installed", "Successful installation", "Failed" } ]
- uint32 Install(
- [ IN(false), OUT, Description (
- "The reference to newly installed package, if installation was"
- " successful. Reference to current package if it is already"
- " installed and Null otherwise.") ]
- LMI_SoftwareInstalledPackage REF Installed);
-
- [ Description (
- "Will uninstall installed package."),
- ValueMap { "0", "1", "2" },
- Values { "Not installed", "Successful removal", "Failed" } ]
- uint32 Remove();
+class LMI_SoftwareIdentity : CIM_SoftwareIdentity {
+
+ [Implemented(true), Override("InstanceID"), Description(
+ "Unique identifier for installed or available package."
+ " It's composed of OrgID and LocalID separated by ':', where"
+ " <OrgID> is LMI and LocalID is PKG:<PKG_NEVRA>. <PKG_NEVRA>"
+ " is a string representing rpm package. Letters in NEVRA stand"
+ " for name, epoch, version, release and architecture.")]
+ string InstanceID;
+
+ [Implemented(true), Override("Caption"), Description("Package's summary.")]
+ string Caption;
+
+ [Implemented(true), Override("Classifications")]
+ uint16 Classifications[];
+
+ [Implemented(true), Override("Description"), Description(
+ "Package's description.")]
+ string Description;
+
+ [Implemented(true), Override("ElementName"), Description(
+ "Package's NEVRA string. That is also part of InstanceID.")]
+ string ElementName;
+
+ [Implemented(true), Override("InstallDate")]
+ datetime InstallDate;
+
+ [Implemented(true), Override("IsEntity")]
+ boolean IsEntity;
+
+ [Implemented(true), Override("Name"), Description(
+ "Name of package. This does not uniquely identify package"
+ " installed on computer system.")]
+ string Name;
+
+ [Implemented(true), Override("TargetTypes")]
+ string TargetTypes[];
+
+ [Implemented(true), Override("VersionString"), Description(
+ "Package's EVRA, in format: "
+ "<epoch>:<version>-<release>.<architecture>")]
+ string VersionString;
+
+ [Implemented(true), Description("Package's epoch.")]
+ uint32 Epoch;
+
+ [Implemented(true), Description("Package's version.")]
+ string Version;
+
+ [Implemented(true), Description("Package's release.")]
+ string Release;
+
+ [Implemented(true), Description("Package's architecture.")]
+ string Architecture;
+
+};
+
+class LMI_SystemSoftwareCollection : CIM_SystemSpecificCollection {
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("Caption")]
+ string Caption;
};
-[ Description (
- "Identifies a file contained by RPM package. It's located"
- " in directory identified in FileName. The Invoke methods"
- " check for file existence and whether its attributes match"
- " those given by RPM package.")
-]
-class LMI_SoftwareFileCheck : CIM_FileSpecification {
+[Association]
+class LMI_HostedSoftwareCollection : CIM_HostedCollection {
+
+ [Override("Antecedent")]
+ Linux_ComputerSystem REF Antecedent;
- [ Key, Description (
- "Absolute path of file being checked.") ]
+ [Override("Dependent")]
+ LMI_SystemSoftwareCollection REF Dependent;
+
+};
+
+[Association]
+class LMI_MemberOfSoftwareCollection : CIM_MemberOfCollection {
+
+ [Override("Collection")]
+ LMI_SystemSoftwareCollection REF Collection;
+
+ [Override("Member")]
+ LMI_SoftwareIdentity REF Member;
+
+};
+
+[Association]
+class LMI_InstalledSoftwareIdentity : CIM_InstalledSoftwareIdentity {
+
+ [Override("InstalledSoftware")]
+ LMI_SoftwareIdentity REF InstalledSoftware;
+
+ [Override("System")]
+ Linux_ComputerSystem REF System;
+
+};
+
+class LMI_SoftwareIdentityResource : CIM_SoftwareIdentityResource {
+
+ [Implemented(true), Override("CreationClassName")]
+ string CreationClassName;
+
+ [Implemented(true), Override("Name"), Description(
+ "Repository id. A unique name representing repository of"
+ " system.")]
string Name;
- [ Description (
- "Composition of RPM's name and absolute file path."
- " It's format is \"rpm_name#path\"") ]
- string CheckID;
-
- [ Override("SoftwareElementID"), Description (
- "RPM's nevra. This means: "
- "\"name-[epoch:]version-release.architecture\"."
- " If epoch part is missing, a \"0:\" is assumed." ) ]
- string SoftwareElementID;
-
- [ Override("Version"), Description (
- "Version of packaged software as listed by RPM package.") ]
- string Version;
-
- [ Description (
- "True, if file is present in file system.")]
- boolean FileExists;
-
- [ Override("FileSize"),
- Description("Size of installed file in Bytes.") ]
- uint64 FileSize;
- [ Units("KiloBytes"),
- Description("File size in Bytes from RPM database.") ]
- uint64 ExpectedFileSize;
-
- [ Description("File mode of installed file as a number.") ]
- uint32 FileMode;
- [ Description("File mode as a number given by RPM database.") ]
- uint32 ExpectedFileMode;
-
- [ Description (
- "File mode of installed file as an array of permissions."
- " Each value represents a bit position in file mode."),
- ValueMap { "0", "1", "2" //XWR Other
- , "3", "4", "5" //XWR Group
- , "6", "7", "8" //XWR User
- , "9","10","11" //Sticky, SGID, SUID
- },
- Values { "Execute Other", "Write Other", "Read Other"
- , "Execute Group", "Write Group", "Read Group"
- , "Execute User" , "Write User" , "Read User"
- , "Sticky", "SGID", "SUID"
- } ]
- uint8 FileModeFlags[];
- [ Description (
- "File mode as an array of permissions of file from RPM database."
- " Each value represents a bit position in file mode."),
- ValueMap { "0", "1", "2" //XWR Other
- , "3", "4", "5" //XWR Group
- , "6", "7", "8" //XWR User
- , "9","10","11" //Sticky, SGID, SUID
- },
- Values { "Execute Other", "Write Other", "Read Other"
- , "Execute Group", "Write Group", "Read Group"
- , "Execute User" , "Write User" , "Read User"
- , "Sticky", "SGID", "SUID"
- } ]
- uint8 ExpectedFileModeFlags[];
-
- [ Override("MD5Checksum"),
- Description("MD5 checksum of installed file.") ]
- string MD5Checksum;
- [ Description("Checksum of installed file."
- " Hash algorithm used can be obtained with ChecksumType property.") ]
- string FileChecksum;
- [ Description("Checksum of file from RPM database."
- " Hash algorithm used can be obtained with ChecksumType property.") ]
- string ExpectedFileChecksum;
-
- [ Description("Number of hash algorithm according to RFC4880."
- " This algorithm is used for making checksums of RPM files and"
- " packages. This algorithm is same for the whole RPM database."),
- ValueMap { "0", "1", "2", "3"
- , "8", "9","10","11" },
- Values { "UNKNOWN", "MD5", "SHA-1", "RIPE-MD/160"
- , "SHA256", "SHA384", "SHA512", "SHA224" } ]
- uint16 FileChecksumType;
-
- [ Description("User ID of installed file.") ]
- uint32 FileUserID;
- [ Description("User ID of file from RPM database.") ]
- uint32 ExpectedFileUserID;
-
- [ Description("Group ID of installed file.") ]
- uint32 FileGroupID;
- [ Description("Group ID of file from RPM database.") ]
- uint32 ExpectedFileGroupID;
-
- [ Description("Time of last modification of installed file as number a"
- " of secodns since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).") ]
- uint64 LastModificationTime;
- [ Description("Time of last modification of file from RPM database as"
- " a number of secodns since the Epoch,"
- " 1970-01-01 00:00:00 +0000 (UTC).") ]
- uint64 ExpectedLastModificationTime;
-
- [ Description("Target destination of symbolic link as returned by"
- " readline. If file is not a symbolic link, NULL is returned.") ]
- string LinkTarget;
- [ Description("Target destination of symbolic link from RPM database"
- " as returned by readline. If file is not a symbolic link,"
- " NULL is returned.") ]
- string ExpectedLinkTarget;
-
- [ Description("File type."),
- ValueMap { "0", "1", "2", "3"
- , "4", "5", "6" },
- Values { "Unknown", "File", "Directory", "Symlink"
- , "FIFO", "Character Device", "Block Device" } ]
- uint16 FileType;
- [ Description("File type of file in RPM database."),
- ValueMap { "0", "1", "2", "3"
- , "4", "5", "6" },
- Values { "Unknown", "File", "Directory", "Symlink"
- , "FIFO", "Character Device", "Block Device" } ]
- uint16 ExpectedFileType;
-
- [ Description (
- "Returns array of booleans for verification checks. Each value"
- " is either true or false, whether file passed the check or not."
- " True is present also if the check does not apply to the file"
- " (file implicitly passes the check, if check can not be"
- " performed)."
- " PassedFlagsDescriptions returns a description for each field in"
- " this array saying, what it means.") ]
- boolean PassedFlags[];
-
- [ Description (
- "Returns array of descriptions of checks corresponding to PassedFlags"
- " array.")]
- string PassedFlagsDescriptions[];
+ [Implemented(true), Override("SystemCreationClassName")]
+ string SystemCreationClassName;
+
+ [Implemented(true), Override("SystemName")]
+ string SystemName;
+
+ [Implemented(true), Override("AccessContext")]
+ uint16 AccessContext;
+
+ [Implemented(true), Override("AccessInfo")]
+ string AccessInfo;
+
+ [Implemented(true), Override("AvailableRequestedStates")]
+ uint16 AvailableRequestedStates[];
+
+ [Implemented(true), Override("Caption"), Description(
+ "A human readable string describing the repository.")]
+ string Caption;
+
+ [Implemented(true), Description(
+ "Relative cost of accessing this repository."
+ " Useful for weighing one repo's packages as greater/less"
+ " than any other.")]
+ sint32 Cost;
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("ElementName")]
+ string ElementName;
+
+ [Implemented(true), Override("EnabledDefault")]
+ uint16 EnabledDefault;
+
+ [Implemented(true), Override("EnabledState")]
+ uint16 EnabledState;
+
+ [Implemented(true), Override("ExtendedResourceType")]
+ uint16 ExtendedResourceType;
+
+ [Implemented(true), Override("Generation")]
+ uint64 Generation;
+
+ [Implemented(true), Override("HealthState")]
+ uint16 HealthState;
+
+ [Implemented(true), Description(
+ "Whether or not a GPG signature check should be performed"
+ " on the packages gotten from this repository.")]
+ boolean GPGCheck;
+
+ [Implemented(true), Override("InfoFormat")]
+ uint16 InfoFormat;
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Description(
+ "URL to a file containing list of base URLS to mirrors"
+ " of this repository. http://, ftp:// and file:// schemas"
+ " are supported. This can contain special variables"
+ " prefixed with $, which are substituted for system values."
+ " These include $releasever - defaults to the version of"
+ " \"redhat-release\" package, $arch - architecture of system,"
+ " $basearch - base architecture of system ($arch == \"i686\", then"
+ " $basearch == \"i386\", $uuid - unique but persisent uuid for this"
+ " machine.")]
+ string MirrorList;
+
+ [Implemented(true), Override("OperationalStatus")]
+ uint16 OperationalStatus[];
+
+ [Implemented(true), Override("OtherAccessContext")]
+ string OtherAccessContext;
+
+ [Implemented(true), Override("PrimaryStatus")]
+ uint16 PrimaryStatus;
+
+ [Implemented(true), Description(
+ "Whether or not a GPG signature check should be performed"
+ " on the repodata from this repository.")]
+ boolean RepoGPGCheck;
+
+ [Implemented(true), Override("RequestedState")]
+ uint16 RequestedState;
+
+ [Implemented(true), Override("ResourceType")]
+ uint16 ResourceType;
+
+ [Implemented(true), Override("StatusDescriptions")]
+ string StatusDescriptions[];
+
+ [Implemented(true), Override("TimeOfLastStateChange")]
+ datetime TimeOfLastStateChange;
+
+ [Implemented(true), Description(
+ "Time of the repository's last update on server.")]
+ datetime TimeOfLastUpdate;
+
+ [Implemented(true), Override("TransitioningToState")]
+ uint16 TransitioningToState;
+
+ [Implemented(true), Override("RequestStateChange")]
+ uint32 RequestStateChange(
+ [IN, Description (
+ "The state requested for the element. This "
+ "information will be placed into the RequestedState "
+ "property of the instance if the return code of the "
+ "RequestStateChange method is 0 (\'Completed with "
+ "No Error\'), or 4096 (0x1000) (\'Job Started\'). "
+ "Refer to the description of the EnabledState and "
+ "RequestedState properties for the detailed "
+ "explanations of the RequestedState values." ),
+ ValueMap { "2", "3", "4", "6", "7", "8", "9", "10",
+ "11", "..", "32768..65535" },
+ Values { "Enabled", "Disabled", "Shut Down", "Offline",
+ "Test", "Defer", "Quiesce", "Reboot", "Reset",
+ "DMTF Reserved", "Vendor Reserved" },
+ ModelCorrespondence {
+ "CIM_EnabledLogicalElement.RequestedState" }]
+ uint16 RequestedState,
+ [IN ( false ), OUT, Description (
+ "May contain a reference to the ConcreteJob created "
+ "to track the state transition initiated by the "
+ "method invocation." )]
+ CIM_ConcreteJob REF Job,
+ [IN, Description (
+ "A timeout period that specifies the maximum amount "
+ "of time that the client expects the transition to "
+ "the new state to take. The interval format must be "
+ "used to specify the TimeoutPeriod. A value of 0 or "
+ "a null parameter indicates that the client has no "
+ "time requirements for the transition. \n"
+ "If this property does not contain 0 or null and "
+ "the implementation does not support this "
+ "parameter, a return code of \'Use Of Timeout "
+ "Parameter Not Supported\' shall be returned." )]
+ datetime TimeoutPeriod);
+
+};
+
+[Association]
+class LMI_ResourceForSoftwareIdentity : CIM_SAPAvailableForElement {
+
+ [Override("AvailableSAP")]
+ LMI_SoftwareIdentityResource REF AvailableSAP;
+
+ [Override("ManagedElement")]
+ LMI_SoftwareIdentity REF ManagedElement;
};
-// ===================================================================
-// Associations
-// ===================================================================
-[ Association ]
-class LMI_SoftwareInstalledPackage : CIM_InstalledSoftwareElement {
-
- [ Override("Software"), Weak, Description (
- "Reference to the installed RPM package.")]
- LMI_SoftwarePackage REF Software;
-
- [ Override("System"), Min(1), Description (
- "Reference to the ComputerSystem hosting a particular"
- " RPM package.")]
- CIM_ComputerSystem REF System;
-
- [ Description (
- "Updates the package to latest version."
- " When any of \"epoch\", \"version\" or \"release\" argument is given"
- ", install only matching available package. Otherwise try"
- " to update to newest package available."
- " If the \"epoch\", \"version\" and \"release\" of package is"
- " already installed, or no newer package is available,"
- " \"Already newest\" value is returned."),
- ValueMap { "0", "1", "2" },
- Values { "Already newest", "Successful installation", "Failed" } ]
- uint16 Update(
- [ IN(true), Description (
- "Specify particular epoch of package to update to."
- " Update to newest, when empty.") ]
- string Epoch,
- [ IN(true), Description (
- "Specify particular version of package to update to."
- " Update to newest, when empty") ]
- string Version,
- [ IN(true), Description (
- "Specify particular release of package to update to."
- " Update to newest, when empty.") ]
- string Release,
- [ IN(false), OUT, Description (
- "The reference to newly installed package, if installation was"
- " successful. Otherwise reference to current package.") ]
- LMI_SoftwareInstalledPackage REF Installed);
-
- [ Description (
- "Verify existence and attributes of files installed from"
- " RPM package. If all files installed exist and their attributes"
- " matches, method returns \"Pass\". \"Not passed\" is returned when"
- " arbitrary file differs in its attributes. And \"Error\" if"
- " verification could not be done."),
- ValueMap { "0", "1", "2" },
- Values { "Pass", "Not passed", "Error" } ]
- uint32 CheckIntegrity(
- [ IN(false), OUT, Description (
- "Array of references to LMI_SoftwareFileCheck, that did not pass"
- " verification.") ]
- LMI_SoftwareFileCheck REF Failed[]);
+[Association]
+class LMI_HostedSoftwareIdentityResource : CIM_HostedAccessPoint {
+
+ [Override("Antecedent")]
+ Linux_ComputerSystem REF Antecedent;
+
+ [Override("Dependent")]
+ LMI_SoftwareIdentityResource REF Dependent;
};
-[ Association, Aggregation ]
-class LMI_SoftwarePackageChecks : CIM_SoftwareElementChecks {
+class LMI_SoftwareInstallationService : CIM_SoftwareInstallationService {
+
+ [Implemented(true), Override("CreationClassName")]
+ string CreationClassName;
+
+ [Implemented(true), Override("Name")]
+ string Name;
+
+ [Implemented(true), Override("SystemCreationClassName")]
+ string SystemCreationClassName;
+
+ [Implemented(true), Override("SystemName")]
+ string SystemName;
+
+ [Implemented(true), Override("Caption")]
+ string Caption;
+
+ [Implemented(true), Override("CommunicationStatus")]
+ uint16 CommunicationStatus;
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("DetailedStatus")]
+ uint16 DetailedStatus;
+
+ [Implemented(true), Override("EnabledDefault")]
+ uint16 EnabledDefault;
+
+ [Implemented(true), Override("EnabledState")]
+ uint16 EnabledState;
+
+ [Implemented(true), Override("HealthState")]
+ uint16 HealthState;
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("OperatingStatus")]
+ uint16 OperatingStatus;
+
+ [Implemented(true), Override("OperationalStatus")]
+ uint16 OperationalStatus[];
+
+ [Implemented(true), Override("PrimaryStatus")]
+ uint16 PrimaryStatus;
+
+ [Implemented(true), Override("PrimaryStatus")]
+ uint16 RequestedState;
+
+ [Implemented(true), Override("Started")]
+ boolean Started;
+
+ [Implemented(true), Override("TransitioningToState")]
+ uint16 TransitioningToState;
+
+ [Implemented(True), Override("CheckSoftwareIdentity")]
+ uint32 CheckSoftwareIdentity(
+ [IN, Description (
+ "Reference to the SoftwareIdentity to be checked." )]
+ LMI_SoftwareIdentity REF Source,
+ [IN, Description (
+ "Reference to the ManagedElement that the Software "
+ "Identity is going to be installed in (or updated)." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Reference to the Collection to which the Software "
+ "Identity will be added." )]
+ LMI_SystemSoftwareCollection REF Collection,
+ [IN ( false ), OUT, Description (
+ "The parameter describes the characteristics of the "
+ "installation/update that will take place if the "
+ "Source Software Identity is installed: \n"
+ "Target automatic reset: The target element will "
+ "automatically reset once the installation is "
+ "complete. \n"
+ "System automatic reset: The containing system of "
+ "the target ManagedElement (normally a logical "
+ "device or the system itself) will automatically "
+ "reset/reboot once the installation is complete. \n"
+ "Separate target reset required: "
+ "EnabledLogicalElement.RequestStateChange MUST be "
+ "used to reset the target element after the "
+ "SoftwareIdentity is installed. \n"
+ "Separate system reset required: "
+ "EnabledLogicalElement.RequestStateChange MUST be "
+ "used to reset/reboot the containing system of the "
+ "target ManagedElement after the SoftwareIdentity "
+ "is installed. \n"
+ "Manual Reboot Required: The system MUST be "
+ "manually rebooted by the user. \n"
+ "No reboot required : No reboot is required after "
+ "installation. \n"
+ "User Intervention Recomended : It is recommended "
+ "that a user confirm installation of this "
+ "SoftwareIdentity. Inappropriate application MAY "
+ "have serious consequences. \n"
+ "MAY be added to specified collection : The "
+ "SoftwareIndentity MAY be added to specified "
+ "Collection." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "..", "0x7FFF..0xFFFF" },
+ Values { "Target automatic reset",
+ "System automatic reset",
+ "Separate target reset Required",
+ "Separate system reset Required",
+ "Manual Reboot Required", "No Reboot Required",
+ "User Intervention recommended",
+ "MAY be added to specified Collection",
+ "DMTF Reserved", "Vendor Specific" }]
+ uint16 InstallCharacteristics[]);
+
+ [Implemented(True), Override("InstallFromSoftwareIdentity")]
+ uint32 InstallFromSoftwareIdentity(
+ [IN ( false ), OUT, Description (
+ "Reference to the job (may be null if job completed)."
+ )]
+ LMI_SoftwareInstallationJob REF Job,
+ [IN, Description (
+ "Options to control the install process.\n"
+ "Defer target/system reset : do not automatically "
+ "reset the target/system.\n"
+ "Force installation : Force the installation of the "
+ "same or an older SoftwareIdentity. Install: "
+ "Perform an installation of this software on the "
+ "managed element.\n"
+ "Update: Perform an update of this software on the "
+ "managed element.\n"
+ "Repair: Perform a repair of the installation of "
+ "this software on the managed element by forcing "
+ "all the files required for installing the software "
+ "to be reinstalled.\n"
+ "Reboot: Reboot or reset the system immediately "
+ "after the install or update of this software, if "
+ "the install or the update requires a reboot or reset.\n"
+ "Password: Password will be specified as clear text "
+ "without any encryption for performing the install "
+ "or update.\n"
+ "Uninstall: Uninstall the software on the managed element.\n"
+ "Log: Create a log for the install or update of the software.\n"
+ "SilentMode: Perform the install or update without "
+ "displaying any user interface.\n"
+ "AdministrativeMode: Perform the install or update "
+ "of the software in the administrative mode. "
+ "ScheduleInstallAt: Indicates the time at which "
+ "theinstall or update of the software will occur." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "10", "11", "12", "13", "..", "32768..65535" },
+ Values { "Defer target/system reset",
+ "Force installation", "Install", "Update", "Repair",
+ "Reboot", "Password", "Uninstall", "Log",
+ "SilentMode", "AdministrativeMode",
+ "ScheduleInstallAt", "DMTF Reserved",
+ "Vendor Specific" },
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallOptionsValues[]",
+ "CIM_SoftwareInstallationServiceCapabilities.SupportedInstallOptions[]" }]
+ uint16 InstallOptions[],
+ [IN, Description (
+ "InstallOptionsValues is an array of strings "
+ "providing additional information to InstallOptions "
+ "for the method to install the software. Each entry "
+ "of this array is related to the entry in "
+ "InstallOptions that is located at the same index "
+ "providing additional information for "
+ "InstallOptions. \n"
+ "If the index in InstallOptions has the value "
+ "\"Password \" then a value at the corresponding "
+ "index of InstallOptionValues shall not be NULL. \n"
+ "If the index in InstallOptions has the value "
+ "\"ScheduleInstallAt\" then the value at the "
+ "corresponding index of InstallOptionValues shall "
+ "not be NULL and shall be in the datetime type "
+ "format. \n"
+ "If the index in InstallOptions has the value \"Log "
+ "\" then a value at the corresponding index of "
+ "InstallOptionValues may be NULL. \n"
+ "If the index in InstallOptions has the value "
+ "\"Defer target/system reset\", \"Force "
+ "installation\",\"Install\", \"Update\", \"Repair\" "
+ "or \"Reboot\" then a value at the corresponding "
+ "index of InstallOptionValues shall be NULL." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallOptions[]" }]
+ string InstallOptionsValues[],
+ [IN, Description (
+ "Reference to the source of the install." )]
+ LMI_SoftwareIdentity REF Source,
+ [IN, Description (
+ "The installation target. If NULL then the "
+ "SOftwareIdentity will be added to Collection only. "
+ "The underlying implementation is expected to be "
+ "able to obtain any necessary metadata from the "
+ "Software Identity." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Reference to the Collection to which the Software "
+ "Identity SHALL be added. If NULL then the Software "
+ "Identity will not be added to a Collection." )]
+ LMI_SystemSoftwareCollection REF Collection);
+
+ [Implemented(True), Override("InstallFromURI")]
+ uint32 InstallFromURI(
+ [IN ( false ), OUT, Description (
+ "Reference to the job (may be null if job completed)."
+ )]
+ LMI_SoftwareInstallationJob REF Job,
+ [IN, Description (
+ "A URI for the software based on RFC 2079." )]
+ string URI,
+ [IN, Description ( "The installation target." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Options to control the install process. \n"
+ "See the InstallOptions parameter of the "
+ "SoftwareInstallationService.InstallFromSoftwareIdentity "
+ "method for the description of these values." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "10", "11", "12", "13", "..", "32768..65535" },
+ Values { "Defer target/system reset",
+ "Force installation", "Install", "Update", "Repair",
+ "Reboot", "Password", "Uninstall", "Log",
+ "SilentMode", "AdministrativeMode",
+ "ScheduleInstallAt", "DMTF Reserved",
+ "Vendor Specific" },
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallFromURI.InstallOptionsValues[]",
+ "CIM_SoftwareInstallationServiceCapabilities.SupportedInstallOptions[]" }]
+ uint16 InstallOptions[],
+ [IN, Description (
+ "InstallOptionsValues is an array of strings "
+ "providing additionalinformation to InstallOptions "
+ "for the method to install the software. Each entry "
+ "of this array is related to the entry in "
+ "InstallOptions that is located at the same index "
+ "providing additional information for "
+ "InstallOptions. \n"
+ "For further information on the use of "
+ "InstallOptionsValues parameter, see the "
+ "description of the InstallOptionsValues parameter "
+ "of the "
+ "SoftwareInstallationService.InstallFromSoftwareIdentity "
+ "method." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallFromByteStream.InstallOptions[]" }]
+ string InstallOptionsValues[]);
+
+};
+
+class LMI_SoftwareInstallationJob : CIM_ConcreteJob {
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("Caption")]
+ string Caption;
+
+ [Implemented(true), Override("CommunicationStatus")]
+ uint16 CommunicationStatus;
+
+ [Implemented(true), Override("DeleteOnCompletion")]
+ boolean DeleteOnCompletion;
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("ElapsedTime")]
+ datetime ElapsedTime;
+
+ [Implemented(true), Override("ElementName")]
+ string ElementName;
+
+ [Implemented(true), Override("ErrorCode")]
+ uint16 ErrorCode;
+
+ [Implemented(true), Override("ErrorDescription")]
+ string ErrorDescription;
+
+ [Implemented(true), Override("JobState")]
+ uint16 JobState;
+
+ [Implemented(true), Override("JobStatus")]
+ string JobStatus;
+
+ [Implemented(true), Override("MethodName")]
+ string MethodName;
+
+ [Implemented(true), Override("Name")]
+ string Name;
+
+ [Implemented(true), Override("OperationalStatus")]
+ uint16 OperationalStatus[];
+
+ [Implemented(true), Override("Owner")]
+ string Owner;
+
+ [Implemented(true), Override("PercentComplete")]
+ uint16 PercentComplete;
+
+ [Implemented(true), Override("Priority")]
+ uint32 Priority;
+
+ [Implemented(true), Override("RecoveryAction")]
+ uint16 RecoveryAction;
+
+ [Implemented(true), Override("StartTime")]
+ datetime StartTime;
+
+ [Implemented(true), Override("StatusDescriptions")]
+ string StatusDescriptions[];
+
+ [Implemented(true), Override("TimeBeforeRemoval")]
+ datetime TimeBeforeRemoval;
- [ Override("Element"), Description("The RPM package being checked") ]
- LMI_SoftwarePackage REF Element;
+ [Implemented(true), Override("TimeOfLastStateChange")]
+ datetime TimeOfLastStateChange;
- [ Override("Check"), Description("The Check for the element.") ]
- LMI_SoftwareFileCheck REF Check;
+ [Implemented(true), Override("TimeSubmitted")]
+ datetime TimeSubmitted;
};
diff --git a/mof/LMI_Software.reg b/mof/LMI_Software.reg
index 1c6f323..66cd50f 100644
--- a/mof/LMI_Software.reg
+++ b/mof/LMI_Software.reg
@@ -1,23 +1,59 @@
-[LMI_SoftwarePackage]
+[LMI_SoftwareIdentity]
provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
location: pyCmpiProvider
- type: instance method
+ type: instance
namespace: root/cimv2
-[LMI_SoftwareInstalledPackage]
+[LMI_SystemSoftwareCollection]
provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
location: pyCmpiProvider
- type: instance association method
+ type: instance
namespace: root/cimv2
-[LMI_SoftwareFileCheck]
+[LMI_HostedSoftwareCollection]
provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
location: pyCmpiProvider
- type: instance method
+ type: instance association
+ namespace: root/cimv2
+
+[LMI_MemberOfSoftwareCollection]
+ provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
+ location: pyCmpiProvider
+ type: instance association
+ namespace: root/cimv2
+
+[LMI_InstalledSoftwareIdentity]
+ provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
+ location: pyCmpiProvider
+ type: instance association
+ namespace: root/cimv2
+
+[LMI_SoftwareIdentityResource]
+ provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
+ location: pyCmpiProvider
+ type: instance
+ namespace: root/cimv2
+
+[LMI_ResourceForSoftwareIdentity]
+ provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
+ location: pyCmpiProvider
+ type: instance association
namespace: root/cimv2
-[LMI_SoftwarePackageChecks]
+[LMI_HostedSoftwareIdentityResource]
provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
location: pyCmpiProvider
type: instance association
namespace: root/cimv2
+
+[LMI_SoftwareInstallationService]
+ provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
+ location: pyCmpiProvider
+ type: instance method
+ namespace: root/cimv2
+
+[LMI_SoftwareInstallationJob]
+ provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
+ location: pyCmpiProvider
+ type: instance method
+ namespace: root/cimv2