// Copyright (c) 2011 DMTF. All rights reserved. [Abstract, Version ( "2.28.0" ), UMLPackagePath ( "CIM::Core::CoreElements" ), Description ( "CIM_ManagedSystemElement is the base class for the System " "Element hierarchy. Any distinguishable component of a System " "is a candidate for inclusion in this class. Examples of system " "components include: \n" "- software components such as application servers, databases, " "and applications \n" "- operating system components such as files, processes, and " "threads \n" "- device components such as disk drives, controllers, " "processors, and printers \n" "- physical components such as chips and cards." )] class CIM_ManagedSystemElement : CIM_ManagedElement { [Description ( "A datetime value that indicates when the object was " "installed. Lack of a value does not indicate that the " "object is not installed." ), MappingStrings { "MIF.DMTF|ComponentID|001.5" }] datetime InstallDate; [Description ( "The Name property defines the label by which the object " "is known. When subclassed, the Name property can be " "overridden to be a Key property." ), MaxLen ( 1024 )] string Name; [Description ( "Indicates the current statuses of the element. Various " "operational statuses are defined. Many of the " "enumeration\'s values are self-explanatory. However, a " "few are not and are described here in more detail. \n" "\"Stressed\" indicates that the element is functioning, " "but needs attention. Examples of \"Stressed\" states are " "overload, overheated, and so on. \n" "\"Predictive Failure\" indicates that an element is " "functioning nominally but predicting a failure in the " "near future. \n" "\"In Service\" describes an element being configured, " "maintained, cleaned, or otherwise administered. \n" "\"No Contact\" indicates that the monitoring system has " "knowledge of this element, but has never been able to " "establish communications with it. \n" "\"Lost Communication\" indicates that the ManagedSystem " "Element is known to exist and has been contacted " "successfully in the past, but is currently unreachable. \n" "\"Stopped\" and \"Aborted\" are similar, although the " "former implies a clean and orderly stop, while the " "latter implies an abrupt stop where the state and " "configuration of the element might need to be updated. \n" "\"Dormant\" indicates that the element is inactive or " "quiesced. \n" "\"Supporting Entity in Error\" indicates that this " "element might be \"OK\" but that another element, on " "which it is dependent, is in error. An example is a " "network service or endpoint that cannot function due to " "lower-layer networking problems. \n" "\"Completed\" indicates that the element has completed " "its operation. This value should be combined with either " "OK, Error, or Degraded so that a client can tell if the " "complete operation Completed with OK (passed), Completed " "with Error (failed), or Completed with Degraded (the " "operation finished, but it did not complete OK or did " "not report an error). \n" "\"Power Mode\" indicates that the element has additional " "power model information contained in the Associated " "PowerManagementService association. \n" "\"Relocating\" indicates the element is being relocated.\n" "OperationalStatus replaces the Status property on " "ManagedSystemElement to provide a consistent approach to " "enumerations, to address implementation needs for an " "array property, and to provide a migration path from " "today\'s environment to the future. This change was not " "made earlier because it required the deprecated " "qualifier. Due to the widespread use of the existing " "Status property in management applications, it is " "strongly recommended that providers or instrumentation " "provide both the Status and OperationalStatus " "properties. Further, the first value of " "OperationalStatus should contain the primary status for " "the element. When instrumented, Status (because it is " "single-valued) should also provide the primary status of " "the element." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "..", "0x8000.." }, Values { "Unknown", "Other", "OK", "Degraded", "Stressed", "Predictive Failure", "Error", "Non-Recoverable Error", "Starting", "Stopping", "Stopped", "In Service", "No Contact", "Lost Communication", "Aborted", "Dormant", "Supporting Entity in Error", "Completed", "Power Mode", "Relocating", "DMTF Reserved", "Vendor Reserved" }, ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_ManagedSystemElement.StatusDescriptions" }] uint16 OperationalStatus[]; [Description ( "Strings describing the various OperationalStatus array " "values. For example, if \"Stopping\" is the value " "assigned to OperationalStatus, then this property may " "contain an explanation as to why an object is being " "stopped. Note that entries in this array are correlated " "with those at the same array index in OperationalStatus." ), ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_ManagedSystemElement.OperationalStatus" }] string StatusDescriptions[]; [Deprecated { "CIM_ManagedSystemElement.OperationalStatus" }, Description ( "A string indicating the current status of the object. " "Various operational and non-operational statuses are " "defined. This property is deprecated in lieu of " "OperationalStatus, which includes the same semantics in " "its enumeration. This change is made for 3 reasons: \n" "1) Status is more correctly defined as an array. This " "definition overcomes the limitation of describing status " "using a single value, when it is really a multi-valued " "property (for example, an element might be OK AND " "Stopped. \n" "2) A MaxLen of 10 is too restrictive and leads to " "unclear enumerated values. \n" "3) The change to a uint16 data type was discussed when " "CIM V2.0 was defined. However, existing V1.0 " "implementations used the string property and did not " "want to modify their code. Therefore, Status was " "grandfathered into the Schema. Use of the deprecated " "qualifier allows the maintenance of the existing " "property, but also permits an improved definition using " "OperationalStatus." ), ValueMap { "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service", "Stressed", "NonRecover", "No Contact", "Lost Comm", "Stopped" }, MaxLen ( 10 )] string Status; [Description ( "Indicates the current health of the element. This " "attribute expresses the health of this element but not " "necessarily that of its subcomponents. The possible " "values are 0 to 30, where 5 means the element is " "entirely healthy and 30 means the element is completely " "non-functional. The following continuum is defined: \n" "\"Non-recoverable Error\" (30) - The element has " "completely failed, and recovery is not possible. All " "functionality provided by this element has been lost. \n" "\"Critical Failure\" (25) - The element is " "non-functional and recovery might not be possible. \n" "\"Major Failure\" (20) - The element is failing. It is " "possible that some or all of the functionality of this " "component is degraded or not working. \n" "\"Minor Failure\" (15) - All functionality is available " "but some might be degraded. \n" "\"Degraded/Warning\" (10) - The element is in working " "order and all functionality is provided. However, the " "element is not working to the best of its abilities. For " "example, the element might not be operating at optimal " "performance or it might be reporting recoverable errors. \n" "\"OK\" (5) - The element is fully functional and is " "operating within normal operational parameters and " "without error. \n" "\"Unknown\" (0) - The implementation cannot report on " "HealthState at this time. \n" "DMTF has reserved the unused portion of the continuum " "for additional HealthStates in the future." ), ValueMap { "0", "5", "10", "15", "20", "25", "30", "..", "32768..65535" }, Values { "Unknown", "OK", "Degraded/Warning", "Minor failure", "Major failure", "Critical failure", "Non-recoverable error", "DMTF Reserved", "Vendor Specific" }] uint16 HealthState; [Description ( "CommunicationStatus indicates the ability of the " "instrumentation to communicate with the underlying " "ManagedElement. CommunicationStatus consists of one of " "the following values: Unknown, None, Communication OK, " "Lost Communication, or No Contact. \n" "A Null return indicates the implementation (provider) " "does not implement this property. \n" "\"Unknown\" indicates the implementation is in general " "capable of returning this property, but is unable to do " "so at this time. \n" "\"Not Available\" indicates that the implementation " "(provider) is capable of returning a value for this " "property, but not ever for this particular piece of " "hardware/software or the property is intentionally not " "used because it adds no meaningful information (as in " "the case of a property that is intended to add " "additional info to another property). \n" "\"Communication OK \" indicates communication is " "established with the element, but does not convey any " "quality of service. \n" "\"No Contact\" indicates that the monitoring system has " "knowledge of this element, but has never been able to " "establish communications with it. \n" "\"Lost Communication\" indicates that the Managed " "Element is known to exist and has been contacted " "successfully in the past, but is currently unreachable." ), ValueMap { "0", "1", "2", "3", "4", "..", "0x8000.." }, Values { "Unknown", "Not Available", "Communication OK", "Lost Communication", "No Contact", "DMTF Reserved", "Vendor Reserved" }] uint16 CommunicationStatus; [Description ( "DetailedStatus compliments PrimaryStatus with additional " "status detail. It consists of one of the following " "values: Not Available, No Additional Information, " "Stressed, Predictive Failure, Error, Non-Recoverable " "Error, SupportingEntityInError. Detailed status is used " "to expand upon the PrimaryStatus of the element. \n" "A Null return indicates the implementation (provider) " "does not implement this property. \n" "\"Not Available\" indicates that the implementation " "(provider) is capable of returning a value for this " "property, but not ever for this particular piece of " "hardware/software or the property is intentionally not " "used because it adds no meaningful information (as in " "the case of a property that is intended to add " "additional info to another property). \n" "\"No Additional Information\" indicates that the element " "is functioning normally as indicated by PrimaryStatus = " "\"OK\". \n" "\"Stressed\" indicates that the element is functioning, " "but needs attention. Examples of \"Stressed\" states are " "overload, overheated, and so on. \n" "\"Predictive Failure\" indicates that an element is " "functioning normally but a failure is predicted in the " "near future. \n" "\"Non-Recoverable Error \" indicates that this element " "is in an error condition that requires human " "intervention. \n" "\"Supporting Entity in Error\" indicates that this " "element might be \"OK\" but that another element, on " "which it is dependent, is in error. An example is a " "network service or endpoint that cannot function due to " "lower-layer networking problems." ), ValueMap { "0", "1", "2", "3", "4", "5", "..", "0x8000.." }, Values { "Not Available", "No Additional Information", "Stressed", "Predictive Failure", "Non-Recoverable Error", "Supporting Entity in Error", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_EnabledLogicalElement.PrimaryStatus", "CIM_ManagedSystemElement.HealthState" }] uint16 DetailedStatus; [Description ( "OperatingStatus provides a current status value for the " "operational condition of the element and can be used for " "providing more detail with respect to the value of " "EnabledState. It can also provide the transitional " "states when an element is transitioning from one state " "to another, such as when an element is transitioning " "between EnabledState and RequestedState, as well as " "other transitional conditions.\n" "OperatingStatus consists of one of the following values: " "Unknown, Not Available, In Service, Starting, Stopping, " "Stopped, Aborted, Dormant, Completed, Migrating, " "Emmigrating, Immigrating, Snapshotting. Shutting Down, " "In Test \n" "A Null return indicates the implementation (provider) " "does not implement this property. \n" "\"Unknown\" indicates the implementation is in general " "capable of returning this property, but is unable to do " "so at this time. \n" "\"None\" indicates that the implementation (provider) is " "capable of returning a value for this property, but not " "ever for this particular piece of hardware/software or " "the property is intentionally not used because it adds " "no meaningful information (as in the case of a property " "that is intended to add additional info to another " "property). \n" "\"Servicing\" describes an element being configured, " "maintained, cleaned, or otherwise administered. \n" "\"Starting\" describes an element being initialized. \n" "\"Stopping\" describes an element being brought to an " "orderly stop. \n" "\"Stopped\" and \"Aborted\" are similar, although the " "former implies a clean and orderly stop, while the " "latter implies an abrupt stop where the state and " "configuration of the element might need to be updated. \n" "\"Dormant\" indicates that the element is inactive or " "quiesced. \n" "\"Completed\" indicates that the element has completed " "its operation. This value should be combined with either " "OK, Error, or Degraded in the PrimaryStatus so that a " "client can tell if the complete operation Completed with " "OK (passed), Completed with Error (failed), or Completed " "with Degraded (the operation finished, but it did not " "complete OK or did not report an error). \n" "\"Migrating\" element is being moved between host " "elements. \n" "\"Immigrating\" element is being moved to new host " "element. \n" "\"Emigrating\" element is being moved away from host " "element. \n" "\"Shutting Down\" describes an element being brought to " "an abrupt stop. \n" "\"In Test\" element is performing test functions. \n" "\"Transitioning\" describes an element that is between " "states, that is, it is not fully available in either its " "previous state or its next state. This value should be " "used if other values indicating a transition to a " "specific state are not applicable.\n" "\"In Service\" describes an element that is in service " "and operational." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "..", "0x8000.." }, Values { "Unknown", "Not Available", "Servicing", "Starting", "Stopping", "Stopped", "Aborted", "Dormant", "Completed", "Migrating", "Emigrating", "Immigrating", "Snapshotting", "Shutting Down", "In Test", "Transitioning", "In Service", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_EnabledLogicalElement.EnabledState" }] uint16 OperatingStatus; [Description ( "PrimaryStatus provides a high level status value, " "intended to align with Red-Yellow-Green type " "representation of status. It should be used in " "conjunction with DetailedStatus to provide high level " "and detailed health status of the ManagedElement and its " "subcomponents. \n" "PrimaryStatus consists of one of the following values: " "Unknown, OK, Degraded or Error. \"Unknown\" indicates " "the implementation is in general capable of returning " "this property, but is unable to do so at this time. \n" "\"OK\" indicates the ManagedElement is functioning " "normally. \n" "\"Degraded\" indicates the ManagedElement is functioning " "below normal. \n" "\"Error\" indicates the ManagedElement is in an Error " "condition." ), ValueMap { "0", "1", "2", "3", "..", "0x8000.." }, Values { "Unknown", "OK", "Degraded", "Error", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_ManagedSystemElement.DetailedStatus", "CIM_ManagedSystemElement.HealthState" }] uint16 PrimaryStatus; };