diff options
Diffstat (limited to 'mof')
-rw-r--r-- | mof/LMI_Software.mof | 857 | ||||
-rw-r--r-- | mof/LMI_Software.reg | 50 |
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 |