// Copyright (c) 2013 DMTF. All rights reserved. [Abstract, Version ( "2.40.0" ), UMLPackagePath ( "CIM::Core::Device" ), Description ( "An abstraction or emulation of a hardware entity, that might " "or might 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_AllocatedLogicalElement { [Key, Description ( "The CreationClassName of the scoping system." ), MaxLen ( 256 ), Propagated ( "CIM_System.CreationClassName" )] string SystemCreationClassName; [Key, Description ( "The System Name of the scoping system." ), 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 used to " "uniquely name the LogicalDevice." ), MaxLen ( 64 )] string DeviceID; [Deprecated { "CIM_PowerManagementCapabilities.PowerStatesSupported" }, Description ( "Note: The use of this property has been deprecated. " "Instead, the existence of an associated " "PowerManagementCapabilities class (associated using the " "ElementCapabilities relationship) indicates that power " "management is supported. Deprecated description: Boolean " "that indicates that the Device can use power management." )] boolean PowerManagementSupported; [Deprecated { "CIM_PowerManagementCapabilities.PowerCapabilities" }, Description ( "Note: The use of this property has been deprecated. " "Instead, use the PowerCapabilites property in an " "associated PowerManagementCapabilities class. Deprecated " "description: An enumerated array describing the power " "management capabilities of the Device." ), 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[]; [Deprecated { "CIM_AssociatedPowerManagementService.PowerState", "CIM_ManagedSystemElement.OperationalStatus", "CIM_EnabledLogicalElement.EnabledState" }, Description ( "Note: The use of this property has been deprecated. \n" "Deprecated 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). The " "Power Save states 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; value 14 (\"Power Save - Low " "Power Mode\") indicates that the Device is in a power " "save state but still functioning, and might exhibit " "degraded performance; value 15 (\"Power Save - Standby\") " "indicates 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, but is 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 ( "Note: The use of this method is deprecated in lieu of a " "more clearly named property (EnabledState) that is " "inherited from ManagedSystemElement and that has " "additional enumerated values. \n" "Deprecated description: The StatusInfo property " "indicates whether the Logical Device is in an enabled " "state (value=3), disabled state (value=4), some other " "state (value=1), or an unknown state (value=2). If this " "property does not apply to the LogicalDevice, the value " "5 (\"Not Applicable\") should be used. If a Device is " "(\"Enabled\")(value=3), it has been powered up and is " "configured and operational. The Device might or might " "not be functionally active, depending on whether its " "Availability (or AdditionalAvailability) indicates that " "it is (\"Running/Full Power\")(value=3) or (\"Off line\") " "(value=8). In an enabled but offline mode, a Device " "might be performing out-of-band requests, such as " "running Diagnostics. If StatusInfo is (\"Disabled\") " "(value=4), a Device can only be \"enabled\" or powered " "off. In a personal computer environment, (\"Disabled\") " "means that the driver of the device 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 it cannot be communicated with until a " "driver is loaded, a configuration file is loaded, 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 ( "Note: The use of this method is deprecated. \n" "Deprecated description: LastErrorCode captures the last " "error code reported by the LogicalDevice." )] uint32 LastErrorCode; [Deprecated { "CIM_DeviceErrorData.ErrorDescription" }, Description ( "Note: The use of this method is deprecated. \n" "Deprecated description: ErrorDescription is a free-form " "string that supplies more information about the error " "recorded in LastErrorCode and information on any " "corrective actions that can be taken." )] string ErrorDescription; [Deprecated { "CIM_ManagedSystemElement.OperationalStatus" }, Description ( "Note: The use of this method is deprecated. \n" "Deprecated description: ErrorCleared is a Boolean " "property that indicates that the error reported in " "LastErrorCode is now cleared." )] boolean ErrorCleared; [Description ( "OtherIdentifyingInfo captures data, in addition to " "DeviceID information, that could be used to identify a " "LogicalDevice. For example, you could use this property " "to hold the operating system\'s user-friendly name for " "the Device." ), ArrayType ( "Indexed" ), MaxLen ( 256 ), ModelCorrespondence { "CIM_LogicalDevice.IdentifyingDescriptions" }] string OtherIdentifyingInfo[]; [Deprecated { "CIM_PoweredStatisticalData.PowerOnHours" }, Description ( "Note: The use of this method is deprecated. \n" "Deprecated description: The number of consecutive hours " "that this Device has been powered on since its last " "power cycle." ), Units ( "Hours" ), Counter, PUnit ( "hour" )] uint64 PowerOnHours; [Deprecated { "CIM_PoweredStatisticalData.TotalPowerOnHours" }, Description ( "Note: The use of this method is deprecated. \n" "Deprecated description: The total number of hours that " "this Device has been powered on." ), Units ( "Hours" ), Counter, PUnit ( "hour" )] uint64 TotalPowerOnHours; [Description ( "An array of free-form strings providing explanations and " "details behind the entries in the OtherIdentifyingInfo " "array. Note that 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 in " "addition to that specified in the Availability property. " "The Availability property denotes the primary status and " "availability of the Device. In some cases, this property " "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, the primary Availability of a device might be " "\"Off line\" (value=8) or in a low-power state " "(AdditionalAvailability 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 ( "Note: The use of this property has been deprecated. When " "evaluating the use of Quiesce, it was determined 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 decision will be re-evaluated and " "repositioned later. \n" "Deprecated description: Maximum time, in milliseconds, " "that a Device can run in a \"Quiesced\" state. The 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 can unquiesce, " "can be offline, or can take other actions. A value of 0 " "indicates that a Device can remain quiesced " "indefinitely." ), Units ( "MilliSeconds" ), PUnit ( "second * 10^-3" )] uint64 MaxQuiesceTime; [Experimental, Write, Description ( "An integer that reflects the state of an indicator " "(e.g., LED) that is part of a device. Reading the value " "gives the current state. Writing the value with " "\'On\'/\'Off\' turns the indicator on/off, other values " "may not be written." ), ValueMap { "0", "2", "3", "4" }, Values { "Unknown", "On", "Off", "Not Supported" }, ModelCorrespondence { "CIM_AlarmDevice.AlarmState", "CIM_AlarmDevice.AudioIndicatorIsDisabled", "CIM_AlarmDevice.VisualIndicatorIsDisabled", "CIM_AlarmDevice.MotionIndicatorIsDisabled" }] uint16 LocationIndicator; [Override ( "AllocationState" ), Description ( "Allocation state of the logical device." ), EmbeddedInstance ( "CIM_ResourceAllocationSettingData" )] string AllocationState; [Deprecated { "CIM_PowerManagementService.SetPowerState" }, Description ( "Note: The use of this method has been deprecated. " "Instead, use the SetPowerState method in the associated " "PowerManagementService class. Deprecated description: " "Sets the power state of the Device." )] 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\' can also be " "specified in the subclass as a Values array qualifier." )] uint32 Reset( ); [Deprecated { "CIM_EnabledLogicalElement.RequestStateChange" }, Description ( "Note: The use of this method has been deprecated in lieu " "of the more general RequestStateChange method that " "directly overlaps with the functionality provided by " "this method. \n" "Deprecated description: Requests that the LogicalDevice " "be enabled (\"Enabled\" input parameter=TRUE) or " "disabled (=FALSE). If successful, the StatusInfo or " "EnabledState properties of the Device should reflect the " "desired state (enabled or disabled). Note that this " "function overlaps with the RequestedState property. " "RequestedState was added to the model to maintain a " "record (for example, 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 by using a ValueMap qualifier on the method. " "The strings to which the ValueMap contents are " "\'translated\' can 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 ( "Note: The use of this method has been deprecated in lieu " "of the more general RequestStateChange method that " "directly overlaps with the functionality provided by " "this method. \n" "Deprecated description: 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 Availability " "property of the Device would be set to a value of 3 " "(\"Running/Full Power\"). \"Offline\" indicates that a " "Device is powered on and operational, but is not " "processing functional requests. In an offline state, a " "Device might 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 it could " "be available for diagnostics or maintenance. \n" "If this method is successful, the Availability and " "AdditionalAvailability properties of the Device should " "reflect the updated status. If a failure occurs when you " "try to bring the Device online or offline, it should " "remain in its current state. 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 or " "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\' " "can also be specified in the subclass as a Values array " "qualifier. \n" "Note that the function of this method overlaps with the " "RequestedState property. RequestedState was added to the " "model to maintain a record (for example, 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 ( "Note: The use of this method has been deprecated in lieu " "of the more general RequestStateChange method that " "directly overlaps with the functionality provided by " "this method. \n" "Deprecated description: Requests that the LogicalDevice " "cleanly cease all 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 can then be taken offline 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 or " "StatusInfo of \"Enabled\". In this case, the Device " "would be returned to an \"Enabled\" and \"Running/Full " "Power\" status. \n" "The return code of the method 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\' can 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); [Deprecated { "CIM_ConfigurationData.ConfigurationInformation" }, Description ( "Note: The use of this method is deprecated. Its function " "is handled more generally by the ConfigurationData " "subclass of SettingData. \n" "Deprecated description: Requests that the Device capture " "its current configuration, setup or state information, " "or both in a backing store. \n" "The information returned by this method could be used at " "a later time (using the RestoreProperties method) to " "return a Device to its present \"condition\". This " "method might 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\' can also be specified in the subclass " "as a Values array qualifier." )] uint32 SaveProperties( ); [Deprecated { "CIM_ConfigurationData.ApplyConfiguration" }, Description ( "Note: The use of this method is deprecated. Its function " "is handled more generally by the ConfigurationData " "subclass of SettingData. \n" "Requests that the Device re-establish its configuration, " "setup or state information, or both from a backing " "store. The information would have been captured at an " "earlier time (using the SaveProperties method). This " "method might 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\' can also be specified in the subclass " "as a Values array qualifier." )] uint32 RestoreProperties( ); };