427 lines
22 KiB
Plaintext
427 lines
22 KiB
Plaintext
// Copyright (c) 2005 DMTF. All rights reserved.
|
|
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
|
|
// qualifier values to CIM Schema.</change>
|
|
// ==================================================================
|
|
// 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(
|
|
);
|
|
|
|
};
|