375 lines
19 KiB
Plaintext
375 lines
19 KiB
Plaintext
// Copyright (c) 2011 DMTF. All rights reserved.
|
|
[Version ( "2.28.0" ),
|
|
ClassConstraint {
|
|
"inv:self.IsLargeBuildNumber=true implies self.BuildNumber = null and self.LargeBuildNumber <> null",
|
|
"inv:self.IsLargeBuildNumber=false implies self.LargeBuildNumber=null" },
|
|
UMLPackagePath ( "CIM::Core::Software" ),
|
|
Description (
|
|
"SoftwareIdentity provides descriptive information about a "
|
|
"software component for asset tracking and/or installation "
|
|
"dependency management. When the IsEntity property has the "
|
|
"value TRUE, the instance of SoftwareIdentity represents an "
|
|
"individually identifiable entity similar to Physical Element. "
|
|
"SoftwareIdentity does NOT indicate whether the software is "
|
|
"installed, executing, etc. This extra information may be "
|
|
"provided through specialized associations to Software "
|
|
"Identity. For instance, both InstalledSoftwareIdentity and "
|
|
"ElementSoftwareIdentity may be used to indicate that the "
|
|
"software identified by this class is installed. "
|
|
"SoftwareIdentity is used when managing the software components "
|
|
"of a ManagedElement that is the management focus. Since "
|
|
"software may be acquired, SoftwareIdentity can be associated "
|
|
"with a Product using the ProductSoftwareComponent "
|
|
"relationship. The Application Model manages the deployment and "
|
|
"installation of software via the classes, SoftwareFeatures and "
|
|
"SoftwareElements. SoftwareFeature and SoftwareElement are used "
|
|
"when the software component is the management focus. The "
|
|
"deployment/installation concepts are related to the "
|
|
"asset/identity one. In fact, a SoftwareIdentity may correspond "
|
|
"to a Product, or to one or more SoftwareFeatures or "
|
|
"SoftwareElements - depending on the granularity of these "
|
|
"classes and the deployment model. The correspondence of "
|
|
"Software Identity to Product, SoftwareFeature or "
|
|
"SoftwareElement is indicated using the ConcreteIdentity "
|
|
"association. Note that there may not be sufficient detail or "
|
|
"instrumentation to instantiate ConcreteIdentity. And, if the "
|
|
"association is instantiated, some duplication of information "
|
|
"may result. For example, the Vendor described in the instances "
|
|
"of Product and SoftwareIdentity MAY be the same. However, this "
|
|
"is not necessarily true, and it is why vendor and similar "
|
|
"information are duplicated in this class. \n"
|
|
"Note that ConcreteIdentity can also be used to describe the "
|
|
"relationship of the software to any LogicalFiles that result "
|
|
"from installing it. As above, there may not be sufficient "
|
|
"detail or instrumentation to instantiate this association." )]
|
|
class CIM_SoftwareIdentity : CIM_LogicalElement {
|
|
|
|
[Key, Override ( "InstanceID" ),
|
|
Description (
|
|
"Within the scope of the instantiating Namespace, "
|
|
"InstanceID opaquely and uniquely identifies an instance "
|
|
"of this class. In order to ensure uniqueness within the "
|
|
"NameSpace, the value of InstanceID SHOULD be constructed "
|
|
"using the following \'preferred\' algorithm: \n"
|
|
"<OrgID>:<LocalID> \n"
|
|
"Where <OrgID> and <LocalID> are separated by a colon "
|
|
"\':\', and where <OrgID> MUST include a copyrighted, "
|
|
"trademarked or otherwise unique name that is owned by "
|
|
"the business entity creating/defining the InstanceID, or "
|
|
"is a registered ID that is assigned to the business "
|
|
"entity by a recognized global authority (This is similar "
|
|
"to the <Schema Name>_<Class Name> structure of Schema "
|
|
"class names.) In addition, to ensure uniqueness <OrgID> "
|
|
"MUST NOT contain a colon (\':\'). When using this "
|
|
"algorithm, the first colon to appear in InstanceID MUST "
|
|
"appear between <OrgID> and <LocalID>. \n"
|
|
"<LocalID> is chosen by the business entity and SHOULD "
|
|
"not be re-used to identify different underlying "
|
|
"(real-world) elements. If the above \'preferred\' "
|
|
"algorithm is not used, the defining entity MUST assure "
|
|
"that the resultant InstanceID is not re-used across any "
|
|
"InstanceIDs produced by this or other providers for this "
|
|
"instance\'s NameSpace. \n"
|
|
"For DMTF defined instances, the \'preferred\' algorithm "
|
|
"MUST be used with the <OrgID> set to \'CIM\'." )]
|
|
string InstanceID;
|
|
|
|
[Description (
|
|
"The major number component of the software\'s version "
|
|
"information - for example, \'12\' from version 12.1(3)T. "
|
|
"This property is defined as a numeric value to allow the "
|
|
"determination of \'newer\' vs. \'older\' releases. A "
|
|
"\'newer\' major release is indicated by a larger numeric "
|
|
"value." )]
|
|
uint16 MajorVersion;
|
|
|
|
[Description (
|
|
"The minor number component of the software\'s version "
|
|
"information - for example, \'1\' from version 12.1(3)T. "
|
|
"This property is defined as a numeric value to allow the "
|
|
"determination of \'newer\' vs. \'older\' releases. A "
|
|
"\'newer\' minor release is indicated by a larger numeric "
|
|
"value." )]
|
|
uint16 MinorVersion;
|
|
|
|
[Description (
|
|
"The revision or maintenance release component of the "
|
|
"software\'s version information - for example, \'3\' "
|
|
"from version 12.1(3)T. This property is defined as a "
|
|
"numeric value to allow the determination of \'newer\' "
|
|
"vs. \'older\' releases. A \'newer\' revision is "
|
|
"indicated by a larger numeric value." )]
|
|
uint16 RevisionNumber;
|
|
|
|
[Description ( "The build number of the software." ),
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareIdentity.LargeBuildNumber",
|
|
"CIM_SoftwareIdentity.IsLargeBuildNumber" }]
|
|
uint16 BuildNumber;
|
|
|
|
[Description (
|
|
"The build number of the software if IsLargeBuildNumber "
|
|
"is TRUE. TheLargeBuildNumber property should be used for "
|
|
"all future implementations." ),
|
|
ModelCorrespondence { "CIM_SoftwareIdentity.BuildNumber",
|
|
"CIM_SoftwareIdentity.IsLargeBuildNumber" }]
|
|
uint64 LargeBuildNumber;
|
|
|
|
[Description (
|
|
"The IsLargeBuildNumber property is used to indicate if "
|
|
"the BuildNumber of LargeBuildNumber property contains "
|
|
"the value of the software build. A value of TRUE shall "
|
|
"indicate that the build number is represented by the "
|
|
"LargeBuildNumber property. A value of FALSE shall "
|
|
"indicate that the build number is represented by the "
|
|
"BuildNumber property." ),
|
|
ModelCorrespondence { "CIM_SoftwareIdentity.BuildNumber",
|
|
"CIM_SoftwareIdentity.LargeBuildNumber" }]
|
|
boolean IsLargeBuildNumber = false;
|
|
|
|
[Description (
|
|
"A string representing the complete software version "
|
|
"information - for example, \'12.1(3)T\'. This string and "
|
|
"the numeric major/minor/revision/build properties are "
|
|
"complementary. Since vastly different representations "
|
|
"and semantics exist for versions, it is not assumed that "
|
|
"one representation is sufficient to permit a client to "
|
|
"perform computations (i.e., the values are numeric) and "
|
|
"a user to recognize the software\'s version (i.e., the "
|
|
"values are understandable and readable). Hence, both "
|
|
"numeric and string representations of version are "
|
|
"provided." )]
|
|
string VersionString;
|
|
|
|
[Description (
|
|
"Specifies the target operating systems of the software. "
|
|
"This property should be used when a target operating "
|
|
"system is not listed in the TargetOSTypes array values." )]
|
|
string TargetOperatingSystems[];
|
|
|
|
[Description ( "Manufacturer of this software." )]
|
|
string Manufacturer;
|
|
|
|
[Description (
|
|
"The language editions supported by the software. The "
|
|
"language codes defined in ISO 639 should be used." )]
|
|
string Languages[];
|
|
|
|
[Description (
|
|
"An array of enumerated integers that classify this "
|
|
"software. For example, the software MAY be "
|
|
"instrumentation (value=5) or firmware and diagnostic "
|
|
"software (10 and 7). The use of value 6, Firmware/BIOS, "
|
|
"is being deprecated. Instead, either the value 10 "
|
|
"(Firmware) and/or 11 (BIOS/FCode) SHOULD be used. The "
|
|
"value 13, Software Bundle, identifies a software package "
|
|
"consisting of multiple discrete software instances that "
|
|
"can be installed individually or together.\n"
|
|
"Each contained software instance is represented by an "
|
|
"instance of SoftwareIdentity that is associated to this "
|
|
"instance of SoftwareIdentityinstance via a Component "
|
|
"association." ),
|
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
|
|
"10", "11", "12", "13", "..", "0x8000..0xFFFF" },
|
|
Values { "Unknown", "Other", "Driver",
|
|
"Configuration Software", "Application Software",
|
|
"Instrumentation", "Firmware/BIOS", "Diagnostic Software",
|
|
"Operating System", "Middleware", "Firmware",
|
|
"BIOS/FCode", "Support/Service Pack", "Software Bundle",
|
|
"DMTF Reserved", "Vendor Reserved" },
|
|
ArrayType ( "Indexed" ),
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareIdentity.ClassificationDescriptions" }]
|
|
uint16 Classifications[];
|
|
|
|
[Description (
|
|
"An array of free-form strings providing more detailed "
|
|
"explanations for any of the entries in the "
|
|
"Classifications array. Note that each entry is related "
|
|
"to one in the Classifications array located at the same "
|
|
"index." ),
|
|
ArrayType ( "Indexed" ),
|
|
ModelCorrespondence { "CIM_SoftwareIdentity.Classifications" }]
|
|
string ClassificationDescriptions[];
|
|
|
|
[Description (
|
|
"A manufacturer-allocated number used to identify the software."
|
|
)]
|
|
string SerialNumber;
|
|
|
|
[Description (
|
|
"An array of strings that describes the compatible "
|
|
"installer(s). The purpose of the array elements is to "
|
|
"establish compatibility between a SoftwareIdentity and a "
|
|
"SoftwareInstallationService that can install the "
|
|
"SoftwareIdentity by comparing the values of the array "
|
|
"elements of this property to the values of "
|
|
"SoftwareInstallationServiceCapabilities.SupportedTargetTypes[] "
|
|
"property\'s array elements." ),
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedTargetTypes" }]
|
|
string TargetTypes[];
|
|
|
|
[Description (
|
|
"IdentityInfoValue captures additional information that "
|
|
"MAY be used by an organization to describe or identify a "
|
|
"software instance within the context of the "
|
|
"organization. For example, large organizations may have "
|
|
"several ways to address or identify a particular "
|
|
"instance of software depending on where it is stored; a "
|
|
"catalog, a web site, or for whom it is intended; "
|
|
"development, customer service, etc. The indexed array "
|
|
"property IdentityInfoValue contains 0 or more strings "
|
|
"that contain a specific identity info string value. "
|
|
"IdentityInfoValue is mapped and indexed to "
|
|
"IdentityInfoType. When the IdentityInfoValue property is "
|
|
"implemented, the IdentityInfoType property MUST be "
|
|
"implemented and shall be formatted using the algorithm "
|
|
"provided in the IdentityInfoType property Description." ),
|
|
ArrayType ( "Indexed" ),
|
|
MaxLen ( 256 ),
|
|
ModelCorrespondence { "CIM_SoftwareIdentity.IdentityInfoType" }]
|
|
string IdentityInfoValue[];
|
|
|
|
[Description (
|
|
"An indexed array of fixed-form strings that provide the "
|
|
"description of the type of information that is stored in "
|
|
"the corresponding component of the IdentityInfoValue "
|
|
"array. The elements of this property array describe the "
|
|
"type of the value in the corresponding elements of the "
|
|
"IndetityInfoValue array. When the IdentityInfoValue "
|
|
"property is implemented, the IdentityInfoType property "
|
|
"MUST be implemented. To insure uniqueness the "
|
|
"IdentityInfoType property SHOULD be formatted using the "
|
|
"following algorithm: < OrgID > : < LocalID > Where < "
|
|
"OrgID > and < LocalID > are separated by a colon (:), "
|
|
"and where < OrgID > MUST include a copyrighted, "
|
|
"trademarked, or otherwise unique name that is owned by "
|
|
"the business entity that is creating or defining the "
|
|
"IdentityInfoType or that is a registered ID assigned to "
|
|
"the business entity by a recognized global authority. "
|
|
"(This requirement is similar to the < Schema Name > _ < "
|
|
"Class Name > structure of Schema class names.) In "
|
|
"addition, to ensure uniqueness, < OrgID > MUST NOT "
|
|
"contain a colon (:). When using this algorithm, the "
|
|
"first colon to appear in IdentityInfoType MUST appear "
|
|
"between < OrgID > and < LocalID > . < LocalID > is "
|
|
"chosen by the business entity and SHOULD NOT be reused "
|
|
"to identify different underlying software elements." ),
|
|
ArrayType ( "Indexed" ),
|
|
MaxLen ( 256 ),
|
|
ModelCorrespondence { "CIM_SoftwareIdentity.IdentityInfoValue" }]
|
|
string IdentityInfoType[];
|
|
|
|
[Description ( "The date the software was released." )]
|
|
datetime ReleaseDate;
|
|
|
|
[Description (
|
|
"The IsEntity property is used to indicate whether the "
|
|
"SoftwareIdentity corresponds to a discrete copy of the "
|
|
"software component or is being used to convey "
|
|
"descriptive and identifying information about software "
|
|
"that is not present in the management domain.A value of "
|
|
"TRUE shall indicate that the SoftwareIdentity instance "
|
|
"corresponds to a discrete copy of the software "
|
|
"component. A value of FALSE shall indicate that the "
|
|
"SoftwareIdentity instance does not correspond to a "
|
|
"discrete copy of the Software." )]
|
|
boolean IsEntity = false;
|
|
|
|
[Description (
|
|
"The binary format type of the installation package of "
|
|
"the software. This property can be used to locate a "
|
|
"SoftwareInstallationService capable of installing this "
|
|
"software." ),
|
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
|
|
"10", "11", "..", "0x8000.." },
|
|
Values { "Unknown", "Other", "Not Applicable", "Linux RPM",
|
|
"HP-UX Depot", "Windows MSI", "Solaris Package",
|
|
"Macintosh Disk Image", "Debian linux Package",
|
|
"VMware vSphere Installation Bundle",
|
|
"VMware Software Bulletin", "HP Smart Component",
|
|
"DMTF Reserved", "Vendor Reserved" },
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription",
|
|
"CIM_SoftwareIdentity.MinExtendedResourceTypeMajorVersion",
|
|
"CIM_SoftwareIdentity.MinExtendedResourceTypeMinorVersion",
|
|
"CIM_SoftwareIdentity.MinExtendedResourceTypeRevisionNumber",
|
|
"CIM_SoftwareIdentity.MinExtendedResourceTypeBuildNumber",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes" }]
|
|
uint16 ExtendedResourceType;
|
|
|
|
[Description (
|
|
"A string describing the binary format type of the "
|
|
"installation package of the software when the "
|
|
"ExtendedResourceType property has a value of 1 (Other)." ),
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareIdentity.ExtendedResourceType",
|
|
"CIM_SoftwareIdentity.MinExtendedResourceTypeMajorVersion",
|
|
"CIM_SoftwareIdentity.MinExtendedResourceTypeMinorVersion",
|
|
"CIM_SoftwareIdentity.MinExtendedResourceTypeRevisionNumber",
|
|
"CIM_SoftwareIdentity.MinExtendedResourceTypeBuildNumber",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes" }]
|
|
string OtherExtendedResourceTypeDescription;
|
|
|
|
[Description (
|
|
"This property represents the major number component of "
|
|
"the minimum version of the installer, represented by the "
|
|
"ExtendedResourceType property, that is required to "
|
|
"install this software." ),
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareIdentity.ExtendedResourceType",
|
|
"CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesMajorVersions" }]
|
|
uint16 MinExtendedResourceTypeMajorVersion;
|
|
|
|
[Description (
|
|
"This property represents the minor number component of "
|
|
"the minimum version of the installer, represented by "
|
|
"theExtendedResourceType property, that is required to "
|
|
"install this software." ),
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareIdentity.ExtendedResourceType",
|
|
"CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesMinorVersions" }]
|
|
uint16 MinExtendedResourceTypeMinorVersion;
|
|
|
|
[Description (
|
|
"This property represents the Revision number component "
|
|
"of the minimum version of the installer, represented by "
|
|
"theExtendedResourceType property, that is required to "
|
|
"install this software." ),
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareIdentity.ExtendedResourceType",
|
|
"CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesRevisionNumbers" }]
|
|
uint16 MinExtendedResourceTypeRevisionNumber;
|
|
|
|
[Description (
|
|
"This property represents the Build number component of "
|
|
"the minimum version of the installer, represented by "
|
|
"theExtendedResourceType property, that is required to "
|
|
"install this software." ),
|
|
ModelCorrespondence {
|
|
"CIM_SoftwareIdentity.ExtendedResourceType",
|
|
"CIM_SoftwareIdentity.OtherExtendedResourceTypeDescription",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes",
|
|
"CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesBuildNumbers" }]
|
|
uint16 MinExtendedResourceTypeBuildNumber;
|
|
|
|
[Description (
|
|
"The TargetOSTypes property specifies the target "
|
|
"operating systems supported by the software. When the "
|
|
"target operating system of the software is not listed in "
|
|
"the enumeration values, TargetOperatingSystems[] "
|
|
"property should be used to specify the target operating "
|
|
"system." ),
|
|
ModelCorrespondence { "CIM_OperatingSystem.OSType" }]
|
|
uint16 TargetOSTypes[];
|
|
|
|
|
|
};
|