[ogsa-wg] Material for F2F model discussion
Hiro Kishimoto
hiro.kishimoto at jp.fujitsu.com
Thu Aug 11 18:55:10 CDT 2005
Thanks Fred,
May I ask you to upload your documents in the "2005 Aug interim" folder
on GridForge for the convenience of attendees?
https://forge.gridforum.org/docman2/ViewCategory.php?group_id=42&category_id=1107
Thanks again,
----
Hiro Kishimoto
Fred Maciel wrote:
> Hi,
>
> (1) Here is a new version of the document (Word file). I didn't receive many
> comments, so there were only minor changes on the contents compared to the
> version I posted last week. Notice that we will try to sort out the resource
> model vs information model vs data model nomenclature problem (and perhaps
> other ones) on the teleconference on Friday. I'm posting the document before
> we have a conclusion so that you can print it and read it on the plane.
>
> (2) I'm including the model proposal that Andrea created (already posted to
> the mailing list during GGF14) for your convenience. I re-created the PDF
> file to put everything in two sheets (watch out the paper size when you
> print it).
>
> I also created a text file with the description of the classes, properties
> and methods in this model, so you can see what they mean. I created this
> file by copying-and-pasting from the CIM MOF (Manageable Object Format)
> files, so apologies for the syntax. Remember that the model proposal
> "flattens" the CIM classes (which I did in the text file also), erases
> deprecated stuff (idem), and erases stuff out of scope wrt JSDL, containers
> and activities (which I also erased from the text file, but not
> exhaustively).
>
> (3) Here is an updated list of pointers on related specs.
>
> - JSIM: the spec (GFD-I.028) is at:
> https://forge.gridforum.org/projects/ggf-editor/document/GFD.28/en/1
> There is also a UML diagram:
> https://forge.gridforum.org/projects/ogsa-wg/document/JSIM_PDF/en/1
>
> - CIM: the schemas are under:
> http://www.dmtf.org/standards/cim
> JSIM classes are in 2.10 experimental (awaiting implementation experience to
> become final).
> You can find a tutorial (HTML and PDF) at:
> http://www.wbemsolutions.com/tutorials/CIM/
>
> - JSDL:
> http://www.ggf.org/Public_Comment_Docs/Documents/July-2005/draft-ggf-jsdl-sp
> ec-021.pdf
> There's a nice introduction at:
> https://forge.gridforum.org/projects/jsdl-wg/document/JSDL-Introduction/en/
>
> - GLUE 1.1: the schemas are in
> http://infnforge.cnaf.infn.it/glueinfomodel/
> There's a good presentation on GLUE 1.1:
> http://www.dma.unina.it/~murli/SummerSchool/presentations/InformationModelin
> g-GLUE.ppt
>
> - GLUE 1.2:
> http://infnforge.cnaf.infn.it/glueinfomodel/
> The latest draft can be found under:
> http://infnforge.cnaf.infn.it/glueinfomodel/uploads/Spec/GLUEInfoModel_1_2_d
> raft_8.pdf
> There is a very good presentation at:
> http://infnforge.cnaf.infn.it/cdsagenda//askArchive.php?base=agenda&categ=a0
> 56&id=a056s0t1/transparencies
>
> Regards,
>
> Fred Maciel
>
>
>
>
>
> ------------------------------------------------------------------------
>
> // ==================================================================
> // 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"
> "<OrgID>:<LocalID> \n"
> "Where <OrgID> and <LocalID> are separated by a colon ':', "
> "and where <OrgID> 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 <Schema Name>_<Class Name> structure of "
> "Schema class names.) In addition, to ensure uniqueness "
> "<OrgID> must not contain a colon (':'). When using this "
> "algorithm, the first colon to appear in InstanceID must "
> "appear between <OrgID> and <LocalID>. \n"
> "<LocalID> 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 <OrgID> 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"
> "<OrgID>:<LocalID> \n"
> "Where <OrgID> and <LocalID> are separated by a colon ':', "
> "and where <OrgID> 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 <Schema "
> "Name>_<Class Name> structure of Schema class names.) In "
> "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
> "colon (':'). When using this algorithm, the first colon to "
> "appear in InstanceID MUST appear between <OrgID> and "
> "<LocalID>. \n"
> "<LocalID> 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 <OrgID> 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: <Major "
> "Number>.<Minor Number>.<Revision> or <Major Number>.<Minor "
> "Number>.<Revision Letter>."),
> 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"
> "<OrgID>:<LocalID> \n"
> "Where <OrgID> and <LocalID> are separated by a colon ':', "
> "and where <OrgID> 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 <Schema "
> "Name>_<Class Name> structure of Schema class names.) In "
> "addition, to ensure uniqueness <OrgID> must not contain a "
> "colon (':'). When using this algorithm, the first colon to "
> "appear in InstanceID must appear between <OrgID> and "
> "<LocalID>. \n"
> "\n"
> "<LocalID> 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"
> "<OrgID>:<LocalID> \n"
> "Where <OrgID> and <LocalID> are separated by a colon (:), "
> "and where <OrgID> 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 <Schema Name>_<Class Name> structure of Schema class "
> "names.) In addition, to ensure uniqueness, <OrgID> must not "
> "contain a colon (:). When using this algorithm, the first "
> "colon to appear in InstanceID must appear between <OrgID> "
> "and <LocalID>. \n"
> "<LocalID> 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 <OrgID> 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;
> };
More information about the ogsa-wg
mailing list