// Copyright (c) 2005 DMTF. All rights reserved. // Add UmlPackagePath // qualifier values to CIM Schema. // ================================================================== // CIM_LogicalDevice // ================================================================== [Abstract, Version ( "2.8.0" ), UMLPackagePath ( "CIM::Core::Device" ), Description ( "An abstraction or emulation of a hardware entity, that may or " "may not be Realized in physical hardware. Any characteristics " "of a LogicalDevice that are used to manage its operation or " "configuration are contained in, or associated with, the " "LogicalDevice object. Examples of the operational properties " "of a Printer would be paper sizes supported, or detected " "errors. Examples of the configuration properties of a Sensor " "Device would be threshold settings. Various configurations " "could exist for a LogicalDevice. These configurations could be " "contained in Setting objects and associated with the " "LogicalDevice." )] class CIM_LogicalDevice : CIM_EnabledLogicalElement { [Key, Description ( "The scoping System\'s CreationClassName." ), MaxLen ( 256 ), Propagated ( "CIM_System.CreationClassName" )] string SystemCreationClassName; [Key, Description ( "The scoping System\'s Name." ), MaxLen ( 256 ), Propagated ( "CIM_System.Name" )] string SystemName; [Key, Description ( "CreationClassName indicates the name of the class or the " "subclass used in the creation of an instance. When used " "with the other key properties of this class, this " "property allows all instances of this class and its " "subclasses to be uniquely identified." ), MaxLen ( 256 )] string CreationClassName; [Key, Description ( "An address or other identifying information to uniquely " "name the LogicalDevice." ), MaxLen ( 64 )] string DeviceID; [Deprecated { "CIM_PowerManagementCapabilities" }, Description ( "Boolean indicating that the Device can be power managed. " "The use of this property has been deprecated. Instead, " "the existence of an associated " "PowerManagementCapabilities class (associated using the " "ElementCapabilities relationhip) indicates that power " "management is supported." )] boolean PowerManagementSupported; [Deprecated { "CIM_PowerManagementCapabilities.PowerCapabilities" }, Description ( "An enumerated array describing the power management " "capabilities of the Device. The use of this property has " "been deprecated. Instead, the PowerCapabilites property " "in an associated PowerManagementCapabilities 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" }] uint16 PowerManagementCapabilities[]; [Description ( "The primary availability and status of the Device. " "(Additional status information can be specified using " "the Additional Availability array property.) For " "example, the Availability property indicates that the " "Device is running and has full power (value=3), or is in " "a warning (4), test (5), degraded (10) or power save " "state (values 13-15 and 17). Regarding the Power Save " "states, these are defined as follows: Value 13 (\"Power " "Save - Unknown\") indicates that the Device is known to " "be in a power save mode, but its exact status in this " "mode is unknown; 14 (\"Power Save - Low Power Mode\") " "indicates that the Device is in a power save state but " "still functioning, and may exhibit degraded performance; " "15 (\"Power Save - Standby\") describes that the Device " "is not functioning but could be brought to full power " "\'quickly\'; and value 17 (\"Power Save - Warning\") " "indicates that the Device is in a warning state, though " "also in a power save mode." ), ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21" }, Values { "Other", "Unknown", "Running/Full Power", "Warning", "In Test", "Not Applicable", "Power Off", "Off Line", "Off Duty", "Degraded", "Not Installed", "Install Error", "Power Save - Unknown", "Power Save - Low Power Mode", "Power Save - Standby", "Power Cycle", "Power Save - Warning", "Paused", "Not Ready", "Not Configured", "Quiesced" }, MappingStrings { "MIF.DMTF|Operational State|006.5", "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus", "MIF.DMTF|Host Device|001.5" }, ModelCorrespondence { "CIM_LogicalDevice.AdditionalAvailability" }] uint16 Availability; [Deprecated { "CIM_EnabledLogicalElement.EnabledState" }, Description ( "The StatusInfo property indicates whether the Logical " "Device is in an enabled (value = 3), disabled (value = " "4) or some other (1) or unknown (2) state. If this " "property does not apply to the LogicalDevice, the value, " "5 (\"Not Applicable\"), should be used. StatusInfo has " "been deprecated in lieu of a more clearly named property " "with additional enumerated values (EnabledState), that " "is inherited from ManagedSystemElement. \n" "If a Device is (\"Enabled\")(value=3), it has been " "powered up, and is configured and operational. The " "Device may or may not be functionally active, depending " "on whether its Availability (or AdditionalAvailability) " "indicate that it is (\"Running/Full Power\")(value=3) or " "(\"Off line\") (value=8). In an enabled but offline " "mode, a Device may be performing out-of-band requests, " "such as running Diagnostics. If (\"Disabled\") " "StatusInfo value=4), a Device can only be \"enabled\" or " "powered off. In a personal computer environment, " "(\"Disabled\") means that the Device\'s driver is not " "available in the stack. In other environments, a Device " "can be disabled by removing its configuration file. A " "disabled device is physically present in a System and " "consuming resources, but can not be communicated with " "until a load of a driver, a load of a configuration file " "or some other \"enabling\" activity has occurred." ), ValueMap { "1", "2", "3", "4", "5" }, Values { "Other", "Unknown", "Enabled", "Disabled", "Not Applicable" }, MappingStrings { "MIF.DMTF|Operational State|006.4" }] uint16 StatusInfo; [Deprecated { "CIM_DeviceErrorData.LastErrorCode" }, Description ( "LastErrorCode captures the last error code reported by " "the LogicalDevice." )] uint32 LastErrorCode; [Deprecated { "CIM_DeviceErrorData.ErrorDescription" }, Description ( "ErrorDescription is a free-form string supplying more " "information about the error recorded in LastErrorCode, " "and information on any corrective actions that may be " "taken." )] string ErrorDescription; [Deprecated { "CIM_ManagedSystemElement.OperationalStatus" }, Description ( "ErrorCleared is a boolean property indicating that the " "error reported in LastErrorCode is now cleared." )] boolean ErrorCleared; [Description ( "OtherIdentifyingInfo captures additional data, beyond " "DeviceID information, that could be used to identify a " "LogicalDevice. One example would be to hold the " "Operating System\'s user friendly name for the Device in " "this property." ), ArrayType ( "Indexed" ), MaxLen ( 256 ), ModelCorrespondence { "CIM_LogicalDevice.IdentifyingDescriptions" }] string OtherIdentifyingInfo[]; [Description ( "The number of consecutive hours that this Device has " "been powered, since its last power cycle." ), Units ( "Hours" ), Counter] uint64 PowerOnHours; [Description ( "The total number of hours that this Device has been powered." ), Units ( "Hours" ), Counter] uint64 TotalPowerOnHours; [Description ( "An array of free-form strings providing explanations and " "details behind the entries in the OtherIdentifyingInfo " "array. Note, each entry of this array is related to the " "entry in OtherIdentifyingInfo that is located at the " "same index." ), ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_LogicalDevice.OtherIdentifyingInfo" }] string IdentifyingDescriptions[]; [Description ( "Additional availability and status of the Device, beyond " "that specified in the Availability property. The " "Availability property denotes the primary status and " "availability of the Device. In some cases, this will not " "be sufficient to denote the complete status of the " "Device. In those cases, the AdditionalAvailability " "property can be used to provide further information. For " "example, a Device\'s primary Availability may be \"Off " "line\" (value=8), but it may also be in a low power " "state (AdditonalAvailability value=14), or the Device " "could be running Diagnostics (AdditionalAvailability " "value=5, \"In Test\")." ), ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21" }, Values { "Other", "Unknown", "Running/Full Power", "Warning", "In Test", "Not Applicable", "Power Off", "Off Line", "Off Duty", "Degraded", "Not Installed", "Install Error", "Power Save - Unknown", "Power Save - Low Power Mode", "Power Save - Standby", "Power Cycle", "Power Save - Warning", "Paused", "Not Ready", "Not Configured", "Quiesced" }, ModelCorrespondence { "CIM_LogicalDevice.Availability" }] uint16 AdditionalAvailability[]; [Deprecated { "No value" }, Description ( "The MaxQuiesceTime property has been deprecated. When " "evaluating the use of Quiesce, it was determine that " "this single property is not adequate for describing when " "a device will automatically exit a quiescent state. In " "fact, the most likely scenario for a device to exit a " "quiescent state was determined to be based on the number " "of outstanding requests queued rather than on a maximum " "time. This will be re-evaluated and repositioned later. \n" "Maximum time in milliseconds, that a Device can run in a " "\"Quiesced\" state. A Device\'s state is defined in its " "Availability and AdditionalAvailability properties, " "where \"Quiesced\" is conveyed by the value 21. What " "occurs at the end of the time limit is device-specific. " "The Device may unquiesce, may offline or take other " "action. A value of 0 indicates that a Device can remain " "quiesced indefinitely." ), Units ( "MilliSeconds" )] uint64 MaxQuiesceTime; [Deprecated { "CIM_PowerManagementService.SetPowerState" }, Description ( "Sets the power state of the Device. The use of this " "method has been deprecated. Instead, use the " "SetPowerState method in the associated " "PowerManagementService class." )] uint32 SetPowerState( [IN, Description ( "The power state to set." ), ValueMap { "1", "2", "3", "4", "5", "6" }, Values { "Full Power", "Power Save - Low Power Mode", "Power Save - Standby", "Power Save - Other", "Power Cycle", "Power Off" }] uint16 PowerState, [IN, Description ( "Time indicates when the power state should be set, " "either as a regular date-time value or as an " "interval value (where the interval begins when the " "method invocation is received." )] datetime Time); [Description ( "Requests a reset of the LogicalDevice. The return value " "should be 0 if the request was successfully executed, 1 " "if the request is not supported and some other value 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 Reset( ); [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" }, Description ( "The EnableDevice method has been deprecated in lieu of " "the more general RequestStateChange method that directly " "overlaps with the functionality provided by this method. \n" "Requests that the LogicalDevice be enabled (\"Enabled\" " "input parameter = TRUE) or disabled (= FALSE). If " "successful, the Device\'s StatusInfo/EnabledState " "properties should reflect the desired state " "(enabled/disabled). Note that this method\'s function " "overlaps with the RequestedState property. " "RequestedState was added to the model to maintain a " "record (i.e., a persisted value) of the last state " "request. Invoking the EnableDevice method should set the " "RequestedState property appropriately. \n" "The return code should be 0 if the request was " "successfully executed, 1 if the request is not supported " "and some other value 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 EnableDevice( [IN, Description ( "If TRUE enable the device, if FALSE disable the device." )] boolean Enabled); [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" }, Description ( "The OnlineDevice method has been deprecated in lieu of " "the more general RequestStateChange method that directly " "overlaps with the functionality provided by this method. \n" "Requests that the LogicalDevice be brought online " "(\"Online\" input parameter = TRUE) or taken offline (= " "FALSE). \"Online\" indicates that the Device is ready to " "accept requests, and is operational and fully " "functioning. In this case, the Device\'s Availability " "property would be set to a value of 3 (\"Running/Full " "Power\"). \"Offline\" indicates that a Device is powered " "up and operational, but not processing functional " "requests. In an offline state, a Device may be capable " "of running diagnostics or generating operational alerts. " "For example, when the \"Offline\" button is pushed on a " "Printer, the Device is no longer available to process " "print jobs, but could be available for diagnostics or " "maintenance. \n" "If this method is successful, the Device\'s Availability " "and AdditionalAvailability properties should reflect the " "updated status. If a failure occurs trying to bring the " "Device online or offline, it should remain in its " "current state. IE, the request, if unsuccessful, should " "not leave the Device in an indeterminate state. When " "bringing a Device back \"Online\", from an \"Offline\" " "mode, the Device should be restored to its last \"Online\" " "state, if at all possible. Only a Device that has an " "EnabledState/StatusInfo of \"Enabled\" and has been " "configured can be brought online or taken offline. \n" "OnlineDevice should return 0 if successful, 1 if the " "request is not supported at all, 2 if the request is not " "supported due to the current state of the Device, and " "some other value if any other 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. \n" "Note that this method\'s function overlaps with the " "RequestedState property. RequestedState was added to the " "model to maintain a record (i.e., a persisted value) of " "the last state request. Invoking the OnlineDevice method " "should set the RequestedState property appropriately." )] uint32 OnlineDevice( [IN, Description ( "If TRUE, take the device online, if FALSE, take " "the device OFFLINE." )] boolean Online); [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" }, Description ( "The QuiesceDevice method has been deprecated in lieu of " "the more general RequestStateChange method that directly " "overlaps with the functionality provided by this method. \n" "Requests that the LogicalDevice cleanly cease all " "current activity (\"Quiesce\" input parameter = TRUE) or " "resume activity (= FALSE). For this method to quiesce a " "Device, that Device should have an Availability (or " "Additional Availability) of \"Running/Full Power\" " "(value=3) and an EnabledStatus/StatusInfo of \"Enabled\". " "For example, if quiesced, a Device may then be offlined " "for diagnostics, or disabled for power off and hot swap. " "For the method to \"unquiesce\" a Device, that Device " "should have an Availability (or AdditionalAvailability) " "of \"Quiesced\" (value=21) and an " "EnabledStatus/StatusInfo of \"Enabled\". In this case, " "the Device would be returned to an \"Enabled\" and " "\"Running/Full Power\" status. \n" "The method\'s return code should indicate the success or " "failure of the quiesce. It should return 0 if " "successful, 1 if the request is not supported at all, 2 " "if the request is not supported due to the current state " "of the Device, and some other value if any other 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 QuiesceDevice( [IN, Description ( "If set to TRUE then cleanly cease all activity, if " "FALSE resume activity." )] boolean Quiesce); [Description ( "Requests that the Device capture its current " "configuration, setup and/or state information in a " "backing store. The goal would be to use this information " "at a later time (via the RestoreProperties method), to " "return a Device to its present \"condition\". This " "method may not be supported by all Devices. The method " "should return 0 if successful, 1 if the request is not " "supported, and some other value if any other 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 SaveProperties( ); [Description ( "Requests that the Device re-establish its configuration, " "setup and/or state information from a backing store. The " "intent is to capture this information at an earlier time " "(via the SaveProperties method), and use it to return a " "Device to this earlier \"condition\". This method may " "not be supported by all Devices. The method should " "return 0 if successful, 1 if the request is not " "supported, and some other value if any other 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 RestoreProperties( ); };