// ================================================================== // CIM_LogicalElement // ================================================================== [Abstract, Version ( "2.6.0" ), Description ( "CIM_LogicalElement is a base class for all the components of a " "System that represent abstract system components, such as " "Files, Processes, or LogicalDevices." class CIM_LogicalElement : CIM_ManagedSystemElement { (Comment by Fred: stuff below inherited from ManagedElement) [Description ( "The Caption property is a short textual description (one- " "line string) of the object."), MaxLen ( 64 )] string Caption; [Description ( "The Description property provides a textual description of " "the object.")] string Description; [Description ( "A user-friendly name for the object. This property allows " "each instance to define a user-friendly name in addition to " "its key properties, identity data, and description " "information. \n" "Note that the Name property of ManagedSystemElement is also " "defined as a user-friendly name. But, it is often " "subclassed to be a Key. It is not reasonable that the same " "property can convey both identity and a user-friendly name, " "without inconsistencies. Where Name exists and is not a Key " "(such as for instances of LogicalDevice), the same " "information can be present in both the Name and ElementName " "properties.")] string ElementName; (Comment by Fred: stuff below inherited from ManagedSystemElement) [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" "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", "..", "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", "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[]; [Experimental, 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", ".." }, Values { "Unknown", "OK", "Degraded/Warning", "Minor failure", "Major failure", "Critical failure", "Non-recoverable error", "DMTF Reserved" }] uint16 HealthState; }; // ================================================================== // CIM_BatchJob // ================================================================== [Experimental, Version ( "2.8.1000" ), Description ( "Description of a batch request that is either waiting on a " "BatchQueue to run, in the process of running, or that has " "previously run. Jobs that are completed and not recurring will " "NOT be associated with a BatchQueue. Jobs that are completed " "but recurring WILL be associated with a BatchQueue, since they " "are waiting to run given the scheduling information in the " "associated JobSettingData instance.")] class CIM_BatchJob : CIM_ConcreteJob { (Comment by Fred: stuff below inherited from ConcreteJob) [Key, Description ( "Within the scope of the instantiating Namespace, InstanceID " "opaquely and uniquely identifies an instance of this class. " "In order to ensure uniqueness within the NameSpace, the " "value of InstanceID SHOULD be constructed using the " "following 'preferred' algorithm: \n" ": \n" "Where and are separated by a colon ':', " "and where must include a copyrighted, trademarked " "or otherwise unique name that is owned by the business " "entity that is creating or defining the InstanceID, or that " "is a registered ID that is assigned to the business entity " "by a recognized global authority. (This requirement is " "similar to the _ structure of " "Schema class names.) In addition, to ensure uniqueness " " must not contain a colon (':'). When using this " "algorithm, the first colon to appear in InstanceID must " "appear between and . \n" " is chosen by the business entity and should not " "be re-used to identify different underlying (real-world) " "elements. If the above 'preferred' algorithm is not used, " "the defining entity must assure that the resulting " "InstanceID is not re-used across any InstanceIDs produced " "by this or other providers for the NameSpace of this " "instance. \n" "For DMTF defined instances, the 'preferred' algorithm must " "be used with the set to 'CIM'.")] string InstanceID; [Required, Override ( "Name" ), Description ( "The user-friendly name for this instance of a Job. In " "addition, the user-friendly name can be used as a property " "for a search or query. (Note: Name does not have to be " "unique within a namespace.)")] string Name; [Description ( "JobState is an integer enumeration that indicates the " "operational state of a Job. It can also indicate " "transitions between these states, for example, 'Shutting " "Down' and 'Starting'. Following is a brief description of " "the states: \n" "New (2) indicates that the job has never been started. \n" "Starting (3) indicates that the job is moving from the " "'New', 'Suspended', or 'Service' states into the 'Running' " "state. \n" "Running (4) indicates that the Job is running. \n" "Suspended (5) indicates that the Job is stopped, but can be " "restarted in a seamless manner. \n" "Shutting Down (6) indicates that the job is moving to a " "'Completed', 'Terminated', or 'Killed' state. \n" "Completed (7) indicates that the job has completed " "normally. \n" "Terminated (8) indicates that the job has been stopped by a " "'Terminate' state change request. The job and all its " "underlying processes are ended and can be restarted (this " "is job-specific) only as a new job. \n" "Killed (9) indicates that the job has been stopped by a " "'Kill' state change request. Underlying processes might " "have been left running, and cleanup might be required to " "free up resources. \n" "Exception (10) indicates that the Job is in an abnormal " "state that might be indicative of an error condition. " "Actual status might be displayed though job-specific " "objects. \n" "Service (11) indicates that the Job is in a vendor-specific " "state that supports problem discovery, or resolution, or " "both."), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12..32767", "32768..65535" }, Values { "New", "Starting", "Running", "Suspended", "Shutting Down", "Completed", "Terminated", "Killed", "Exception", "Service", "DMTF Reserved", "Vendor Reserved" }] uint16 JobState; [Description ( "The date or time when the state of the Job last changed. If " "the state of the Job has not changed and this property is " "populated, then it must be set to a 0 interval value. If a " "state change was requested, but rejected or not yet " "processed, the property must not be updated.")] datetime TimeOfLastStateChange; [Description ( "Requests that the state of the job be changed to the value " "specified in the RequestedState parameter. Invoking the " "RequestStateChange method multiple times could result in " "earlier requests being overwritten or lost. \n" "If 0 is returned, then the task completed successfully. Any " "other return code indicates an error condition."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", "4097", "4098", "4099", "4100..32767", "32768..65535" }, Values { "Completed with No Error", "Not Supported", "Unknown/Unspecified Error", "Can NOT complete within Timeout Period", "Failed", "Invalid Parameter", "In Use", "DMTF Reserved", "Method Parameters Checked - Transition Started", "Invalid State Transition", "Use of Timeout Parameter Not Supported", "Busy", "Method Reserved", "Vendor Specific" }] uint32 RequestStateChange( [IN, Description ( "RequestStateChange changes the state of a job. The " "possible values are as follows: \n" "Start (2) changes the state to 'Running'. \n" "Suspend (3) stops the job temporarily. The intention is " "to subsequently restart the job with 'Start'. It might " "be possible to enter the 'Service' state while " "suspended. (This is job-specific.) \n" "Terminate (4) stops the job cleanly, saving data, " "preserving the state, and shutting down all underlying " "processes in an orderly manner. \n" "Kill (5) terminates the job immediately with no " "requirement to save data or preserve the state. \n" "Service (6) puts the job into a vendor-specific service " "state. It might be possible to restart the job."), ValueMap { "2", "3", "4", "5", "6", "7..32767", "32768..65535" }, Values { "Start", "Suspend", "Terminate", "Kill", "Service", "DMTF Reserved", "Vendor Reserved" }] uint16 RequestedState, [IN, Description ( "A timeout period that specifies the maximum amount of " "time that the client expects the transition to the new " "state to take. The interval format must be used to " "specify the TimeoutPeriod. A value of 0 or a null " "parameter indicates that the client has no time " "requirements for the transition. \n" "If this property does not contain 0 or null and the " "implementation does not support this parameter, a return " "code of 'Use Of Timeout Parameter Not Supported' must be " "returned.")] datetime TimeoutPeriod); [Experimental, Description ( "When the job is executing or has terminated without error, " "then this method returns no CIM_Error instance. However, if " "the job has failed because of some internal problem or " "because the job has been terminated by a client, then a " "CIM_Error instance is returned."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "4098..32767", "32768..65535" }, Values { "Success", "Not Supported", "Unspecified Error", "Timeout", "Failed", "Invalid Parameter", "Access Denied", "DMTF Reserved", "Vendor Specific" }] uint32 GetError ( [OUT, Description ( "If the OperationalStatus on the Job is not \"OK\", then " "this method will return a CIM Error instance. Otherwise, " "when the Job is \"OK\", null is returned."), EmbeddedInstance ( "CIM_Error" )] string Error); [Required, Write, Description ( "The amount of time that the Job is retained after it has " "finished executing, either succeeding or failing in that " "execution. The job must remain in existence for some period " "of time regardless of the value of the DeleteOnCompletion " "property. \n" "The default is five minutes.")] datetime TimeBeforeRemoval = "00000000000500.000000:000"; (Comment from Fred: stuff below inherited from Job) [Description ( "A free-form string that represents the status of the job. " "The primary status is reflected in the inherited " "OperationalStatus property. JobStatus provides additional, " "implementation-specific details."), ModelCorrespondence { "CIM_ManagedSystemElement.OperationalStatus" }] string JobStatus; [Description ( "The time that the Job was submitted to execute. A value of " "all zeroes indicates that the owning element is not capable " "of reporting a date and time. Therefore, the " "ScheduledStartTime and StartTime are reported as intervals " "relative to the time their values are requested.")] datetime TimeSubmitted; [Deprecated { "CIM_Job.RunMonth", "CIM_Job.RunDay", "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval" }, Write, Description ( "The time that the current Job is scheduled to start. This " "time can be represented by the actual date and time, or an " "interval relative to the time that this property is " "requested. A value of all zeroes indicates that the Job is " "already executing. The property is deprecated in lieu of " "the more expressive scheduling properties, RunMonth, " "RunDay, RunDayOfWeek, and RunStartInterval.")] datetime ScheduledStartTime; [Description ( "The time that the Job was actually started. This time can " "be represented by an actual date and time, or by an " "interval relative to the time that this property is " "requested. Note that this property is also present in the " "JobProcessingStatistics class. This class is necessary to " "capture the processing information for recurring Jobs, " "because only the 'last' run time can be stored in this " "single-valued property.")] datetime StartTime; [Description ( "The time interval that the Job has been executing or the " "total execution time if the Job is complete. Note that this " "property is also present in the JobProcessingStatistics " "class. This class is necessary to capture the processing " "information for recurring Jobs, because only the 'last' run " "time can be stored in this single-valued property.")] datetime ElapsedTime; [Write, Description ( "The number of times that the Job should be run. A value of " "1 indicates that the Job is not recurring, while any " "non-zero value indicates a limit to the number of times " "that the Job will recur. Zero indicates that there is no " "limit to the number of times that the Job can be processed, " "but that it is terminated either after the UntilTime or by " "manual intervention. By default, a Job is processed once.")] uint32 JobRunTimes = 1; [Write, Description ( "The month during which the Job should be processed. Specify " "0 for January, 1 for February, and so on."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11" }, Values { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }, ModelCorrespondence { "CIM_Job.RunDay", "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval" }] uint8 RunMonth; [Write, Description ( "The day in the month on which the Job should be processed. " "There are two different interpretations for this property, " "depending on the value of DayOfWeek. In one case, RunDay " "defines the day-in-month on which the Job is processed. " "This interpretation is used when the DayOfWeek is 0. A " "positive or negative integer indicates whether the RunDay " "should be calculated from the beginning or end of the " "month. For example, 5 indicates the fifth day in the " "RunMonth and -1 indicates the last day in the RunMonth. \n" "\n" "When RunDayOfWeek is not 0, RunDay is the day-in-month on " "which the Job is processed, defined in conjunction with " "RunDayOfWeek. For example, if RunDay is 15 and RunDayOfWeek " "is Saturday, then the Job is processed on the first " "Saturday on or after the 15th day in the RunMonth (for " "example, the third Saturday in the month). If RunDay is 20 " "and RunDayOfWeek is -Saturday, then this indicates the " "first Saturday on or before the 20th day in the RunMonth. " "If RunDay is -1 and RunDayOfWeek is -Sunday, then this " "indicates the last Sunday in the RunMonth."), MinValue ( -31 ), MaxValue ( 31 ), ModelCorrespondence { "CIM_Job.RunMonth", "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval" }] sint8 RunDay; [Write, Description ( "A positive or negative integer used in conjunction with " "RunDay to indicate the day of the week on which the Job is " "processed. RunDayOfWeek is set to 0 to indicate an exact " "day of the month, such as March 1. A positive integer " "(representing Sunday, Monday, ..., Saturday) means that the " "day of week is found on or after the specified RunDay. A " "negative integer (representing -Sunday, -Monday, ..., " "-Saturday) means that the day of week is found on or BEFORE " "the RunDay."), ValueMap { "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5", "6", "7" }, Values { "-Saturday", "-Friday", "-Thursday", "-Wednesday", "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }, ModelCorrespondence { "CIM_Job.RunMonth", "CIM_Job.RunDay", "CIM_Job.RunStartInterval" }] sint8 RunDayOfWeek; [Write, Description ( "The time interval after midnight when the Job should be " "processed. For example, \n" "00000000020000.000000:000 \n" "indicates that the Job should be run on or after two " "o'clock, local time or UTC time (distinguished using the " "LocalOrUtcTime property."), ModelCorrespondence { "CIM_Job.RunMonth", "CIM_Job.RunDay", "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval" }] datetime RunStartInterval; [Write, Description ( "This property indicates whether the times represented in " "the RunStartInterval and UntilTime properties represent " "local times or UTC times. Time values are synchronized " "worldwide by using the enumeration value 2, \"UTC Time\"."), ValueMap { "1", "2" }, Values { "Local Time", "UTC Time" }] uint16 LocalOrUtcTime; [Write, Description ( "The time after which the Job is invalid or should be " "stopped. This time can be represented by an actual date and " "time, or by an interval relative to the time that this " "property is requested. A value of all nines indicates that " "the Job can run indefinitely."), ModelCorrespondence { "CIM_Job.LocalOrUtcTime" }] datetime UntilTime; [Write, Description ( "The User who is to be notified upon the Job completion or " "failure.")] string Notify; [Description ( "The User that submitted the Job, or the Service or method " "name that caused the job to be created."), ModelCorrespondence { "CIM_OwningJobElement" }] string Owner; [Write, Description ( "Indicates the urgency or importance of execution of the " "Job. The lower the number, the higher the priority. Note " "that this property is also present in the " "JobProcessingStatistics class. This class is necessary to " "capture the setting information that would influence the " "results of a job.")] uint32 Priority; [Description ( "The percentage of the job that has completed at the time " "that this value is requested. Note that this property is " "also present in the JobProcessingStatistics class. This " "class is necessary to capture the processing information " "for recurring Jobs, because only the 'last' run data can be " "stored in this single-valued property. \n" "Note that the value 101 is undefined and will be not be " "allowed in the next major revision of the specification."), Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 101 )] uint16 PercentComplete; [Write, Description ( "Indicates whether or not the job should be automatically " "deleted upon completion. Note that the 'completion' of a " "recurring job is defined by its JobRunTimes or UntilTime " "properties, or when the Job is terminated by manual " "intervention. If this property is set to false and the job " "completes, then the extrinsic method DeleteInstance must be " "used to delete the job instead of updating this property.")] boolean DeleteOnCompletion; [Description ( "A vendor-specific error code. The value must be set to zero " "if the Job completed without error. Note that this property " "is also present in the JobProcessingStatistics class. This " "class is necessary to capture the processing information " "for recurring Jobs, because only the 'last' run error can " "be stored in this single-valued property."), ModelCorrespondence { "CIM_Job.ErrorDescription" }] uint16 ErrorCode; [Description ( "A free-form string that contains the vendor error " "description. Note that this property is also present in the " "JobProcessingStatistics class. This class is necessary to " "capture the processing information for recurring Jobs, " "because only the 'last' run error can be stored in this " "single-valued property."), ModelCorrespondence { "CIM_Job.ErrorCode" }] string ErrorDescription; [Description ( "Describes the recovery action to be taken for an " "unsuccessfully run Job. The possible values are: \n" "0 = \"Unknown\", meaning it is unknown as to what recovery " "action to take \n" "1 = \"Other\", indicating that the recovery action will be " "specified in the OtherRecoveryAction property \n" "2 = \"Do Not Continue\", meaning stop the execution of the " "job and appropriately update its status \n" "3 = \"Continue With Next Job\", meaning continue with the " "next job in the queue \n" "4 = \"Re-run Job\", indicating that the job should be " "re-run \n" "5 = \"Run Recovery Job\", meaning run the Job associated " "using the RecoveryJob relationship. Note that the recovery " "Job must already be in the queue from which it will run."), ValueMap { "0", "1", "2", "3", "4", "5" }, Values { "Unknown", "Other", "Do Not Continue", "Continue With Next Job", "Re-run Job", "Run Recovery Job" }, ModelCorrespondence { "CIM_Job.OtherRecoveryAction" }] uint16 RecoveryAction; [Description ( "A string describing the recovery action when the " "RecoveryAction property of the instance is 1 (\"Other\")."), ModelCorrespondence { "CIM_Job.RecoveryAction" }] string OtherRecoveryAction; (Comment from Fred: stuff below in BatchJob) [Required, Override ( "Name" ), Description ( "Uniquely identifies this Job within a BatchQueue and " "BatchService. This property can be used in the construction " "of the InstanceID key inherited from ConcreteJob.")] string Name; [Write, Description ( "Specifies the maximum number of milliseconds of CPU time " "that this job can use in any individual run."), Units ( "MilliSeconds" )] uint32 MaxCPUTime; [Description ( "Time when this BatchJob was completed. This value is only " "valid if the inherited JobState property has been set to " "\"Completed\" (value=7), \"Terminated\" (value=8), or " "\"Killed\" (value=9)."), ModelCorrespondence { "CIM_BatchJob.JobState" }] datetime TimeCompleted; [Write, Description ( "Provides additional information, beyond Job Owner inherited " "from CIM_Job, to identify the origins of the BatchJob. This " "property could include information such as the System, " "application or Process that created the BatchJob.")] string JobOrigination; [Description ( "Provides the command and parameters, in string form, for " "the execution of this job.")] string Task; }; // ================================================================== // CIM_EnabledLogicalElement // ================================================================== [Abstract, Version ( "2.10.0" ), Description ( "This class extends LogicalElement to abstract the concept of " "an element that is enabled and disabled, such as a " "LogicalDevice or a ServiceAccessPoint.")] class CIM_EnabledLogicalElement : CIM_LogicalElement { [Description ( "EnabledState is an integer enumeration that indicates the " "enabled and disabled states of an element. It can also " "indicate the transitions between these requested states. " "For example, shutting down (value=4) and starting " "(value=10) are transient states between enabled and " "disabled. The following text briefly summarizes the various " "enabled and disabled states: \n" "Enabled (2) indicates that the element is or could be " "executing commands, will process any queued commands, and " "queues new requests. \n" "Disabled (3) indicates that the element will not execute " "commands and will drop any new requests. \n" "Shutting Down (4) indicates that the element is in the " "process of going to a Disabled state. \n" "Not Applicable (5) indicates the element does not support " "being enabled or disabled. \n" "Enabled but Offline (6) indicates that the element might be " "completing commands, and will drop any new requests. \n" "Test (7) indicates that the element is in a test state. \n" "Deferred (8) indicates that the element might be completing " "commands, but will queue any new requests. \n" "Quiesce (9) indicates that the element is enabled but in a " "restricted mode. The behavior of the element is similar to " "the Enabled state, but it processes only a restricted set " "of commands. All other requests are queued. \n" "Starting (10) indicates that the element is in the process " "of going to an Enabled state. New requests are queued."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11..32767", "32768..65535" }, Values { "Unknown", "Other", "Enabled", "Disabled", "Shutting Down", "Not Applicable", "Enabled but Offline", "In Test", "Deferred", "Quiesce", "Starting", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_EnabledLogicalElement.OtherEnabledState" }] uint16 EnabledState = 5; [Description ( "A string that describes the enabled or disabled state of " "the element when the EnabledState property is set to 1 " "(\"Other\"). This property must be set to null when " "EnabledState is any value other than 1."), ModelCorrespondence { "CIM_EnabledLogicalElement.EnabledState" }] string OtherEnabledState; [Description ( "RequestedState is an integer enumeration that indicates the " "last requested or desired state for the element. The actual " "state of the element is represented by EnabledState. This " "property is provided to compare the last requested and " "current enabled or disabled states. Note that when " "EnabledState is set to 5 (\"Not Applicable\"), then this " "property has no meaning. By default, the RequestedState of " "the element is 5 (\"No Change\"). Refer to the EnabledState " "property description for explanations of the values in the " "RequestedState enumeration. \n" "\n" "It should be noted that there are two new values in " "RequestedState that build on the statuses of EnabledState. " "These are \"Reboot\" (10) and \"Reset\" (11). Reboot refers " "to doing a \"Shut Down\" and then moving to an \"Enabled\" " "state. Reset indicates that the element is first " "\"Disabled\" and then \"Enabled\". The distinction between " "requesting \"Shut Down\" and \"Disabled\" should also be " "noted. Shut Down requests an orderly transition to the " "Disabled state, and might involve removing power, to " "completely erase any existing state. The Disabled state " "requests an immediate disabling of the element, such that " "it will not execute or accept any commands or processing " "requests. \n" "\n" "This property is set as the result of a method invocation " "(such as Start or StopService on CIM_Service), or can be " "overridden and defined as WRITEable in a subclass. The " "method approach is considered superior to a WRITEable " "property, because it allows an explicit invocation of the " "operation and the return of a result code. \n" "\n" "A particular instance of EnabledLogicalElement might not " "support RequestedStateChange. If this occurs, the value 12 " "(\"Not Applicable\") is used."), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "..", "32768..65535" }, Values { "Enabled", "Disabled", "Shut Down", "No Change", "Offline", "Test", "Deferred", "Quiesce", "Reboot", "Reset", "Not Applicable", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_EnabledLogicalElement.EnabledState" }] uint16 RequestedState = 12; [Write, Description ( "An enumerated value indicating an administrator's default " "or startup configuration for the Enabled State of an " "element. By default, the element is \"Enabled\" (value=2)."), ValueMap { "2", "3", "5", "6", "7", "8..32767", "32768..65535" }, Values { "Enabled", "Disabled", "Not Applicable", "Enabled but Offline", "No Default", "DMTF Reserved", "Vendor Reserved" }] uint16 EnabledDefault = 2; [Description ( "The date or time when the EnabledState of the element last " "changed. If the state of the element has not changed and " "this property is populated, then it must be set to a 0 " "interval value. If a state change was requested, but " "rejected or not yet processed, the property must not be " "updated.")] datetime TimeOfLastStateChange; [Description ( "Requests that the state of the element be changed to the " "value specified in the RequestedState parameter. When the " "requested state change takes place, the EnabledState and " "RequestedState of the element will be the same. Invoking " "the RequestStateChange method multiple times could result " "in earlier requests being overwritten or lost. \n" "If 0 is returned, then the task completed successfully and " "the use of ConcreteJob was not required. If 4096 (0x1000) " "is returned, then the task will take some time to complete, " "ConcreteJob will be created, and its reference returned in " "the output parameter Job. Any other return code indicates " "an error condition."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", "4097", "4098", "4099", "4100..32767", "32768..65535" }, Values { "Completed with No Error", "Not Supported", "Unknown or Unspecified Error", "Cannot complete within Timeout Period", "Failed", "Invalid Parameter", "In Use", "DMTF Reserved", "Method Parameters Checked - Job Started", "Invalid State Transition", "Use of Timeout Parameter Not Supported", "Busy", "Method Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_EnabledLogicalElement.RequestedState" }] uint32 RequestStateChange( [IN, Description ( "The state requested for the element. This information " "will be placed into the RequestedState property of the " "instance if the return code of the RequestStateChange " "method is 0 ('Completed with No Error'), 3 ('Timeout'), " "or 4096 (0x1000) ('Job Started'). Refer to the " "description of the EnabledState and RequestedState " "properties for the detailed explanations of the " "RequestedState values."), ValueMap { "2", "3", "4", "6", "7", "8", "9", "10", "11", "..", "32768..65535" }, Values { "Enabled", "Disabled", "Shut Down", "Offline", "Test", "Defer", "Quiesce", "Reboot", "Reset", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_EnabledLogicalElement.RequestedState" }] uint16 RequestedState, [IN ( false ), OUT, Description ( "Reference to the job (can be null if the task is " "completed).")] CIM_ConcreteJob REF Job, [IN, Description ( "A timeout period that specifies the maximum amount of " "time that the client expects the transition to the new " "state to take. The interval format must be used to " "specify the TimeoutPeriod. A value of 0 or a null " "parameter indicates that the client has no time " "requirements for the transition. \n" "If this property does not contain 0 or null and the " "implementation does not support this parameter, a return " "code of 'Use Of Timeout Parameter Not Supported' must be " "returned.")] datetime TimeoutPeriod); }; // =================================================================== // CIM_LogicalDevice // =================================================================== [Abstract, Version ( "2.10.0" ), 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_EnabledLogicalElement { [Key, Propagated ( "CIM_System.CreationClassName" ), Description ( "The CreationClassName of the scoping system."), MaxLen ( 256 )] string SystemCreationClassName; [Key, Propagated ( "CIM_System.Name" ), Description ( "The System Name of the scoping system."), MaxLen ( 256 )] 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; [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."), MaxLen ( 256 ), ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_LogicalDevice.IdentifyingDescriptions" }] string OtherIdentifyingInfo[]; [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[]; [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(); }; // ================================================================== // CIM_LogicalDisk // ================================================================== [Version ( "2.8.1000" ), Description ( "A LogicalDisk is a presentation of a contiguous range of " "logical blocks that is identifiable by applications such as " "filesystems via the Name field. (DeviceID (key) may use the " "same name or some other unique text such as a UUID.) For " "example in a Windows environment, the Name field MAY contain a " "drive letter. In a Unix environment, it would contain the " "access path (for example, '/dev/...'); and in a NetWare " "environment, MaY contain the volume name. LogicalDisks are " "typically built on a DiskPartition or other LogicalDisks (for " "instance, those exposed by a software volume manager). " "However, it can be based on other StorageExtents, like " "CIM_Memory, in the case of a RAM disk. \n" "\n" "LogicalDisks SHOULD set the 'Exported' value in ExtentStatus[] " "if they are intended for application use.")] class CIM_LogicalDisk : CIM_StorageExtent { (Comment from Fred: stuff below inherited from CIM_StorageExtent) [Description ( "A free form string describing the media and/or its use."), MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr" }] string Purpose; [Description ( "Access describes whether the media is readable (value=1), " "writeable (value=2), or both (value=3). \"Unknown\" (0) and " "\"Write Once\" (4) can also be defined."), ValueMap { "0", "1", "2", "3", "4" }, Values { "Unknown", "Readable", "Writeable", "Read/Write Supported", "Write Once" }] uint16 Access; [Description ( "Size in bytes of the blocks which form this StorageExtent. " "If variable block size, then the maximum block size in " "bytes should be specified. If the block size is unknown or " "if a block concept is not valid (for example, for " "AggregateExtents, Memory or LogicalDisks), enter a 1."), Units ( "Bytes" ), MappingStrings { "MIF.DMTF|Host Storage|001.4", "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits", "MIF.DMTF|Storage Devices|001.5" }] uint64 BlockSize; [Description ( "Total number of logically contiguous blocks, of size Block " "Size, which form this Extent. The total size of the Extent " "can be calculated by multiplying BlockSize by " "NumberOfBlocks. If the BlockSize is 1, this property is the " "total size of the Extent."), MappingStrings { "MIF.DMTF|Host Storage|001.5", "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize" }] uint64 NumberOfBlocks; }; // ================================================================== // CIM_LogicalPort // ================================================================== [Version ( "2.10.0" ), Description ( "The abstraction of a port or connection point of a Device. " "This object should be instantiated when the Port has " "independent management characteristics from the Device that " "includes it. Examples are a Fibre Channel Port and a USB Port.")] class CIM_LogicalPort : CIM_LogicalDevice { [Description ( "The bandwidth of the Port in Bits per Second."), Units ( "Bits per Second" )] uint64 Speed; [Description ( "The maximum bandwidth of the Port in Bits per Second."), Units ( "Bits per Second" )] uint64 MaxSpeed; [Description ( "PortType is defined to force consistent naming of the " "'type' property in subclasses and to guarantee unique enum " "values for all instances of NetworkPort. When set to 1 " "(\"Other\"), related property OtherPortType contains a " "string description of the type of port. A range of values, " "DMTF_Reserved, has been defined that allows subclasses to " "override and define their specific types of ports."), ValueMap { "0", "1", "2", "3..15999", "16000..65535" }, Values { "Unknown", "Other", "Not Applicable", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_NetworkPort.OtherNetworkPortType" }] uint16 PortType; [Description ( "Describes the type of module, when PortType is set to 1 " "(\"Other\")."), ModelCorrespondence { "CIM_LogicalPort.PortType" }] string OtherPortType; }; // ================================================================== // CIM_Processor // ================================================================== [Version ( "2.10.0" ), Description ( "Capabilities and management of the Processor LogicalDevice.")] class CIM_Processor : CIM_LogicalDevice { [Description ( "A free-form string that describes the role of the " "Processor, for example, \"Central Processor\" or \"Math " "Processor\".")] string Role; [Description ( "The Processor family type. For example, values include " "\"Pentium(R) processor with MMX(TM) technology\" (value=14) " "and \"68040\" (value=96)."), //#pragma inLine ("Includes\ProcessorFamily.inc") ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", // 11 "11", "12", "13", "14", "15", "16", "17", "18", "19", // 24 "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", // 48 "48", "49", "50", "51", "52", "53", "54", "55", // 64 "64", "65", "66", "67", "68", "69", // 80 "80", "81", "82", "83", "84", "85", "86", "87", "88", // 96 "96", "97", "98", "99", "100", "101", // 112 "112", "120", "121", "122", "128", "130", "131", "132", "133", "134", // 144 "144", "145", "146", "147", "148", "149", "150", // 160 "160", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", // 190 "190", // 200 "200", "201", "202", "203", "204", // 250 "250", "251", "260", "261", "280", "281", // 300 "300", "301", "302", "320", "350", "500" }, Values { "Other", "Unknown", "8086", "80286", "80386", "80486", "8087", "80287", "80387", "80487", // 11 "Pentium(R) brand", "Pentium(R) Pro", "Pentium(R) II", "Pentium(R) processor with MMX(TM) technology", "Celeron(TM)", "Pentium(R) II Xeon(TM)", "Pentium(R) III", "M1 Family", "M2 Family", // 24 "K5 Family", "K6 Family", "K6-2", "K6-3", "AMD Athlon(TM) Processor Family", "AMD(R) Duron(TM) Processor", "AMD29000 Family", // 31 "K6-2+", "Power PC Family", "Power PC 601", "Power PC 603", "Power PC 603+", "Power PC 604", "Power PC 620", "Power PC X704", "Power PC 750", // 48 "Alpha Family", "Alpha 21064", "Alpha 21066", "Alpha 21164", "Alpha 21164PC", "Alpha 21164a", "Alpha 21264", "Alpha 21364", // 64 "MIPS Family", "MIPS R4000", "MIPS R4200", "MIPS R4400", "MIPS R4600", "MIPS R10000", // 80 "SPARC Family", "SuperSPARC", "microSPARC II", "microSPARC IIep", "UltraSPARC", "UltraSPARC II", "UltraSPARC IIi", "UltraSPARC III", "UltraSPARC IIIi", // 96 "68040", "68xxx Family", "68000", "68010", "68020", "68030", // 112 "Hobbit Family", "Crusoe(TM) TM5000 Family", "Crusoe(TM) TM3000 Family", "Efficeon(TM) TM8000 Family", "Weitek", "Itanium(TM) Processor", "AMD Athlon(TM) 64 Processor Family", "AMD Opteron(TM) Processor Family", "AMD Sempron(TM) Processor Family", "AMD Turion(TM) 64 Mobile Technology", // 144 "PA-RISC Family", "PA-RISC 8500", "PA-RISC 8000", "PA-RISC 7300LC", "PA-RISC 7200", "PA-RISC 7100LC", "PA-RISC 7100", // 160 "V30 Family", "Pentium(R) III Xeon(TM)", "Pentium(R) III Processor with Intel(R) SpeedStep(TM) " "Technology", "Pentium(R) 4", "Intel(R) Xeon(TM)", // 180 "AS400 Family", "Intel(R) Xeon(TM) processor MP", "AMD Athlon(TM) XP Family", "AMD Athlon(TM) MP Family", "Intel(R) Itanium(R) 2", "Intel(R) Pentium(R) M processor", // 190 "K7", // 200 "S/390 and zSeries Family", "ESA/390 G4", "ESA/390 G5", "ESA/390 G6", "z/Architectur base", // 250 "i860", "i960", "SH-3", "SH-4", "ARM", "StrongARM", // 300 "6x86", "MediaGX", "MII", "WinChip", "DSP", "Video Processor" }, //#pragma inLine MappingStrings { "MIF.DMTF|Processor|017.3" }, ModelCorrespondence { "CIM_Processor.OtherFamilyDescription" }] uint16 Family; [Description ( "A string that describes the Processor Family type. It is " "used when the Family property is set to 1 (\"Other\"). This " "string should be set to NULL when the Family property is " "any value other than 1."), MaxLen ( 64 ), ModelCorrespondence { "CIM_Processor.Family" }] string OtherFamilyDescription; [Description ( "The maximum speed (in MHz) of this Processor."), Units ( "MegaHertz" ), MappingStrings { "MIF.DMTF|Processor|017.5" }] uint32 MaxClockSpeed; [Description ( "The current speed (in MHz) of this Processor."), Units ( "MegaHertz" ), MappingStrings { "MIF.DMTF|Processor|017.6" }] uint32 CurrentClockSpeed; [Description ( "Loading of this Processor, averaged over the last minute, " "in Percent."), Units ( "Percent" ), Gauge, MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrProcessorLoad" }] uint16 LoadPercentage; }; // ================================================================== // CIM_SoftwareIdentity // ================================================================== [Version ( "2.10.0" ), Description ( "SoftwareIdentity represents software, viewed as an asset " "and/or individually identifiable entity (similar to Physical " "Element). It does NOT indicate whether the software is " "installed, executing, etc. (The latter is the role of the " "SoftwareFeature/ SoftwareElement classes and the Application " "Model.) Since software may be acquired, SoftwareIdentity can " "be associated with a Product using the " "ProductSoftwareComponent relationship. \n" "Note that the Application Model manages the deployment and " "installation of software via the classes, SoftwareFeatures and " "SoftwareElements. The deployment/installation concepts are " "related to the asset/identity one. In fact, a SoftwareIdentity " "may correspond to a Product, or to one or more " "SoftwareFeatures or SoftwareElements - depending on the " "granularity of these classes and the deployment model. The " "correspondence of Software Identity to Product, " "SoftwareFeature or SoftwareElement is indicated using the " "ConcreteIdentity association. Note that there may not be " "sufficient detail or instrumentation to instantiate " "ConcreteIdentity. And, if the association is instantiated, " "some duplication of information may result. For example, the " "Vendor described in the instances of Product and " "SoftwareIdentity MAY be the same. However, this is not " "necessarily true, and it is why vendor and similar information " "are duplicated in this class. \n" "Note that ConcreteIdentity can also be used to describe the " "relationship of the software to any LogicalFiles that result " "from installing it. As above, there may not be sufficient " "detail or instrumentation to instantiate this association.")] class CIM_SoftwareIdentity : CIM_LogicalElement { [Key, Description ( "Within the scope of the instantiating Namespace, InstanceID " "opaquely and uniquely identifies an instance of this class. " "In order to ensure uniqueness within the NameSpace, the " "value of InstanceID SHOULD be constructed using the " "following 'preferred' algorithm: \n" ": \n" "Where and are separated by a colon ':', " "and where MUST include a copyrighted, trademarked " "or otherwise unique name that is owned by the business " "entity creating/defining the InstanceID, or is a registered " "ID that is assigned to the business entity by a recognized " "global authority (This is similar to the _ structure of Schema class names.) In " "addition, to ensure uniqueness MUST NOT contain a " "colon (':'). When using this algorithm, the first colon to " "appear in InstanceID MUST appear between and " ". \n" " is chosen by the business entity and SHOULD not " "be re-used to identify different underlying (real-world) " "elements. If the above 'preferred' algorithm is not used, " "the defining entity MUST assure that the resultant " "InstanceID is not re-used across any InstanceIDs produced " "by this or other providers for this instance's NameSpace. \n" "For DMTF defined instances, the 'preferred' algorithm MUST " "be used with the set to 'CIM'.")] string InstanceID; [Description ( "The major number component of the software's version " "information - for example, '12' from version 12.1(3)T. This " "property is defined as a numeric value to allow the " "determination of 'newer' vs. 'older' releases. A 'newer' " "major release is indicated by a larger numeric value.")] uint16 MajorVersion; [Description ( "The minor number component of the software's version " "information - for example, '1' from version 12.1(3)T. This " "property is defined as a numeric value to allow the " "determination of 'newer' vs. 'older' releases. A 'newer' " "minor release is indicated by a larger numeric value.")] uint16 MinorVersion; [Description ( "The revision or maintenance release component of the " "software's version information - for example, '3' from " "version 12.1(3)T. This property is defined as a numeric " "value to allow the determination of 'newer' vs. 'older' " "releases. A 'newer' revision is indicated by a larger " "numeric value.")] uint16 RevisionNumber; [Description ( "The build number of the software.")] uint16 BuildNumber; [Description ( "A string representing the complete software version " "information - for example, '12.1(3)T'. This string and the " "numeric major/minor/revision/build properties are " "complementary. Since vastly different representations and " "semantics exist for versions, it is not assumed that one " "representation is sufficient to permit a client to perform " "computations (i.e., the values are numeric) and a user to " "recognize the software's version (i.e., the values are " "understandable and readable). Hence, both numeric and " "string representations of version are provided.")] string VersionString; [Description ( "Specifies the target operating systems of the software. Due " "to the extreme variability in operating systems, this " "property is defined as a string array.")] string TargetOperatingSystems[]; [Description ( "An array of enumerated integers that classify this " "software. For example, the software MAY be instrumentation " "(value=5) or firmware and diagnostic software (10 and 7). " "The use of value 6, Firmware/BIOS, is being deprecated. " "Instead, either the value 10 (Firmware) and/or 11 " "(BIOS/FCode) SHOULD be used."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "..", "0x8000..0xFFFF" }, Values { "Unknown", "Other", "Driver", "Configuration Software", "Application Software", "Instrumentation", "Firmware/BIOS", "Diagnostic Software", "Operating System", "Middleware", "Firmware", "BIOS/FCode", "Support/Service Pack", "DMTF Reserved", "Vendor Reserved" }, ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_SoftwareIdentity.ClassificationDescriptions" }] uint16 Classifications[]; [Description ( "An array of free-form strings providing more detailed " "explanations for any of the entries in the Classifications " "array. Note that each entry is related to one in the " "Classifications array located at the same index."), ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_SoftwareIdentity.Classifications" }] string ClassificationDescriptions[]; }; // ================================================================== // CIM_System // ================================================================== [Abstract, Version ( "2.10.0" ), Description ( "CIM_System represents an entity made up of component parts " "(defined by the SystemComponent relationship), that operates " "as a 'functional whole'. Systems are top-level objects in the " "CIM hierarchy, requiring no scoping or weak relationships in " "order to exist and have context. It should be reasonable to " "uniquely name and manage a System at an enterprise level. For " "example, a ComputerSystem is a kind of System that can be " "uniquely named and independently managed in an enterprise. " "However, these qualities are not true for the power supply (or " "the power supply sub-'system') within the computer. \n" "\n" "Although a System can be viewed as a Collection, this view is " "not the correct model. A Collection is simply a 'bag' that " "'holds' its members. A System is a higher-level abstraction, " "built out of its individual components. It is more than the " "sum of its parts. Note that System is a subclass of " "EnabledLogicalElement which allows the entire abstraction to " "be functionally enabled or disabled at a higher level than " "enabling or disabling its component parts.")] class CIM_System : CIM_EnabledLogicalElement { [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, Override ( "Name" ), Description ( "The inherited Name serves as the key of a System instance " "in an enterprise environment."), MaxLen ( 256 )] string Name; [Description ( "The System 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 can be " "defined in individual System subclasses to attempt to " "always generate the same System Name Key. The NameFormat " "property identifies how the System name was generated, " "using the heuristic of the subclass."), MaxLen ( 64 )] string NameFormat; [Write, Description ( "The name of the primary system owner. The system owner is " "the primary user of the system."), MaxLen ( 64 ), MappingStrings { "MIF.DMTF|General Information|001.3" }] string PrimaryOwnerName; [Write, Description ( "A string that provides information on how the primary " "system owner can be reached (for example, phone number, " "e-mail address, and so on)."), MaxLen ( 256 ), MappingStrings { "MIF.DMTF|General Information|001.4" }] string PrimaryOwnerContact; [Write, Description ( "An array (bag) of strings that specifies the administrator " "-defined roles this System plays in the managed " "environment. Examples might be 'Building 8 print server' or " "'Boise user directories'. A single system may perform " "multiple roles. \n" "Note that the instrumentation view of the 'roles' of a " "System is defined by instantiating a specific subclass of " "System, or by properties in a subclass, or both. For " "example, the purpose of a ComputerSystem is defined using " "the Dedicated and OtherDedicatedDescription properties.")] string Roles[]; }; // ================================================================== // CIM_ComputerSystem // ================================================================== [Version ( "2.10.0" ), Description ( "A class derived from System that is a special collection of " "ManagedSystemElements. This collection is related to the " "providing of compute capabilities and MAY serve as an " "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. The " "NameFormat property identifies how the ComputerSystem Name " "is generated. The NameFormat ValueMap qualifier defines the " "various mechanisms for assigning the name. Note that " "another name can be assigned and used for the " "ComputerSystem that better suit a business, using the " "inherited ElementName property."), ValueMap { "Other", "IP", "Dial", "HID", "NWA", "HWA", "X25", "ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI", "WWN", "NAA" }] string NameFormat; [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."), MaxLen ( 256 ), ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_ComputerSystem.IdentifyingDescriptions" }] string OtherIdentifyingInfo[]; [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."), ArrayType ( "Indexed" ), 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. \n" "A value of \"Management\" indicates this instance is " "dedicated to hosting system management software. \n" "A value of \"Management Controller\" indicates this " "instance represents specialized hardware dedicated to " "systems management (i.e., a Baseboard Management Controller " "(BMC) or service processor). \n" "The management scope of a \"Management Controller\" is " "typically a single managed system in which it is contained. " "\nA value of \"Chassis Manager\" indicates this instance " "represents a system dedicated to management of a blade " "chassis and its contained devices. This value would be used " "to represent a Shelf Controller. A \"Chassis Manager\" is " "an aggregation point for management and may rely on " "subordinate management controllers for the management of " "constituent parts."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "28..32567", "32568..65535" }, 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", "Repeater", "Bridge/Extender", "Gateway", "Storage Virtualizer", "Media Library", "ExtenderNode", "NAS Head", "Self-contained NAS", "UPS", "IP Phone", "Management Controller", "Chassis Manager", "DMTF Reserved", "Vendor Reserved" }, MappingStrings { "MIB.IETF|MIB-II.sysServices", "FC-GS.INCITS-T11 | Platform | PlatformType" }, ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_ComputerSystem.OtherDedicatedDescriptions" }] uint16 Dedicated[]; [Description ( "A string describing how or why the system is dedicated when " "the Dedicated array includes the value 2, \"Other\"."), ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_ComputerSystem.Dedicated" }] string OtherDedicatedDescriptions[]; }; // ================================================================== // CIM_FileSystem // ================================================================== [Version ( "2.8.1000" ), Description ( "A file or dataset store local to a System (such as a " "ComputerSystem or an ApplicationSystem) or remotely mounted " "from a file server.")] class CIM_FileSystem : CIM_EnabledLogicalElement { [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, Override ( "Name" ), Description ( "The inherited Name serves as key of a FileSystem instance " "within a ComputerSystem."), MaxLen ( 256 )] string Name; [Description ( "Path name or other information defining the root of the " "FileSystem."), MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrFSMountPoint", "MIF.DMTF|Host File System|001.2" }] string Root; [Description ( "The FileSystemSize property stores the total size of the " "File System in bytes. If unknown, enter 0."), Units ( "Bytes" ), MappingStrings { "MIF.DMTF|Host File System|001.13" }] uint64 FileSystemSize; [Description ( "AvailableSpace indicates the total amount of free space for " "the FileSystem, in bytes. If unknown, enter 0."), Units ( "Bytes" ), Gauge, MappingStrings { "MIF.DMTF|Host File System|001.14", "MIF.DMTF|Partition|002.4" }] uint64 AvailableSpace; [Description ( "Indicates that the FileSystem is designated as read only."), MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrFSAccess", "MIF.DMTF|Host File System|001.5" }] boolean ReadOnly; [Description ( "Integer indicating the maximum length of a file name within " "the FileSystem. 0 indicates that there is no limit on file " "name length.")] uint32 MaxFileNameLength; [Description ( "String describing the type of FileSystem and therefore, its " "conventions. For example, \"NTFS\" or \"S5\" may be listed " "as well as any additional information on the FileSystem's " "implementation. Since various flavors of FileSystems (like " "S5) exist, this property is defined as a string."), MappingStrings { "MIF.DMTF|Partition|002.6", "MIF.DMTF|Host File System|001.4" }] string FileSystemType; }; // ================================================================== // CIM_OperatingSystem // ================================================================== [Version ( "2.7.0" ), Description ( "An OperatingSystem is software/firmware that makes a " "ComputerSystem's hardware usable, and implements and/or " "manages the resources, file systems, processes, user " "interfaces, services, ... available on the ComputerSystem.")] class CIM_OperatingSystem : CIM_EnabledLogicalElement { [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, Override ( "Name" ), Description ( "The inherited Name serves as key of an OperatingSystem " "instance within a ComputerSystem."), MaxLen ( 256 ), MappingStrings { "MIF.DMTF|Operating System|001.2" }] string Name; [Description ( "A integer indicating the type of OperatingSystem."), //#pragma inLine ("Includes\OSTypes.inc") ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70" }, Values { "Unknown", "Other", "MACOS", "ATTUNIX", "DGUX", "DECNT", "Tru64 UNIX", "OpenVMS", "HPUX", "AIX", //10 "MVS", "OS400", "OS/2", "JavaVM", "MSDOS", "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE", //20 "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX", "SCO UnixWare", "SCO OpenServer", "Sequent", "IRIX", "Solaris", //30 "SunOS", "U6000", "ASERIES", "HP NonStop OS" , "HP NonStop OSS", "BS2000", "LINUX", "Lynx", "XENIX", "VM", //40 "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD", "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX", "EPOC", //50 "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE", "NextStep", "PalmPilot", "Rhapsody", "Windows 2000", "Dedicated", //60 "OS/390", "VSE", "TPF", "Windows (R) Me", "Caldera Open UNIX", "OpenBSD", "Not Applicable", "Windows XP", "z/OS", "Microsoft Windows Server 2003", "Microsoft Windows Server 2003 64-Bit" }, //#pragma inLine ModelCorrespondence { "CIM_OperatingSystem.OtherTypeDescription", "CIM_SoftwareElement.TargetOperatingSystem" }] uint16 OSType; [Description ( "A string describing the manufacturer and OperatingSystem " "type - used when the OperatingSystem property, OSType, is " "set to 1 or 59 (\"Other\" or \"Dedicated\"). The format of " "the string inserted in OtherTypeDescription should be " "similar in format to the Values strings defined for OSType. " "OtherTypeDescription should be set to NULL when OSType is " "any value other than 1 or 59."), MaxLen ( 64 ), ModelCorrespondence { "CIM_OperatingSystem.OSType" }] string OtherTypeDescription; [Description ( "A string describing the Operating System's version number. " "The format of the version information is as follows: .. or ..."), MappingStrings { "MIF.DMTF|Operating System|001.3" }] string Version; [Description ( "Time when the OperatingSystem was last booted."), MappingStrings { "MIF.DMTF|General Information|001.5" }] datetime LastBootUpTime; [Description ( "OperatingSystem's notion of the local date and time of day."), MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrSystemDate", "MIF.DMTF|General Information|001.6" }] datetime LocalDateTime; [Description ( "Number of user licenses for the OperatingSystem. If " "unlimited, enter 0.")] uint32 NumberOfLicensedUsers; [Description ( "Number of user sessions for which the OperatingSystem is " "currently storing state information."), Gauge, MappingStrings { "MIF.DMTF|Host System|001.4", "MIB.IETF|HOST-RESOURCES-MIB.hrSystemNumUsers" }] uint32 NumberOfUsers; [Description ( "Number of process contexts currently loaded or running on " "the OperatingSystem."), Gauge, MappingStrings { "MIF.DMTF|Host System|001.5", "MIB.IETF|HOST-RESOURCES-MIB.hrSystemProcesses" }] uint32 NumberOfProcesses; [Description ( "Maximum number of process contexts the OperatingSystem can " "support. If there is no fixed maximum, the value should be " "0. On systems that have a fixed maximum, this object can " "help diagnose failures that occur when the maximum is " "reached."), MappingStrings { "MIF.DMTF|Host System|001.6", "MIB.IETF|HOST-RESOURCES-MIB.hrSystemMaxProcesses" }] uint32 MaxNumberOfProcesses; [Description ( "Total swap space in Kbytes. This value may be NULL " "(unspecified) if swap space is not distinguished from page " "files. However, some Operating Systems distinguish these " "concepts. For example, in UNIX, whole processes can be " "'swapped out' when the free page list falls and remains " "below a specified amount."), Units ( "KiloBytes" )] uint64 TotalSwapSpaceSize; [Description ( "Number of Kbytes of virtual memory. For example, this may " "be calculated by adding the amount of total RAM to the " "amount of paging space (ie, adding the amount of memory " "in/aggregated by the ComputerSystem to the property, " "SizeStoredInPagingFiles."), Units ( "KiloBytes" ), MappingStrings { "MIF.DMTF|System Memory Settings|001.5" }] uint64 TotalVirtualMemorySize; [Description ( "Number of Kbytes of virtual memory currently unused and " "available. For example, this may be calculated by adding " "the amount of free RAM to the amount of free paging space " "(ie, adding the properties, FreePhysicalMemory and " "FreeSpace InPagingFiles)."), Units ( "KiloBytes" ), Gauge, MappingStrings { "MIF.DMTF|System Memory Settings|001.6" }] uint64 FreeVirtualMemory; [Description ( "Number of Kbytes of physical memory currently unused and " "available."), Units ( "KiloBytes" ), Gauge, MappingStrings { "MIF.DMTF|System Memory Settings|001.2", "MIF.UNIX|Host Physical Memory|6.1" }] uint64 FreePhysicalMemory; [Description ( "The total amount of physical memory (in Kbytes) available " "to the OperatingSystem. This value does not necessarily " "indicate the true amount of physical memory, but what is " "reported to the OperatingSystem as available to it."), Units ( "KiloBytes" )] uint64 TotalVisibleMemorySize; [Description ( "The total number of KBytes that can be stored in the " "OperatingSystem's paging files. 0 indicates that there are " "no paging files."), Units ( "KiloBytes" ), MappingStrings { "MIF.DMTF|System Memory Settings|001.3" }] uint64 SizeStoredInPagingFiles; [Description ( "The total number of KBytes that can be mapped into the " "OperatingSystem's paging files without causing any other " "pages to be swapped out. 0 indicates that there are no " "paging files."), Units ( "KiloBytes" ), Gauge, MappingStrings { "MIF.DMTF|System Memory Settings|001.4" }] uint64 FreeSpaceInPagingFiles; [Description ( "Maximum number of Kbytes of memory that can be allocated to " "a Process. For Operating Systems with no virtual memory, " "this value is typically equal to the total amount of " "physical Memory minus memory used by the BIOS and OS. For " "some Operating Systems, this value may be infinity - in " "which case, 0 should be entered. In other cases, this value " "could be a constant - for example, 2G or 4G."), Units ( "KiloBytes" )] uint64 MaxProcessMemorySize; [Description ( "Boolean indicating whether the OperatingSystem is " "distributed across several ComputerSystem nodes. If so, " "these nodes should be grouped as a Cluster.")] boolean Distributed; [Description ( "A value that indicates the maximum processes that a user " "can have associate with it.")] uint32 MaxProcessesPerUser; [Description ( "Requests a reboot of the OperatingSystem. 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 Reboot(); [Description ( "Requests a shutdown of the OperatingSystem. 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. It is up to the implementation or " "subclass of OperatingSystem to establish dependencies " "between the Shutdown and Reboot methods, and for example, " "to provide more sophisticated capabilities such as " "scheduled shutdown/ reboot, etc. 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 Shutdown(); }; // ================================================================== // CIM_LogicalFile // ================================================================== [Version ( "2.6.0" ), Description ( "A LogicalFile is a named collection of data or executable " "code, or represents a LogicalDevice or Directory. It is " "located within the context of a FileSystem, on a Storage " "Extent.")] class CIM_LogicalFile : CIM_LogicalElement { [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, Override ( "Name" ), Description ( "The inherited Name serves as part of the key of a " "LogicalFile instance within a FileSystem. A unique " "identifier (such as a full path name) is required as a Name " "value. Since Files are weak to their FileSystem (and not to " "a Directory which would provide a more granular naming " "algorithm), care must be taken to make LogicalFile's Name " "unique for a given Creation ClassName and FileSystem. A " "full path name is one way to do this."), MaxLen ( 1024 )] string Name; [Description ( "Size of the File in bytes."), Units ( "Bytes" ), Gauge] uint64 FileSize; [Description ( "File's creation date.")] datetime CreationDate; [Description ( "Time that the File was last modified.")] datetime LastModified; [Description ( "Time that the File was last accessed.")] datetime LastAccessed; [Description ( "Boolean indicating that the File can be read.")] boolean Readable; [Description ( "Boolean indicating that the File can be written.")] boolean Writeable; [Description ( "Indicates the file is executable.")] boolean Executable; }; // ================================================================== // CIM_Directory // ================================================================== [Version ( "2.6.0" ), Description ( "Directory is a type of File that logically groups Files " "'contained' in it, and provides path information for the " "grouped Files.")] class CIM_Directory : CIM_LogicalFile { }; // ================================================================== // CIM_ConcreteCollection // ================================================================== [Version ( "2.10.0" ), Description ( "A concrete version of Collection. This class represents a " "generic and instantiable collection, such as a group of " "ComputerSystems (for example, a pool of hosts available for " "executing jobs). It is defined as a concrete subclass of the " "abstract CIM_Collection class, to be used in place of many " "specific subclasses that add no semantics. Note that when " "defining additional semantics for Collection, this class must " "not be subclassed. Specific semantics continue to be defined " "as subclasses of the abstract CIM_Collection. " "ConcreteCollection is limited in its use as a concrete form of " "a general collection or bag. It was deemed more prudent to " "create this concrete subclass than to change Collection from " "an abstract to a concrete class.")] class CIM_ConcreteCollection : CIM_Collection { (Comment from Fred: stuff below inherited from ManagedElement through Collection) [Description ( "The Caption property is a short textual description (one- " "line string) of the object."), MaxLen ( 64 )] string Caption; [Description ( "The Description property provides a textual description of " "the object.")] string Description; [Description ( "A user-friendly name for the object. This property allows " "each instance to define a user-friendly name in addition to " "its key properties, identity data, and description " "information. \n" "Note that the Name property of ManagedSystemElement is also " "defined as a user-friendly name. But, it is often " "subclassed to be a Key. It is not reasonable that the same " "property can convey both identity and a user-friendly name, " "without inconsistencies. Where Name exists and is not a Key " "(such as for instances of LogicalDevice), the same " "information can be present in both the Name and ElementName " "properties.")] string ElementName; [Key, Description ( "Within the scope of the instantiating Namespace, InstanceID " "opaquely and uniquely identifies an instance of this class. " "To ensure uniqueness within the NameSpace, the value of " "InstanceID should be constructed using the following " "'preferred' algorithm: \n" ": \n" "Where and are separated by a colon ':', " "and where must include a unique name. It can be a " "copyrighted, trademarked, or otherwise unique name that is " "owned by the business entity that is creating or defining " "the InstanceID. Or, it could be a registered ID that is " "assigned to the business entity by a recognized global " "authority. (This requirement is similar to the _ structure of Schema class names.) In " "addition, to ensure uniqueness must not contain a " "colon (':'). When using this algorithm, the first colon to " "appear in InstanceID must appear between and " ". \n" "\n" " is chosen by the business entity and should not " "be re-used to identify different underlying (real-world) " "elements. If the above 'preferred' algorithm is not used, " "the defining entity must ensure that the resulting " "InstanceID is not re-used as any of the InstanceIDs " "produced by this or other providers for the NameSpace of " "this instance.")] string InstanceID; }; // ================================================================== // CIM_SettingData // ================================================================== [Abstract, Version ( "2.10.0" ), Description ( "The SettingData class represents configuration-related and " "operational parameters for one or more ManagedElements. A " "ManagedElement can have multiple SettingData objects " "associated with it. The current operational values for the " "parameters of the element are reflected by properties in the " "Element itself or by properties in its associations. These " "properties do not have to be the same values that are present " "in the SettingData object. For example, a modem might have a " "SettingData baud rate of 56Kb/sec but be operating at " "19.2Kb/sec. \n" "Note: The CIM_SettingData class is very similar to " "CIM_Setting, yet both classes are present in the model because " "many implementations have successfully used CIM_Setting. " "However, issues have arisen that could not be resolved without " "defining a new class. Therefore, until a new major release " "occurs, both classes will exist in the model. Refer to the " "Core White Paper for additional information. SettingData " "instances can be aggregated together into higher- level " "SettingData objects using ConcreteComponent associations.")] class CIM_SettingData : CIM_ManagedElement { (Comment from Fred: stuff below inherited from ManagedElement) [Description ( "The Caption property is a short textual description (one- " "line string) of the object."), MaxLen ( 64 )] string Caption; [Description ( "The Description property provides a textual description of " "the object.")] string Description; [Key, Description ( "Within the scope of the instantiating Namespace, InstanceID " "opaquely and uniquely identifies an instance of this class. " "To ensure uniqueness within the NameSpace, the value of " "InstanceID should be constructed using the following " "\"preferred\" algorithm: \n" ": \n" "Where and are separated by a colon (:), " "and where must include a copyrighted, trademarked, " "or otherwise unique name that is owned by the business " "entity that is creating or defining the InstanceID or that " "is a registered ID assigned to the business entity by a " "recognized global authority. (This requirement is similar " "to the _ structure of Schema class " "names.) In addition, to ensure uniqueness, must not " "contain a colon (:). When using this algorithm, the first " "colon to appear in InstanceID must appear between " "and . \n" " is chosen by the business entity and should not " "be reused to identify different underlying (real-world) " "elements. If the above \"preferred\" algorithm is not used, " "the defining entity must assure that the resulting " "InstanceID is not reused across any InstanceIDs produced by " "this or other providers for the NameSpace of this instance. " "\nFor DMTF-defined instances, the \"preferred\" algorithm " "must be used with the set to CIM.")] string InstanceID; [Required, Override ( "ElementName" ), Description ( "The user-friendly name for this instance of SettingData. In " "addition, the user-friendly name can be used as an index " "property for a search or query. (Note: The name does not " "have to be unique within a namespace.)")] string ElementName; };