292 lines
14 KiB
Plaintext

// Copyright (c) 2005 DMTF. All rights reserved.
// <change cr="SysDevCR00711.001" type ="change">Update of
// descriptions based on Tech Edit review.</
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// <change cr="ArchCR00089.003" type="add">Add PUnit qualifier values
// to Units qualifier values.</change>
// ==================================================================
// CIM_Job
// ==================================================================
[Abstract, Version ( "2.10.0" ),
UMLPackagePath ( "CIM::Core::CoreElements" ),
Description (
"A Job is a LogicalElement that represents an executing unit of "
"work, such as a script or a print job. A Job is distinct from "
"a Process in that a Job can be scheduled or queued, and its "
"execution is not limited to a single system." )]
class CIM_Job : CIM_LogicalElement {
[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 ),
PUnit ( "percent" )]
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;
[Deprecated { "CIM_ConcreteJob.RequestStateChange()" },
Description (
"KillJob is being deprecated because there is no "
"distinction made between an orderly shutdown and an "
"immediate kill. CIM_ConcreteJob.RequestStateChange() "
"provides \'Terminate\' and \'Kill\' options to allow "
"this distinction. \n"
"A method to kill this job and any underlying processes, "
"and to remove any \'dangling\' associations." ),
ValueMap { "0", "1", "2", "3", "4", "6", "7", "..",
"32768..65535" },
Values { "Success", "Not Supported", "Unknown", "Timeout",
"Failed", "Access Denied", "Not Found", "DMTF Reserved",
"Vendor Specific" }]
uint32 KillJob(
[IN, Description (
"Indicates whether or not the Job should be "
"automatically deleted upon termination. This "
"parameter takes precedence over the property, "
"DeleteOnCompletion." )]
boolean DeleteOnKill);
};