// =================================================================== // Title: System Elements 2.7 // Filename: System27_SystemElements.mof // Version: 2.7.0 // Release: Preliminary // Date: 10/04/02 // =================================================================== // Copyright 2002 Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: The System Model defines system related management // concepts. This file defines the specific concepts for // ComputerSystems (Virtual Systems, UnitaryComputerSystems, // Clusters, etc.). // // The object classes below are listed in an order that // avoids forward references. Required objects, defined // by other working groups, are omitted. // ================================================================== // Change Log for v2.7 // CR640 - Add ComputerSystem.OtherDedicatedDescriptions // - Add corresponding model correspondence to ComputerSystem. // Dedicated // CR717 - Extend ComputerSystem.NameFormat to include "WWN" // - Extend ComputerSystem.Dedicated to include "Block Server" // and "File Server" // - Clean up the description of ComputerSystem.ResetCapability // to refer to ComptuerSystem vs. UnitaryComputerSystem // CR718 - Remove the Abstract qualifier from ComputerSystem making // it a concrete class // - Promote ComputerSystemPackage.Dependent from // UnitaryComputerSystem to ComputerSystem // CR720 - Deprecate the use of ComputerSystem.PowerManagement // Capabilities & ComputerSystem.SetPowerState() // Deprecate the use of UnitaryComputerSystem.PowerManagement // Supported // CR767 - Add the Compostion qualifer to ComponentCS, SystemPartition // CR773 - Update the description ComputerSystem.Dedicated // Extend the values of ComputerSystem.Dedicated to include // "Mobile User Device" // CR822 - Change the subclassing of ComputerSystemPackage from // Dependency to SystemPackaging // CR865 - Add ComputerSystemNodeCapabilities // =================================================================== #pragma locale ("en_US") // =================================================================== // ComputerSystem // =================================================================== [Version ("2.7.0"), Description ( "A class derived from System that is a special collection of " "ManagedSystemElements. This collection provides " "compute capabilities and serves as aggregation point to " "associate one or more of the following elements: FileSystem, " "OperatingSystem, Processor and Memory (Volatile and/or " "NonVolatile Storage).") ] class CIM_ComputerSystem : CIM_System { [Override ("NameFormat"), Description ( " The ComputerSystem object and its derivatives are Top " "Level Objects of CIM. They provide the scope for numerous " "components. Having unique System keys is required. " "A heuristic is defined to create the ComputerSystem Name " "to attempt to always generate the same Name, independent of " "discovery protocol. This prevents inventory and management " "problems where the same asset or entity is discovered " "multiple times, but cannot be resolved to a single object. " "Use of the heuristic is optional, but recommended. \n" " The NameFormat property identifies how the ComputerSystem " "Name is generated, using a heuristic. The heuristic is " "outlined, in detail, in the CIM V2 System Model spec. " "It assumes that the documented rules are traversed in order, " "to determine and assign a Name. The NameFormat Values " "list defines the precedence order for assigning the Computer" "System Name. Several rules do map to the same Value. \n" " Note that the ComputerSystem Name calculated using the " "heuristic is the System's key value. Other names can be " "assigned and used for the ComputerSystem, that better suit " "a business, using Aliases."), ValueMap {"Other", "IP", "Dial", "HID", "NWA", "HWA", "X25", "ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI", "WWN"} ] string NameFormat; [MaxLen (256), ArrayType ("Indexed"), Description ( "OtherIdentifyingInfo captures additional data, beyond " "System Name information, that could be used to identify " "a ComputerSystem. One example would be to hold the " "Fibre Channel World-Wide Name (WWN) of a node. Note that " "if only the Fibre Channel name is available and is " "unique (able to be used as the System key), then this " "property would be NULL and the WWN would become the " "System key, its data placed in the Name property."), ModelCorrespondence { "CIM_ComputerSystem.IdentifyingDescriptions"} ] string OtherIdentifyingInfo[]; [ArrayType ("Indexed"), Description ( "An array of free-form strings providing explanations " "and details behind the entries in the OtherIdentifying" "Info array. Note, each entry of this array is related " "to the entry in OtherIdentifyingInfo that is located at " "the same index."), ModelCorrespondence { "CIM_ComputerSystem.OtherIdentifyingInfo"} ] string IdentifyingDescriptions[]; [Description ( " Enumeration indicating whether the ComputerSystem is " "a special-purpose System (ie, dedicated to a particular " "use), versus being 'general purpose'. For example, one " "could specify that the System is dedicated to \"Print\" " "(value=11) or acts as a \"Hub\" (value=8). \n" " A clarification is needed with respect to the value " "17 (\"Mobile User Device\"). An example of a dedicated " "user device is a mobile phone or a barcode scanner in a " "store that communicates via radio frequency. These systems " "are quite limited in functionality and programmability, " "and are not considered 'general purpose' computing platforms. " "Alternately, an example of a mobile system that is " "'general purpose' (i.e., is NOT dedicated) is a hand-held " "computer. Although limited in its programmability, new " "software can be downloaded and its functionality expanded " "by the user."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17"}, Values {"Not Dedicated", "Unknown", "Other", "Storage", "Router", "Switch", "Layer 3 Switch", "Central Office Switch", "Hub", "Access Server", "Firewall", "Print", "I/O", "Web Caching", "Management", "Block Server", "File Server", "Mobile User Device"}, ModelCorrespondence { "CIM_ComputerSystem.OtherDedicatedDescriptions"} ] uint16 Dedicated[]; [Experimental, Description ( "A string describing how or why the system is dedicated " "when the Dedicated array includes the value 2, " "\"Other\"."), ModelCorrespondence {"CIM_ComputerSystem.Dedicated"} ] string OtherDedicatedDescriptions[]; [Description ( "If enabled (value = 4), the ComputerSystem can be " "reset via hardware (e.g. the power and reset buttons). If " "disabled (value = 3), hardware reset is not allowed. In " "addition to Enabled and Disabled, other Values for the " "property are also defined - \"Not Implemented\" (5), " "\"Other\" (1) and \"Unknown\" (2)."), ValueMap {"1", "2", "3", "4", "5"}, Values {"Other", "Unknown", "Disabled", "Enabled", "Not Implemented"}, MappingStrings {"MIF.DMTF|System Hardware Security|001.4"} ] uint16 ResetCapability; [Deprecated {"CIM_PowerManagementCapabilities.PowerCapabilities"}, Description ( "An enumerated array describing the power management " "capabilities of the ComputerSystem. The use of this " "property has been deprecated. Instead, the Power" "Capabilites property in an associated PowerManagement" "Capabilities class should be used." ), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, Values {"Unknown", "Not Supported", "Disabled", "Enabled", "Power Saving Modes Entered Automatically", "Power State Settable", "Power Cycling Supported", "Timed Power On Supported"}, MappingStrings {"MIF.DMTF|System Power Controls|001.2"} ] uint16 PowerManagementCapabilities[]; [Deprecated {"CIM_PowerManagementService.SetPowerState"}, Description ( "Sets the power state of the computer. " "The use of this method has been deprecated. Instead, " "use the SetPowerState method in the associated " "PowerManagementService class." ) ] uint32 SetPowerState( [IN, ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"}, Values {"Full Power", "Power Save - Low Power Mode", "Power Save - Standby", "Power Save - Other", "Power Cycle", "Power Off", "Hibernate", "Soft Off"} ] uint32 PowerState, [IN] datetime Time); }; // ================================================================== // ComputerSystemNodeCapabilities // ================================================================== [Experimental, Version ("2.7.0"), Description ( "Indicates general capabilities of a ComputerSystem node, such as " "the ability to support a battery (and be portable), and ECC " "memory. To tie these capabilities to a ComputerSystem instance, " "the ElementCapabilities association is used.") ] class CIM_ComputerSystemNodeCapabilities : CIM_Capabilities { [Required, Description ( "Enumeration indicating whether a battery is installable/" "supportable on this System. This is independent of " "whether one is currently installed. The latter is " "indicated by an instance of the CIM_Battery class " "associated using the SystemDevice relationship."), ValueMap {"0", "2", "3"}, Values {"Unknown", "Battery Supported", "Battery Not Supported"} ] uint16 BatterySupported; [Required, Description ( "Enumeration indicating whether ECC single or multi-bit " "memory is supported on this node. This is independent " "of whether ECC memory is actually installed. The latter " "is indicated by an instance of CIM_PhysicalMemory that " "'Realizes' the CIM_Memory of the System (associated using " "SystemDevice)."), ValueMap {"0", "2", "3"}, Values {"Unknown", "Single-bit ECC", "Multi-bit ECC"}, MappingStrings {"MIF.DMTF|Physical Memory|002.10"} ] uint16 ECCSupported; }; // =================================================================== // ComponentCS // =================================================================== [Association, Aggregation, Composition, Version ("2.7.0"), Description ( "A ComputerSystem can aggregate another ComputerSystem. " "This association can be used to model MPP Systems with " "workstation frontends, an I2O subsystem embedded in a Unitary" "ComputerSystem, or a System that splits functionality between " "two processors, potentially running different Operating" "Systems. For example, if a CISC Processor and its associated " "OperatingSystem, are used for user interface and file " "support, and a RISC Processor and its OS are used for complex " "mathematical operations, this could be modeled as two " "ComputerSystems where one aggregates the other. In some cases, " "this could be modeled as a Cluster. The difference is the " "focus of the relationship. ComponentCS represents that " "unique and distinct ComputerSystems are aggregated by a " "higher level CS object. However, each of the component CSs are " "still distinguishable entities and are only viewed as such. " "Alternately, with a Cluster, the ComputerSystems that " "participate in it are inconsequential, when viewed through the " "'Cluster System'.\n\n" "When instantiating or subclassing the ComponentCS " "relationship, care should be taken that the component " "ComputerSystem meets the definitional requirements of a " "ComputerSystem - ie, a functional whole that provides " "compute capabilities and aggregates System Devices, an " "OperatingSystem, etc.") ] class CIM_ComponentCS : CIM_SystemComponent { [Override ("GroupComponent"), Aggregate, Description ( "The ComputerSystem that contains and/or aggregates other " "Systems.") ] CIM_ComputerSystem REF GroupComponent; [Override ("PartComponent"), Description ("The contained (Sub)ComputerSystem.") ] CIM_ComputerSystem REF PartComponent; }; // =================================================================== // UnitaryComputerSystem // =================================================================== [Version ("2.7.0"), Description ( "A class derived from ComputerSystem that represents a Desktop, " "Mobile, NetPC, Server or other type of a single node Computer " "System.") ] class CIM_UnitaryComputerSystem : CIM_ComputerSystem { [Description ( "This object contains the data needed to find either the " "initial load device (its key) or the boot service to " "request the operating system to start up. In addition, " "the load parameters (ie, a pathname and parameters) " "may also be specified.") ] string InitialLoadInfo[]; [Description ( "This object contains the data identifying either the " "initial load device (its key) or the boot service that " "requested the last operating system load. In addition, " "the load parameters (ie, a pathname and parameters) " "may also be specified."), MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadDevice", "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadParameters", "MIF.DMTF|Host System|001.3"} ] string LastLoadInfo; [Deprecated {"CIM_PowerManagementCapabilities"}, Description ( "When TRUE, indicates that the computer can be power managed. " "The use of this property has been deprecated. Instead, " "the existence of an associated PowerManagementCapabilities " "class (associated using the ElementCapabilites " "relationship) indicates that power management is supported." ) ] boolean PowerManagementSupported; [Description ( "Indicates the current power state of the ComputerSystem and " "its associated OperatingSystem. Regarding the Power Save " "states, these are defined as follows: Value 4 (\"Power Save " "- Unknown\") indicates that the System is known to be in a " "power save mode, but its exact status in this mode is " "unknown; 2 (\"Power Save - Low Power Mode\") indicates that " "the System is in a power save state but still functioning, " "and may exhibit degraded performance; 3 (\"Power Save - " "Standby\") describes that the System is not functioning but " "could be brought to full power 'quickly'; value 7 (\"Power " "Save - Warning\") indicates that the ComputerSystem is in a " "warning state, though also in a power save mode; and, values " "8 and 9 describe the ACPI \"Hibernate\" and \"Soft Off\" " "states."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}, Values {"Unknown", "Full Power", "Power Save - Low Power Mode", "Power Save - Standby", "Power Save - Unknown", "Power Cycle", "Power Off", "Power Save - Warning", "Power Save - Hibernate", "Power Save - Soft Off"} ] uint16 PowerState; [Description ( "The event that caused the System to power up. This " "information is available in SMBIOS, in the Type 1 structure, " "the Wake Up Type attribute."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"}, Values {"Reserved", "Other", "Unknown", "APM Timer", "Modem Ring", "LAN Remote", "Power Switch", "PCI PME#", "A/C Power Restored"} ] uint16 WakeUpType; }; // =================================================================== // SystemPartition // =================================================================== [Association, Aggregation, Composition, Version ("2.7.0"), Description ( "A Partition is an instance of a UnitaryComputerSystem (with " "its own OperatingSystem and Devices dedicated to the " "Partition) that is supported by underlying hardware and " "software. A Partition is not a virtualization of a Computer" "System, but the segmentation of the System's compute " "capabilities. Partitions can run independent copies of " "possibly different OperatingSystems and have dedicated " "Devices. The 'real', underlying System (perhaps a Cluster " "or another UnitaryComputerSystem) aggregates its " "Partitions. These semantics are described by the System" "Partition association.") ] class CIM_SystemPartition : CIM_ComponentCS { [Override ("GroupComponent"), Aggregate, Max (1), Description ( "The 'underlying' ComputerSystem that hosts a Partition.") ] CIM_ComputerSystem REF GroupComponent; [Override ("PartComponent"), Description ("The System Partition.") ] CIM_UnitaryComputerSystem REF PartComponent; }; // =================================================================== // VirtualComputerSystem // =================================================================== [Version ("2.6.0"), Description ( "A class derived from ComputerSystem that represents the " "ability to virtualize or emulate another ComputerSystem.") ] class CIM_VirtualComputerSystem : CIM_ComputerSystem { [Description ( "A string describing the type of System or hardware platform " "that is virtualized. OperatingSystem information is obtained " "via the RunningOS inherited from ComputerSystem.") ] string VirtualSystem; }; // =================================================================== // HostingCS // =================================================================== [Association, Version ("2.6.0"), Description ( "A VirtualComputerSystem is hosted on another ComputerSystem. " "This association makes that relationship explicit.") ] class CIM_HostingCS : CIM_Dependency { [Override ("Antecedent"), Min (1), Description ("The hosting ComputerSystem.") ] CIM_ComputerSystem REF Antecedent; [Override ("Dependent"), Description ("The VirtualComputerSystem.") ] CIM_VirtualComputerSystem REF Dependent; }; // =================================================================== // Cluster // =================================================================== [Version ("2.6.0"), Description ( "A class derived from ComputerSystem that 'is made up of' two " "or more ComputerSystems which operate together as an atomic, " "functional whole to increase the performance, resources and/or " "RAS (Reliability, Availability and Serviceability) of the " "component ComputerSystems, related to some aspects of these " "ComputerSystems.") ] class CIM_Cluster : CIM_ComputerSystem { [Description ( "Interconnect is a free form string that describes the " "interconnection mechanism for the Cluster.") ] string Interconnect; [Description ( "InterconnectAddress indicates the address of the Cluster " "System, which is dependent on the interconnection scheme. " "If no address is available or applicable, a null string " "should be used.") ] string InterconnectAddress; [Description ( "The cluster types. This specifies whether the cluster is for " "failover (value=2), performance (3), etc. The values which " "can be specified are not mutually exclusive. Thus, Types is " "an array."), ValueMap {"0", "1", "2", "3", "4", "5", "6"}, Values {"Unknown", "Other", "Failover", "Performance", "Distributed OS", "Node Grouping", "SysPlex"} ] uint16 Types[]; [Description ( "Indicates the maximum number of nodes that may participate in " "the Cluster. If unlimited, enter 0.") ] uint32 MaxNumberOfNodes; [Description ( "Indicates the state of the Cluster. The cluster can be " "defined to be on-line (value=2), off-line (3), in a degraded " "mode of operation (4) or unavailable (5)."), ValueMap {"0", "1", "2", "3", "4", "5"}, Values {"Unknown", "Other", "On-line", "Off-line", "Degraded", "Unavailable"} ] uint16 ClusterState; }; // =================================================================== // ParticipatingCS // =================================================================== [Association, Version ("2.6.0"), Description ( "A Cluster is composed of two or more ComputerSystems, " "operating together. A ComputerSystem may participate in " "multiple Clusters. \n\n" "When first establishing or bringing up a Cluster, only one " "ComputerSystem may be defined as participating in it. " "Therfore, the cardinality of the association for " "the ComputerSystem reference is Min (1). ") ] class CIM_ParticipatingCS : CIM_Dependency { [Override ("Antecedent"), Min (1), Description ( "The ComputerSystem which participates in the Cluster. ") ] CIM_ComputerSystem REF Antecedent; [Override ("Dependent"), Description ("The Cluster.") ] CIM_Cluster REF Dependent; [Description ( "StateOfNode indicates the condition of the participating " "ComputerSystem in the Cluster. For example, one value is " "\"Joining\" (2)."), ValueMap {"0", "1", "2", "3", "4", "5", "6"}, Values {"Unknown", "Other", "Joining", "Paused", "Available", "Unavailable", "Degraded"} ] uint16 StateOfNode; [Description ( "RoleOfNode indicates whether the Cluster nodes are " "peers (value = 2), connected in a master-slave/primary-" "secondary relationship (values = 3 for primary, 4 for " "secondary), available in a standby configuration (5) or " "of some other (1) or unknown (0) relationship. In a " "System/390 environment, the nodes are identified as \"Base " "Plex\" (value=6) or \"Enhanced Plex\" (value=7)."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, Values {"Unknown", "Other", "Peer", "Primary", "Secondary", "Standby", "Base Plex", "Enhanced Plex"} ] uint16 RoleOfNode; }; // =================================================================== // ClusteringService // =================================================================== [Version ("2.6.0"), Description ( "ClusteringService represents the functionality provided by a " "Cluster. For example, failover functionality may be modeled as " "a Service of a failover Cluster.") ] class CIM_ClusteringService : CIM_Service { [Description ( "AddNode brings a new ComputerSystem into a Cluster. " "The node to be added is specified as a parameter to the " "method. The return value should be 0 if the Computer" "System is successfully added, 1 if the method is not " "supported and any other number if an error occurred. " "In a subclass, the set of possible return codes could be " "specified, using a ValueMap qualifier on the method. The " "strings to which the ValueMap contents are 'translated' " "may also be specified in the subclass as a Values array " "qualifier.") ] uint32 AddNode ( [IN] CIM_ComputerSystem ref CS); [Description ( "EvictNode removes a ComputerSystem from a Cluster. " "The node to be evicted is specified as a parameter to the " "method. The return value should be 0 if the ComputerSystem " "is successfully evicted, 1 if the method is not supported " "and any other number if an error occurred. In a subclass, " "the set of possible return codes could be specified, using a " "ValueMap qualifier on the method. The strings to which the " "ValueMap contents are 'translated' may also be specified in " "the subclass as a Values array qualifier.") ] uint32 EvictNode ( [IN] CIM_ComputerSystem ref CS); }; // =================================================================== // ClusteringSAP // =================================================================== [Version ("2.6.0"), Description ( "A representation of the access points of a ClusteringService.") ] class CIM_ClusteringSAP : CIM_ServiceAccessPoint { }; // =================================================================== // ClusterServiceAccessBySAP // =================================================================== [Association, Version ("2.6.0"), Description ( "ClusterServiceAccessBySAP is the relationship between a " "ClusteringService and its access points.") ] class CIM_ClusterServiceAccessBySAP : CIM_ServiceAccessBySAP { [Override ("Antecedent"), Description ("The ClusteringService.") ] CIM_ClusteringService REF Antecedent; [Override ("Dependent"), Description ("An access point for the ClusteringService.") ] CIM_ClusteringSAP REF Dependent; }; // =================================================================== // HostedClusterService // =================================================================== [Association, Version ("2.6.0"), Description ( "HostedClusterService defines the hosting Cluster for a " "ClusteringService. Since this relationship is subclassed " "from HostedService, it inherits the scoping/naming scheme " "defined for Service - where a Service is weak to its " "hosting System. In this case, a ClusteringService must be " "weak to its hosting Cluster System.") ] class CIM_HostedClusterService : CIM_HostedService { [Override ("Antecedent"), Min (1), Max (1), Description ("The Cluster.") ] CIM_Cluster REF Antecedent; [Override ("Dependent"), Description ( "The ClusteringService that is hosted on the Cluster.") ] CIM_ClusteringService REF Dependent; }; // =================================================================== // HostedClusterSAP // =================================================================== [Association, Version ("2.6.0"), Description ( "HostedClusterSAP defines the hosting ComputerSystem for a " "ClusteringSAP. Since this relationship is subclassed " "from HostedAccessPoint, it inherits the scoping/naming scheme " "defined for AccessPoint - where an AccessPoint is weak to " "its hosting System. In this case, a ClusteringSAP must be " "weak to its hosting ComputerSystem.") ] class CIM_HostedClusterSAP : CIM_HostedAccessPoint { [Override ("Antecedent"), Min (1), Max (1), Description ("The ComputerSystem.") ] CIM_ComputerSystem REF Antecedent; [Override ("Dependent"), Description ( "The ClusteringSAP that is hosted on the ComputerSystem.") ] CIM_ClusteringSAP REF Dependent; }; // ================================================================== // ComputerSystemPackage // ================================================================== [Association, Version ("2.7.0"), Description ( "Similar to the way that LogicalDevices are 'Realized' by " "PhysicalElements, UnitaryComputerSystems are realized in " "one or more PhysicalPackages. The ComputerSystemPackage " "association explicitly defines this relationship.") ] class CIM_ComputerSystemPackage : CIM_SystemPackaging { [Override ("Antecedent"), Description ( "The PhysicalPackage(s) that realize a Unitary" "ComputerSystem.") ] CIM_PhysicalPackage REF Antecedent; [Override ("Dependent"), Description ("The UnitaryComputerSystem.") ] CIM_ComputerSystem REF Dependent; [Description ( "A Gloabally Unique Identifier for the System's Package.") ] string PlatformGUID; }; // =================================================================== // end of file // ===================================================================